From nobody Mon Mar 3 00:06: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 4Z5fHb2nLPz59TYH; Mon, 03 Mar 2025 00:06:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z5fHb1Jkcz3wJK; Mon, 03 Mar 2025 00:06:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740960395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4LuLoKM1MpZ2lb7fORLBjqSGiw07okgScjfOQe8ZZ18=; b=Ol6x1V0WvImbADlkhpYOlhwZ7maPQ2PuuWicj2Y4c3sZ18pUX0pISSJ7QiTjYzdpHwpvP7 qz5zfKXQdAVst/DPcgtB1Y4GShpOH+Y2bkhVQHF6Q6jsu6E/sDqfjZINFMRpGDy7trupUo FiyBpSWyfuKg4jePJP5f9LAi7aC6M0OXArRPX+WR9wKUAZzIUOH/x2NgcbAIjiF1q4Hre8 GxiuRV8vUMjhEoCbreLKs1kRubPDRobcKM29UOoGnWAy5PUflIYpsdUhy892BvPa+CSlfK VPmqDpLR4G7I7lLLR4jZRmDJkYSjXqcPLzr78/A1ab6wS7BPb6KoYSsg+z0Oyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740960395; a=rsa-sha256; cv=none; b=YvzURsemVPM7WytH++dVoVSON/IihhTyGX0nKBDviPo1seTskU/34U2IhP2jo7XHp2rZ+B Ay6mAJAYuwh2rpftpaAGfDPg+3W5f13cK3GLr9i3gPr08ivqC0w/FvBLOnYfedqHCP/rZR YlbiWtnk6wSyNYuuKZRk3snNQJFMww2C8OI1Y4cCUf2xEjvfFnEH34FXbUdFMqtnbqPR3g LvIesU443JpwyA+Tn05bgB2R4aFF7yMyiUoMum/nBgCUjzdJYQbuYlo+q9gScbp4qQ/kRc G59Oc+Txm6Ot9eKD7ktUuZV1Xqp8kLZserA9ncLEyv5bzS98k9C1IspEadaRIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740960395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4LuLoKM1MpZ2lb7fORLBjqSGiw07okgScjfOQe8ZZ18=; b=EOAUKjhfI4g4+VXHoBTd02qq0+tXnJEpz+2toPZa/5lLbp0m68aEtXrYBVqk3G4vOipvM7 STpSHbI4TB1qQrwUX3AMapsKMFK8upSaH0dEoTZyoBgjKWPIS6rj9r/speEu6LYY+sttuP T/a8MH8ESSfNvflklxxOnNlLjsZ3Da1beVB6So34Zh+16t/2ab50KQVBNVzk2od0RIGO7f MiAKvinRm7AWIlQx8T8t38QXvj8+WSraFS3qyitYbO8M+3fdU3LdYFApZuNxlMPyw1eczG nbQZVIK/3UiHCNMf0Cnl51R2gjLnDyUfexScLl+2bJ2nJ+Fp6mh+8smj4jRkhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z5fHb0rRYz7ss; Mon, 03 Mar 2025 00:06: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 52306Zu3098891; Mon, 3 Mar 2025 00:06:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52306YTj098888; Mon, 3 Mar 2025 00:06:34 GMT (envelope-from git) Date: Mon, 3 Mar 2025 00:06:34 GMT Message-Id: <202503030006.52306YTj098888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 991dbf9f4327 - main - vm_page: drop page_iter_lookup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 991dbf9f4327bfff0098e472f9395d889c4a546c Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=991dbf9f4327bfff0098e472f9395d889c4a546c commit 991dbf9f4327bfff0098e472f9395d889c4a546c Author: Doug Moore AuthorDate: 2025-03-03 00:05:02 +0000 Commit: Doug Moore CommitDate: 2025-03-03 00:05:02 +0000 vm_page: drop page_iter_lookup The functions vm_page_iter_lookup and vm_page_iter_lookup_ge are just wrappers around vm_radix_iter_lookup and vm_radix_iter_lookup_ge, respectively. They server no real purpose, so drop them and use the vm_radix versions everywhere. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49203 --- sys/vm/device_pager.c | 5 +++-- sys/vm/swap_pager.c | 12 ++++++------ sys/vm/vm_kern.c | 4 ++-- sys/vm/vm_object.c | 8 ++++---- sys/vm/vm_page.c | 31 ------------------------------- sys/vm/vm_page.h | 2 -- 6 files changed, 15 insertions(+), 47 deletions(-) diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 24241d118c7a..0691d43a5946 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -267,7 +268,7 @@ cdev_pager_free_page(vm_object_t object, vm_page_t m) struct pctrie_iter pages; vm_page_iter_init(&pages, object); - vm_page_iter_lookup(&pages, m->pindex); + vm_radix_iter_lookup(&pages, m->pindex); cdev_mgtdev_pager_free_page(&pages, m); } else if (object->type == OBJT_DEVICE) dev_pager_free_page(object, m); @@ -292,7 +293,7 @@ cdev_mgtdev_pager_free_pages(vm_object_t object) vm_page_iter_init(&pages, object); VM_OBJECT_WLOCK(object); retry: - for (m = vm_page_iter_lookup_ge(&pages, 0); m != NULL; + for (m = vm_radix_iter_lookup_ge(&pages, 0); m != NULL; m = vm_radix_iter_step(&pages)) { if (!vm_page_busy_acquire(m, VM_ALLOC_WAITFAIL)) { pctrie_iter_reset(&pages); diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index dbe0b6710367..0dee95fb2c5e 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1966,7 +1966,7 @@ swap_pager_swapoff_object(struct swdevt *sp, vm_object_t object) * found page has pending operations, sleep and restart * the scan. */ - m = vm_page_iter_lookup(&pages, blks.index + i); + m = vm_radix_iter_lookup(&pages, blks.index + i); if (m != NULL && (m->oflags & VPO_SWAPINPROG) != 0) { m->oflags |= VPO_SWAPSLEEP; VM_OBJECT_SLEEP(object, &object->handle, PSWP, @@ -2393,7 +2393,7 @@ swp_pager_meta_free(vm_object_t object, vm_pindex_t pindex, vm_pindex_t count, continue; swp_pager_update_freerange(&range, sb->d[i]); if (freed != NULL) { - m = vm_page_iter_lookup(&pages, blks.index + i); + m = vm_radix_iter_lookup(&pages, blks.index + i); if (m == NULL || vm_page_none_valid(m)) fc++; } @@ -2511,7 +2511,7 @@ swap_pager_seek_data(vm_object_t object, vm_pindex_t pindex) VM_OBJECT_ASSERT_RLOCKED(object); vm_page_iter_init(&pages, object); - m = vm_page_iter_lookup_ge(&pages, pindex); + m = vm_radix_iter_lookup_ge(&pages, pindex); if (m != NULL && pages.index == pindex && vm_page_any_valid(m)) return (pages.index); swblk_iter_init_only(&blks, object); @@ -2546,7 +2546,7 @@ swap_pager_seek_hole(vm_object_t object, vm_pindex_t pindex) VM_OBJECT_ASSERT_RLOCKED(object); vm_page_iter_init(&pages, object); swblk_iter_init_only(&blks, object); - while (((m = vm_page_iter_lookup(&pages, pindex)) != NULL && + while (((m = vm_radix_iter_lookup(&pages, pindex)) != NULL && vm_page_any_valid(m)) || ((sb = swblk_iter_lookup(&blks, pindex)) != NULL && sb->d[pindex % SWAP_META_PAGES] != SWAPBLK_NONE)) @@ -2591,7 +2591,7 @@ swap_pager_scan_all_shadowed(vm_object_t object) pv = ps = pi = backing_offset_index - 1; for (;;) { if (pi == pv) { - p = vm_page_iter_lookup_ge(&backing_pages, pv + 1); + p = vm_radix_iter_lookup_ge(&backing_pages, pv + 1); pv = p != NULL ? p->pindex : backing_object->size; } if (pi == ps) @@ -2633,7 +2633,7 @@ swap_pager_scan_all_shadowed(vm_object_t object) * object and we might as well give up now. */ new_pindex = pi - backing_offset_index; - pp = vm_page_iter_lookup(&pages, new_pindex); + pp = vm_radix_iter_lookup(&pages, new_pindex); /* * The valid check here is stable due to object lock being diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 2b85dbde1dd6..8945061aabdc 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -650,14 +650,14 @@ _kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size) end = offset + size; VM_OBJECT_WLOCK(object); vm_page_iter_init(&pages, object); - m = vm_page_iter_lookup(&pages, atop(offset)); + m = vm_radix_iter_lookup(&pages, atop(offset)); domain = vm_page_domain(m); if (__predict_true((m->oflags & VPO_KMEM_EXEC) == 0)) arena = vm_dom[domain].vmd_kernel_arena; else arena = vm_dom[domain].vmd_kernel_rwx_arena; for (; offset < end; offset += PAGE_SIZE, - m = vm_page_iter_lookup(&pages, atop(offset))) { + m = vm_radix_iter_lookup(&pages, atop(offset))) { vm_page_xbusy_claim(m); vm_page_unwire_noq(m); vm_page_iter_free(&pages, m); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 0f0f8cc6f5bf..9269103d8d91 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1577,7 +1577,7 @@ vm_object_split(vm_map_entry_t entry) vm_page_iter_limit_init(&pages, orig_object, offidxstart + size); retry: pctrie_iter_reset(&pages); - for (m = vm_page_iter_lookup_ge(&pages, offidxstart); m != NULL; + for (m = vm_radix_iter_lookup_ge(&pages, offidxstart); m != NULL; m = vm_radix_iter_step(&pages)) { /* * We must wait for pending I/O to complete before we can @@ -1681,7 +1681,7 @@ vm_object_collapse_scan_wait(struct pctrie_iter *pages, vm_object_t object, } VM_OBJECT_WLOCK(backing_object); vm_page_iter_init(pages, backing_object); - return (vm_page_iter_lookup_ge(pages, 0)); + return (vm_radix_iter_lookup_ge(pages, 0)); } static void @@ -1702,7 +1702,7 @@ vm_object_collapse_scan(vm_object_t object) * Our scan */ vm_page_iter_init(&pages, backing_object); - for (p = vm_page_iter_lookup_ge(&pages, 0); p != NULL; p = next) { + for (p = vm_radix_iter_lookup_ge(&pages, 0); p != NULL; p = next) { /* * Check for busy page */ @@ -1997,7 +1997,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, vm_page_iter_limit_init(&pages, object, end); again: pctrie_iter_reset(&pages); - for (p = vm_page_iter_lookup_ge(&pages, start); p != NULL; + for (p = vm_radix_iter_lookup_ge(&pages, start); p != NULL; p = vm_radix_iter_step(&pages)) { /* * Skip invalid pages if asked to do so. Try to avoid acquiring diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index e9c371e62d70..4d9a57544487 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1836,21 +1836,6 @@ vm_page_iter_limit_init(struct pctrie_iter *pages, vm_object_t object, vm_radix_iter_limit_init(pages, &object->rtree, limit); } -/* - * vm_page_iter_lookup: - * - * Returns the page associated with the object/offset pair specified, and - * stores the path to its position; if none is found, NULL is returned. - * - * The iter pctrie must be locked. - */ -vm_page_t -vm_page_iter_lookup(struct pctrie_iter *pages, vm_pindex_t pindex) -{ - - return (vm_radix_iter_lookup(pages, pindex)); -} - /* * vm_page_lookup_unlocked: * @@ -1935,22 +1920,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t pindex) return (m); } -/* - * vm_page_iter_lookup_ge: - * - * Returns the page associated with the object with least pindex - * greater than or equal to the parameter pindex, or NULL. Initializes the - * iterator to point to that page. - * - * The iter pctrie must be locked. - */ -vm_page_t -vm_page_iter_lookup_ge(struct pctrie_iter *pages, vm_pindex_t pindex) -{ - - return (vm_radix_iter_lookup_ge(pages, pindex)); -} - /* * Returns the given page's successor (by pindex) within the object if it is * resident; if none is found, NULL is returned. diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 05c16212a995..1cac80c6a8ef 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -645,7 +645,6 @@ void vm_page_deactivate_noreuse(vm_page_t); void vm_page_dequeue(vm_page_t m); void vm_page_dequeue_deferred(vm_page_t m); vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t); -vm_page_t vm_page_iter_lookup_ge(struct pctrie_iter *, vm_pindex_t); void vm_page_free_invalid(vm_page_t); vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr); @@ -656,7 +655,6 @@ void vm_page_invalid(vm_page_t m); void vm_page_iter_free(struct pctrie_iter *pages, vm_page_t m); void vm_page_iter_init(struct pctrie_iter *, vm_object_t); void vm_page_iter_limit_init(struct pctrie_iter *, vm_object_t, vm_pindex_t); -vm_page_t vm_page_iter_lookup(struct pctrie_iter *, vm_pindex_t); bool vm_page_iter_remove(struct pctrie_iter *pages, vm_page_t m); bool vm_page_iter_rename(struct pctrie_iter *old_pages, vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex); From nobody Mon Mar 3 00:08: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 4Z5fKt4n66z59Tkc; Mon, 03 Mar 2025 00:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z5fKt01dlz40KP; Mon, 03 Mar 2025 00: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=1740960514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pcRkdxmP2tjkkhmejP/xqrRf1clpssJFKBqOWIJJzbY=; b=j3zCH3Xock36e7MVvKrKb16vWGKiqeICHvWKzduszqXnGRxW1Y9r/goxfIwV3uvAyWf5Ef 7RpXxsPTuoguzOqHNmDXqso78uT242zmV2VA9xn9kSTnja4CTKJer/HQyDFAdUqkozfay0 DupqLVEdZlOm6TpnEBuxrvP2LKgTdCD9issmftDi1i25x/TNdL35jIrIJtgnsV7M56t80H tdnHV54YRST44pTESZ/AwG4glC7la1Jo1MNJ0jmcDBJSdnecz1hBH4snLj0l0xKPlm1DUA BvEhZSmChzOaD7KRyv0uB2aiWkIjpfRvW/C1X91sgN5DN7d9umxENjbpK/q/Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740960514; a=rsa-sha256; cv=none; b=wTwzpS02buVsY1QDF+KDjOrHdu80HCBngFFdLJeewV8tI2CXTARr7JHfq/J/1VZDsU2Iu9 vCq1QNlayJ40aZJr1DmuZFh0kuW5w0oc+ZsMPlnRIa4X6XV+oQopm18m0smEvwsPoSVoiF wWn+cm4cKq7aoAeGn8m1RsB1I+R37boz/IL0j+9XooyDTtCLyKxfISvMF15p3ww7UgUYMy w29UZt0YuWihPy6KYoBQ+wdCtej8BMGtkf/TIS5JEL0JhYRVsiHBYZ2hJHr6J4fXgVUhQn eVdtLy4LTUY6G9B2KN205NUbcq7NzDGHhsQ88UDkvLYaR28UC05Mf7LOlt20WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740960514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pcRkdxmP2tjkkhmejP/xqrRf1clpssJFKBqOWIJJzbY=; b=J8S9DozQRLo3Zx0hbotoGMQ9nSAX7U0QiK99+lKPEkYW3rG6UJ4UIAEt0dRhbRAKlouYXl Spuc9gZc7hMZ3yn9ZzKRSxs2pY5uTNCn7MPhVu1unPV5XKSdWJgAz57q9sM4zB2Ex6b7U7 7QcgHAi4uDMMHE5hkTZJAzt/WszGFfFcwRvzf6lOsBhzcoq3hkM7dKjBxm6FVIXQveiXtU k9rUTzMPS9MtLQUrOuKAHLqTQd7p2W0z5ueS6E3R34WglbwdWH6VYNhzvAb0uAoW3PmnB8 VU5wkHN2Y2g5bjSgUDfQP2ch3/BxGzEQxjzFmahGqEag+qJ7zwKMPMciMgufJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z5fKs66K9z7Zj; Mon, 03 Mar 2025 00:08: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 52308Xjp099620; Mon, 3 Mar 2025 00:08:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52308XWa099617; Mon, 3 Mar 2025 00:08:33 GMT (envelope-from git) Date: Mon, 3 Mar 2025 00:08:33 GMT Message-Id: <202503030008.52308XWa099617@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: bb9c3f5121b4 - main - amdiommu: fix typo in the bit description List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bb9c3f5121b42eeda2972d282a54d4eff800297c Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bb9c3f5121b42eeda2972d282a54d4eff800297c commit bb9c3f5121b42eeda2972d282a54d4eff800297c Author: Konstantin Belousov AuthorDate: 2025-03-03 00:06:30 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-03 00:08:29 +0000 amdiommu: fix typo in the bit description Noted by: alc Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/x86/iommu/amd_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/x86/iommu/amd_reg.h b/sys/x86/iommu/amd_reg.h index 53b8b0cb42fc..fab6d03ea64a 100644 --- a/sys/x86/iommu/amd_reg.h +++ b/sys/x86/iommu/amd_reg.h @@ -263,7 +263,7 @@ * IOMMU Extended Feature2 register fields. * All currently defined bits are RO. */ -#define AMDIOMMU_EFR2_TMPMSUP 0x0000000000000004ull /* Tired Mem Migration */ +#define AMDIOMMU_EFR2_TMPMSUP 0x0000000000000004ull /* Tiered Mem Migration */ #define AMDIOMMU_EFR2_GCR3TRPM 0x0000000000000008ull /* GPA based GCR3 pointer in DTE */ #define AMDIOMMU_EFR2_GAPPID 0x0000000000000010ull /* masking of GAPIC PPI */ #define AMDIOMMU_EFR2_SNPAVIC_MASK 0x00000000000000e0ull /* SNP-enabled Adv intr features */ From nobody Mon Mar 3 07:55: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 4Z5rhP0wgSz5nwF0; Mon, 03 Mar 2025 07:55:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z5rhP0Pnvz47hs; Mon, 03 Mar 2025 07:55:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740988517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OK/8X5gYH487//AEFeqjw6BtSi2msqSv2t+vv91JMhU=; b=ReS7O8gtkJ2K6P34Wt63TEh4Iyv6MxkYsW5aUG54G+ajOlaeLFL+gB0rbyt3VzxHJzSn5A 3VJK1U10q79JS57kAt6sHD4kpCNZ6u5FW2Jj6bO7bXtobZPb/IA9bRbfgURW6eFDGVVdpe 6QhHEkCKduWr7Hwediu3Xuc2SJN1evl7cLXtmlC2uCJ3jOkNUepcOo+agha/xMq5A46xnj X3vXYcj+DqIVCrwnDU1nAlGN1mhFP04G+u7JZCmkbBZ3cFZLMBcgQfRSglLIvolu9u09Bd wUNTTQVxWPZNeMyRrKvzIoMD+dqO5MlM5B56Inn0+CJfZBu9jCIykTlLjjJS0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740988517; a=rsa-sha256; cv=none; b=c+PM9zGWQlqLpOCZsqsuDJNVvOaE+H9f3RMMUnl02z+X9K7Di/lT0IevAquXeRGqC85+N3 t3sp6cDiHGkS3qgB89KIfoUkIxla4Y6glwKgcnGn/cmFfUu5up2aOPupfebvqnR+xvrkf6 ut0NhJQZGOBZqUdKY3yY1zs6C5lmD+PEYtvzWHp6bs4L6HiMza4IVIbxhwkPtbTS6LoBrx LovHypJjZjg34dOfenTiy+5NWHnr1MUQCBrASunnfpBrr10lZFvsqY02Xv4jFOscAfnWdY g+rl3lHFFbnKusqGQ+c8VZ1LfVAj+oKfg5V4tVYATvM2LVEHSACAskqrAtv5SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740988517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OK/8X5gYH487//AEFeqjw6BtSi2msqSv2t+vv91JMhU=; b=CGiAGzp/Icjdz98R5SQdrmwnSd7ZVfVqdZqtOpKO5wZYR6Jl8RmvRQ4k5MM0K6Y7ZKIZkb COBQp/PjVb5z1LNGmlQgWjq2eFUov3zsv5lY9P73WBFlsSR6CRUkV7GhpOwnkjdNa7dzu1 C/cZuL+M3aHPAsZvdxQaOVvef3KMYgIfUN+i5ptXxLfAXgCnJ801LhUoNAuEsgskSilCcp oOqJhXhOzfjOoPoynWQmLp0+55J+l5Zciv9cNbgBR1RBeFB8N7PS6ArLMgiXuk/pDOs45Y xT1NAwa2kRkS4EBOB6akKLguuhWyCo3p+Lo9t8hYUJ5nzjzMlE7kxcgv/dkiDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z5rhN6sQgzfjM; Mon, 03 Mar 2025 07:55: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 5237tGkI074710; Mon, 3 Mar 2025 07:55:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5237tGA7074707; Mon, 3 Mar 2025 07:55:16 GMT (envelope-from git) Date: Mon, 3 Mar 2025 07:55:16 GMT Message-Id: <202503030755.5237tGA7074707@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: c46af893cd7a - main - tests: Require python3 when using Scapy List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c46af893cd7aaff322b6f867539bc8fe5bcde6f9 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=c46af893cd7aaff322b6f867539bc8fe5bcde6f9 commit c46af893cd7aaff322b6f867539bc8fe5bcde6f9 Author: Jose Luis Duran AuthorDate: 2025-03-03 07:52:33 +0000 Commit: Jose Luis Duran CommitDate: 2025-03-03 07:52:33 +0000 tests: Require python3 when using Scapy python3 is a symbolic link that points to the current python 3.X version. It is possible for a system to have python (python 3.X) without the python3 (symlink) package. Test scripts that use Scapy are invoked using python3, so add it as a required program. Reviewed by: ngie, asomers Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D49007 --- tests/sys/net/if_bridge_test.sh | 4 ++-- tests/sys/net/if_vlan.sh | 2 +- tests/sys/netinet/divert.sh | 4 ++-- tests/sys/netinet/forward.sh | 8 ++++---- tests/sys/netinet/redirect.sh | 2 +- tests/sys/netinet6/divert.sh | 2 +- tests/sys/netinet6/exthdr.sh | 2 +- tests/sys/netinet6/forward6.sh | 12 ++++++------ tests/sys/netinet6/frag6/frag6.subr | 2 +- tests/sys/netinet6/mld.sh | 2 +- tests/sys/netinet6/ndp.sh | 2 +- tests/sys/netinet6/redirect.sh | 2 +- tests/sys/netinet6/scapyi386.sh | 2 +- tests/sys/netpfil/common/forward.sh | 2 +- tests/sys/netpfil/common/tos.sh | 2 +- tests/sys/netpfil/pf/dup.sh | 2 +- tests/sys/netpfil/pf/ether.sh | 4 ++-- tests/sys/netpfil/pf/forward.sh | 4 ++-- tests/sys/netpfil/pf/fragmentation_compat.sh | 8 ++++---- tests/sys/netpfil/pf/fragmentation_no_reassembly.sh | 6 +++--- tests/sys/netpfil/pf/fragmentation_pass.sh | 18 +++++++++--------- tests/sys/netpfil/pf/get_state.sh | 2 +- tests/sys/netpfil/pf/icmp.sh | 2 +- tests/sys/netpfil/pf/icmp6.sh | 2 +- tests/sys/netpfil/pf/killstate.sh | 16 ++++++++-------- tests/sys/netpfil/pf/max_states.sh | 2 +- tests/sys/netpfil/pf/modulate.sh | 4 ++-- tests/sys/netpfil/pf/pass_block.sh | 2 +- tests/sys/netpfil/pf/pflog.sh | 2 +- tests/sys/netpfil/pf/pflow.sh | 8 ++++---- tests/sys/netpfil/pf/pfsync.sh | 12 ++++++------ tests/sys/netpfil/pf/route_to.sh | 8 ++++---- tests/sys/netpfil/pf/rtable.sh | 4 ++-- tests/sys/netpfil/pf/scrub.sh | 16 ++++++++-------- tests/sys/netpfil/pf/scrub_compat.sh | 16 ++++++++-------- tests/sys/netpfil/pf/scrub_pass.sh | 12 ++++++------ tests/sys/netpfil/pf/set_tos.sh | 4 ++-- tests/sys/netpfil/pf/src_track.sh | 8 ++++---- tests/sys/netpfil/pf/syncookie.sh | 6 +++--- tests/sys/netpfil/pf/tcp.sh | 2 +- 40 files changed, 110 insertions(+), 110 deletions(-) diff --git a/tests/sys/net/if_bridge_test.sh b/tests/sys/net/if_bridge_test.sh index 66656be1d84f..46ebb17edbdc 100755 --- a/tests/sys/net/if_bridge_test.sh +++ b/tests/sys/net/if_bridge_test.sh @@ -271,7 +271,7 @@ span_head() { atf_set descr 'Bridge span test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } span_body() @@ -420,7 +420,7 @@ stp_validation_head() { atf_set descr 'Check STP validation' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } stp_validation_body() diff --git a/tests/sys/net/if_vlan.sh b/tests/sys/net/if_vlan.sh index 41dac6222cbb..424eac705b94 100755 --- a/tests/sys/net/if_vlan.sh +++ b/tests/sys/net/if_vlan.sh @@ -257,7 +257,7 @@ bpf_pcp_head() { atf_set descr 'Set VLAN PCP through BPF' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } bpf_pcp_body() diff --git a/tests/sys/netinet/divert.sh b/tests/sys/netinet/divert.sh index c3b1896b995e..d50620d94a09 100755 --- a/tests/sys/netinet/divert.sh +++ b/tests/sys/netinet/divert.sh @@ -41,7 +41,7 @@ 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 scapy + atf_set require.progs python3 scapy } ipdivert_ip_output_remote_success_body() { @@ -96,7 +96,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 scapy + atf_set require.progs python3 scapy } ipdivert_ip_input_local_success_body() { diff --git a/tests/sys/netinet/forward.sh b/tests/sys/netinet/forward.sh index 3ae83eb3edc5..be69e91b6137 100755 --- a/tests/sys/netinet/forward.sh +++ b/tests/sys/netinet/forward.sh @@ -34,7 +34,7 @@ fwd_ip_icmp_iface_fast_success_head() { atf_set descr 'Test valid IPv4 on-stick fastforwarding to iface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip_icmp_iface_fast_success_body() { @@ -90,7 +90,7 @@ fwd_ip_icmp_gw_fast_success_head() { atf_set descr 'Test valid IPv4 on-stick fastforwarding to gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip_icmp_gw_fast_success_body() { @@ -150,7 +150,7 @@ fwd_ip_icmp_iface_slow_success_head() { atf_set descr 'Test valid IPv4 on-stick "slow" forwarding to iface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip_icmp_iface_slow_success_body() { @@ -204,7 +204,7 @@ fwd_ip_icmp_gw_slow_success_head() { atf_set descr 'Test valid IPv4 on-stick "slow" forwarding to gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip_icmp_gw_slow_success_body() { diff --git a/tests/sys/netinet/redirect.sh b/tests/sys/netinet/redirect.sh index 4a069d515bb0..ad5b562da57a 100755 --- a/tests/sys/netinet/redirect.sh +++ b/tests/sys/netinet/redirect.sh @@ -34,7 +34,7 @@ valid_redirect_head() { atf_set descr 'Test valid IPv4 redirect' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } valid_redirect_body() { diff --git a/tests/sys/netinet6/divert.sh b/tests/sys/netinet6/divert.sh index 788f539dfe9a..e2dc3e26d97e 100755 --- a/tests/sys/netinet6/divert.sh +++ b/tests/sys/netinet6/divert.sh @@ -41,7 +41,7 @@ ipdivert_ip6_output_remote_success_head() { atf_set descr 'Test valid IPv6 redirect' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } ipdivert_ip6_output_remote_success_body() { diff --git a/tests/sys/netinet6/exthdr.sh b/tests/sys/netinet6/exthdr.sh index 350307f13eae..3d866d85ea83 100755 --- a/tests/sys/netinet6/exthdr.sh +++ b/tests/sys/netinet6/exthdr.sh @@ -32,7 +32,7 @@ exthdr_head() { atf_set descr 'Test IPv6 extension header code paths' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } exthdr_body() { diff --git a/tests/sys/netinet6/forward6.sh b/tests/sys/netinet6/forward6.sh index 40d17837d6f2..e4b027bf281a 100755 --- a/tests/sys/netinet6/forward6.sh +++ b/tests/sys/netinet6/forward6.sh @@ -34,7 +34,7 @@ fwd_ip6_gu_icmp_iface_fast_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to interface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_iface_fast_success_body() { @@ -104,7 +104,7 @@ fwd_ip6_gu_icmp_gw_gu_fast_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to GU gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_gw_gu_fast_success_body() { @@ -178,7 +178,7 @@ fwd_ip6_gu_icmp_gw_ll_fast_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to LL gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_gw_ll_fast_success_body() { @@ -253,7 +253,7 @@ fwd_ip6_gu_icmp_iface_slow_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to interface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_iface_slow_success_body() { @@ -322,7 +322,7 @@ fwd_ip6_gu_icmp_gw_gu_slow_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to GU gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_gw_gu_slow_success_body() { @@ -397,7 +397,7 @@ fwd_ip6_gu_icmp_gw_ll_slow_success_head() { atf_set descr 'Test valid IPv6 global unicast fast-forwarding to LL gw' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } fwd_ip6_gu_icmp_gw_ll_slow_success_body() { diff --git a/tests/sys/netinet6/frag6/frag6.subr b/tests/sys/netinet6/frag6/frag6.subr index 70e7386b60cc..238c9619c398 100644 --- a/tests/sys/netinet6/frag6/frag6.subr +++ b/tests/sys/netinet6/frag6/frag6.subr @@ -31,7 +31,7 @@ frag6_head() { atf_set descr 'Test IPv6 fragmentation code' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } frag6_body() diff --git a/tests/sys/netinet6/mld.sh b/tests/sys/netinet6/mld.sh index 7229aa34dc52..d98624daedf5 100755 --- a/tests/sys/netinet6/mld.sh +++ b/tests/sys/netinet6/mld.sh @@ -32,7 +32,7 @@ mldraw01_head() { atf_set descr 'Test for correct Ethernet Destination MAC address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } mldraw01_body() { diff --git a/tests/sys/netinet6/ndp.sh b/tests/sys/netinet6/ndp.sh index 378759eb9ba4..bac9764ee3c9 100755 --- a/tests/sys/netinet6/ndp.sh +++ b/tests/sys/netinet6/ndp.sh @@ -134,7 +134,7 @@ atf_test_case "ndp_slaac_default_route" "cleanup" ndp_slaac_default_route_head() { atf_set descr 'Test default route installation via SLAAC' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } ndp_slaac_default_route_body() { diff --git a/tests/sys/netinet6/redirect.sh b/tests/sys/netinet6/redirect.sh index 64efe7339ffd..aa0731d89101 100644 --- a/tests/sys/netinet6/redirect.sh +++ b/tests/sys/netinet6/redirect.sh @@ -34,7 +34,7 @@ valid_redirect_head() { atf_set descr 'Test valid IPv6 redirect' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } valid_redirect_body() { diff --git a/tests/sys/netinet6/scapyi386.sh b/tests/sys/netinet6/scapyi386.sh index bb9ee4cfcd2a..2d91f25dd01e 100755 --- a/tests/sys/netinet6/scapyi386.sh +++ b/tests/sys/netinet6/scapyi386.sh @@ -32,7 +32,7 @@ scapyi386_head() { atf_set descr 'Test for correct Ethernet Destination MAC address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } scapyi386_body() { diff --git a/tests/sys/netpfil/common/forward.sh b/tests/sys/netpfil/common/forward.sh index 939ce55f2d33..fa1f97aa0390 100644 --- a/tests/sys/netpfil/common/forward.sh +++ b/tests/sys/netpfil/common/forward.sh @@ -33,7 +33,7 @@ v4_head() { atf_set descr 'Basic forwarding test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v4_body() diff --git a/tests/sys/netpfil/common/tos.sh b/tests/sys/netpfil/common/tos.sh index 39f756be8fe9..3b689d7f67d0 100644 --- a/tests/sys/netpfil/common/tos.sh +++ b/tests/sys/netpfil/common/tos.sh @@ -33,7 +33,7 @@ tos_head() { atf_set descr 'set-tos test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } tos_body() diff --git a/tests/sys/netpfil/pf/dup.sh b/tests/sys/netpfil/pf/dup.sh index 68631251144a..64a08083bca0 100644 --- a/tests/sys/netpfil/pf/dup.sh +++ b/tests/sys/netpfil/pf/dup.sh @@ -33,7 +33,7 @@ dup_to_head() { atf_set descr 'dup-to test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } dup_to_body() diff --git a/tests/sys/netpfil/pf/ether.sh b/tests/sys/netpfil/pf/ether.sh index 104baf468aa4..f0fdce50a7d3 100644 --- a/tests/sys/netpfil/pf/ether.sh +++ b/tests/sys/netpfil/pf/ether.sh @@ -643,7 +643,7 @@ short_pkt_head() { atf_set descr 'Test overly short Ethernet packets' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } short_pkt_body() @@ -686,7 +686,7 @@ bridge_to_head() { atf_set descr 'Test bridge-to keyword' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } bridge_to_body() diff --git a/tests/sys/netpfil/pf/forward.sh b/tests/sys/netpfil/pf/forward.sh index 31abfad82c13..5d7d48a5dd9a 100644 --- a/tests/sys/netpfil/pf/forward.sh +++ b/tests/sys/netpfil/pf/forward.sh @@ -35,7 +35,7 @@ v4_head() atf_set require.user root # We need scapy to be installed for out test scripts to work - atf_set require.progs scapy + atf_set require.progs python3 scapy } v4_body() @@ -94,7 +94,7 @@ v6_head() { atf_set descr 'Basic IPv6 forwarding test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v6_body() diff --git a/tests/sys/netpfil/pf/fragmentation_compat.sh b/tests/sys/netpfil/pf/fragmentation_compat.sh index e9b89f5ff170..1f4550ebd69e 100644 --- a/tests/sys/netpfil/pf/fragmentation_compat.sh +++ b/tests/sys/netpfil/pf/fragmentation_compat.sh @@ -74,7 +74,7 @@ v6_head() { atf_set descr 'IPv6 fragmentation test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v6_body() @@ -230,7 +230,7 @@ overreplace_head() { atf_set descr 'ping fragment that overlaps fragment at index boundary and replace it' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overreplace_body() @@ -248,7 +248,7 @@ overindex_head() { atf_set descr 'ping fragment that overlaps the first fragment at index boundary' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overindex_body() @@ -266,7 +266,7 @@ overlimit_head() { atf_set descr 'ping fragment at index boundary that cannot be requeued' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overlimit_body() diff --git a/tests/sys/netpfil/pf/fragmentation_no_reassembly.sh b/tests/sys/netpfil/pf/fragmentation_no_reassembly.sh index fb5c15ac2ff8..7cab89f5debb 100644 --- a/tests/sys/netpfil/pf/fragmentation_no_reassembly.sh +++ b/tests/sys/netpfil/pf/fragmentation_no_reassembly.sh @@ -32,7 +32,7 @@ match_full_v4_head() { atf_set descr 'Matching non-fragmented IPv4 packets' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } match_full_v4_body() @@ -63,7 +63,7 @@ match_fragment_v4_head() { atf_set descr 'Matching fragmented IPv4 packets' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } match_fragment_v4_body() @@ -93,7 +93,7 @@ compat_override_v4_head() { atf_set descr 'Scrub rules override "set reassemble" for IPv4' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } compat_override_v4_body() diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index 9255e6f738cf..5deaba18301d 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -77,7 +77,7 @@ v6_head() { atf_set descr 'IPv6 fragmentation test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v6_body() @@ -305,7 +305,7 @@ overreplace_head() { atf_set descr 'ping fragment that overlaps fragment at index boundary and replace it' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overreplace_body() @@ -323,7 +323,7 @@ overindex_head() { atf_set descr 'ping fragment that overlaps the first fragment at index boundary' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overindex_body() @@ -341,7 +341,7 @@ overlimit_head() { atf_set descr 'ping fragment at index boundary that cannot be requeued' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overlimit_body() @@ -359,7 +359,7 @@ overhole_head() { atf_set descr 'ping fragment at index boundary which modifies pf hole counter' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } overhole_body() @@ -377,7 +377,7 @@ adjhole_head() { atf_set descr 'overlapping ping fragments which modifies pf hole counter' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } adjhole_body() @@ -443,7 +443,7 @@ no_df_head() { atf_set descr 'Test removing of DF flag' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } no_df_body() @@ -482,7 +482,7 @@ reassemble_slowpath_head() { atf_set descr 'Test reassembly on the slow path' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } reassemble_slowpath_body() @@ -611,7 +611,7 @@ dummynet_fragmented_head() { atf_set descr 'Test dummynet on NATed fragmented traffic' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } dummynet_fragmented_body() diff --git a/tests/sys/netpfil/pf/get_state.sh b/tests/sys/netpfil/pf/get_state.sh index 35adf64f6b11..eb2bc854c800 100644 --- a/tests/sys/netpfil/pf/get_state.sh +++ b/tests/sys/netpfil/pf/get_state.sh @@ -33,7 +33,7 @@ many_head() { atf_set descr 'Test retrieving many states' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } many_body() diff --git a/tests/sys/netpfil/pf/icmp.sh b/tests/sys/netpfil/pf/icmp.sh index f4c8ec5e5836..279e3c7a29d5 100644 --- a/tests/sys/netpfil/pf/icmp.sh +++ b/tests/sys/netpfil/pf/icmp.sh @@ -33,7 +33,7 @@ cve_2019_5598_head() { atf_set descr 'Test CVE-2019-5598' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } cve_2019_5598_body() diff --git a/tests/sys/netpfil/pf/icmp6.sh b/tests/sys/netpfil/pf/icmp6.sh index eb286e23ef4c..c55af906e3a6 100644 --- a/tests/sys/netpfil/pf/icmp6.sh +++ b/tests/sys/netpfil/pf/icmp6.sh @@ -33,7 +33,7 @@ zero_id_head() { atf_set descr 'Test ICMPv6 echo with ID 0 keep being blocked' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } zero_id_body() diff --git a/tests/sys/netpfil/pf/killstate.sh b/tests/sys/netpfil/pf/killstate.sh index 36743b1d8016..5d8e040d3cbb 100644 --- a/tests/sys/netpfil/pf/killstate.sh +++ b/tests/sys/netpfil/pf/killstate.sh @@ -47,7 +47,7 @@ v4_head() { atf_set descr 'Test killing states by IPv4 address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v4_body() @@ -110,7 +110,7 @@ v6_head() { atf_set descr 'Test killing states by IPv6 address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v6_body() @@ -177,7 +177,7 @@ label_head() { atf_set descr 'Test killing states by label' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } label_body() @@ -241,7 +241,7 @@ multilabel_head() { atf_set descr 'Test killing states with multiple labels by label' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } multilabel_body() @@ -321,7 +321,7 @@ gateway_head() { atf_set descr 'Test killing states by route-to/reply-to address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } gateway_body() @@ -462,7 +462,7 @@ interface_head() { atf_set descr 'Test killing states based on interface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } interface_body() @@ -518,7 +518,7 @@ id_head() { atf_set descr 'Test killing states by id' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } id_body() @@ -579,7 +579,7 @@ nat_head() { atf_set descr 'Test killing states by their NAT-ed IP address' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } nat_body() diff --git a/tests/sys/netpfil/pf/max_states.sh b/tests/sys/netpfil/pf/max_states.sh index 3548d838e3a6..1bf6814f9283 100755 --- a/tests/sys/netpfil/pf/max_states.sh +++ b/tests/sys/netpfil/pf/max_states.sh @@ -31,7 +31,7 @@ max_states_head() { atf_set descr 'Max states per rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } max_states_body() diff --git a/tests/sys/netpfil/pf/modulate.sh b/tests/sys/netpfil/pf/modulate.sh index 98d5df14a44d..1abe22cff391 100644 --- a/tests/sys/netpfil/pf/modulate.sh +++ b/tests/sys/netpfil/pf/modulate.sh @@ -31,7 +31,7 @@ modulate_v4_head() { atf_set descr 'IPv4 TCP sequence number modulation' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } modulate_v4_body() @@ -54,7 +54,7 @@ modulate_v6_head() { atf_set descr 'IPv6 TCP sequence number modulation' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } modulate_v6_body() diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index b8ad5a86b102..e955068d014b 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -232,7 +232,7 @@ urpf_head() { atf_set descr "Test unicast reverse path forwarding check" atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } urpf_body() diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index a315b88bd4c0..0758723c604d 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -34,7 +34,7 @@ malformed_head() { atf_set descr 'Test that we do not log malformed packets as passing' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } malformed_body() diff --git a/tests/sys/netpfil/pf/pflow.sh b/tests/sys/netpfil/pf/pflow.sh index f0552eb061da..1122096d2e31 100644 --- a/tests/sys/netpfil/pf/pflow.sh +++ b/tests/sys/netpfil/pf/pflow.sh @@ -85,7 +85,7 @@ state_defaults_head() { atf_set descr 'Test set state-defaults pflow' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } state_defaults_body() @@ -146,7 +146,7 @@ v6_head() { atf_set descr 'Test pflow over IPv6' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } v6_body() @@ -188,7 +188,7 @@ nat_head() { atf_set descr 'Test pflow export for NAT44' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } nat_body() @@ -239,7 +239,7 @@ rule_head() { atf_set descr 'Test per-rule pflow option' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } rule_body() diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 0f3505460b50..7f545b43a066 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -126,7 +126,7 @@ defer_head() { atf_set descr 'Defer mode pfsync test' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } defer_body() @@ -907,7 +907,7 @@ route_to_1301_head() { atf_set descr 'Test route-to with pfsync version 13.1' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } route_to_1301_body() @@ -947,7 +947,7 @@ route_to_1301_bad_ruleset_head() { atf_set descr 'Test route-to with pfsync version 13.1 and incompatible ruleset' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } route_to_1301_bad_ruleset_body() @@ -997,7 +997,7 @@ route_to_1301_bad_rpool_head() { atf_set descr 'Test route-to with pfsync version 13.1 and different interface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } route_to_1301_bad_rpool_body() @@ -1045,7 +1045,7 @@ route_to_1400_bad_ruleset_head() { atf_set descr 'Test route-to with pfsync version 14.0' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } route_to_1400_bad_ruleset_body() @@ -1085,7 +1085,7 @@ route_to_1400_bad_ifname_head() { atf_set descr 'Test route-to with pfsync version 14.0' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } route_to_1400_bad_ifname_body() diff --git a/tests/sys/netpfil/pf/route_to.sh b/tests/sys/netpfil/pf/route_to.sh index 06a320f5fac2..0354d1f59306 100644 --- a/tests/sys/netpfil/pf/route_to.sh +++ b/tests/sys/netpfil/pf/route_to.sh @@ -256,7 +256,7 @@ icmp_nat_head() { atf_set descr 'Test that ICMP packets are correct for route-to + NAT' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } icmp_nat_body() @@ -516,7 +516,7 @@ ifbound_reply_to_head() { atf_set descr 'Test that reply-to states bind to the expected interface' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } ifbound_reply_to_body() @@ -572,7 +572,7 @@ ifbound_reply_to_v6_head() { atf_set descr 'Test that reply-to states bind to the expected interface for IPv6' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } ifbound_reply_to_v6_body() @@ -632,7 +632,7 @@ ifbound_reply_to_rdr_dummynet_head() { atf_set descr 'Test that reply-to states bind to the expected non-default-route interface after rdr and dummynet' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } ifbound_reply_to_rdr_dummynet_body() diff --git a/tests/sys/netpfil/pf/rtable.sh b/tests/sys/netpfil/pf/rtable.sh index 62b37462e948..bb2cada57049 100644 --- a/tests/sys/netpfil/pf/rtable.sh +++ b/tests/sys/netpfil/pf/rtable.sh @@ -31,7 +31,7 @@ forward_v4_head() { atf_set descr 'Test IPv4 forwarding with rtable' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } forward_v4_body() @@ -78,7 +78,7 @@ forward_v6_head() { atf_set descr 'Test IPv6 forwarding with rtable' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } forward_v6_body() diff --git a/tests/sys/netpfil/pf/scrub.sh b/tests/sys/netpfil/pf/scrub.sh index b9efdaf5205c..6a5b748bed7b 100644 --- a/tests/sys/netpfil/pf/scrub.sh +++ b/tests/sys/netpfil/pf/scrub.sh @@ -32,7 +32,7 @@ max_mss_v4_head() { atf_set descr 'Test IPv4 scrub "mss" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } max_mss_v4_body() @@ -57,7 +57,7 @@ max_mss_v6_head() { atf_set descr 'Test IPv6 scrub "mss" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } max_mss_v6_body() @@ -82,7 +82,7 @@ set_tos_v4_head() { atf_set descr 'Test IPv4 scub "set-tos" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } set_tos_v4_body() @@ -103,7 +103,7 @@ set_tos_v6_head() { atf_set descr 'Test IPv6 scub "set-tos" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } set_tos_v6_body() @@ -124,7 +124,7 @@ min_ttl_v4_head() { atf_set descr 'Test IPv4 scub "min-ttl" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } min_ttl_v4_body() @@ -145,7 +145,7 @@ min_ttl_v6_head() { atf_set descr 'Test IPv6 scub "min-ttl" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } min_ttl_v6_body() @@ -166,7 +166,7 @@ no_scrub_v4_head() { atf_set descr 'Test IPv4 "no scrub" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } no_scrub_v4_body() @@ -189,7 +189,7 @@ no_scrub_v6_head() { atf_set descr 'Test IPv6 "no scrub" rule' atf_set require.user root - atf_set require.progs scapy + atf_set require.progs python3 scapy } no_scrub_v6_body() diff --git a/tests/sys/netpfil/pf/scrub_compat.sh b/tests/sys/netpfil/pf/scrub_compat.sh index cf69da3f3b74..6e1499309869 100644 --- a/tests/sys/netpfil/pf/scrub_compat.sh +++ b/tests/sys/netpfil/pf/scrub_compat.sh @@ -33,7 +33,7 @@ max_mss_v4_head() { atf_set descr 'Test IPv4 scrub "mss" rule' atf_set require.user root - atf_set require.progs scapy *** 231 LINES SKIPPED *** From nobody Mon Mar 3 12:52:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z5zGq1dVhz5pPgB; Mon, 03 Mar 2025 12:52:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z5zGq131zz3brc; Mon, 03 Mar 2025 12:52:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741006323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=idZ4+aBR4Nryk1CNMs8PBIvFej4YpdBA2D7JO9vTSI0=; b=HnHktHchIKEBVFHI0M1VbRBaDgsiW+C6CK3xtPwr/zzBy6EgKkvXocdPbd2ahL9MDjr54f IOFc5sWM6igE+Em89yIMlDYDKvY57OLtwNR3/kdz1Xmrmdve8bVBEm7AvmbsvHhU3CT8EN 4PFTJzjQsuq43KljUiJ+eP2hv/ba6DSvnnqf22WUMjjPW39jXmual0hOH7GlUT2rQWB+sM eAdLB9fpdcAR2GmjjwgVLaE4lWsw05B5pvwZrV7EXd2t10y38XqyYHrz6RGfWzqHaRCjEm qqBtnDFKczI+cyM/TP6uA6rXlNEOGZG0GWVK+kXJ/Fm6PLJtyIFCmJglB9XClg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741006323; a=rsa-sha256; cv=none; b=RYf3KRRMESchCkvmkL4VLR7m082WH7Bg4fl+tHnsIasFz/7Rw0sEjfiyu/ssKPSIwkBlQU fc4RaXx5foqeakbrujw/ejw4wFbq0fJYyTYFQHlrz2fpez+nPqklT0Co+h6zVMgeSE6ieZ J5qGjUraLG1PsNO+wnEB8nmVPnNdzaqFy8nwDwHXR2hmNkK227wB1W8Nyu1uoCuuwl+6B2 rQev085FksnwmEEfOQluT/ILbQ6TmcRwoXPqGChmWylAhKmtXxpU8qPwcU9hpvawA2TnNm Glaz7PLCG9rDGnK/b+g+d2f9mFcI5SOyXUn+zhOcVbSGyk01I2bspvUa93j+yQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741006323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=idZ4+aBR4Nryk1CNMs8PBIvFej4YpdBA2D7JO9vTSI0=; b=nHl580ZvD1etqUQYKQ8j+QqUV/3uvFt7pB0+h9pY9xmjbH6tWX4J5/7wai4OrL22HLPf3G DPKIV/F5+OL8GssiYsc+VKuIpFkJjme6LguIRZW+s69rWnzKrLNxbDVpoH2kuIZcilZWhw m9gtJiJcfFQCZDQtX/HTcG4S9N/oEhO2nSbSAbovxyGJQEfMtpW2IIvDCbkYnvLlv0lTRY kzc3e9jxYX0uBHjZ3KPPwfGZJcBsEeI7bMRuqmgR5X6lAVQD0ZdJU5uzKSkqL72y8Dzbj3 62HcxQmYbbtWbVWl4ZwTgk6yB4wK8WuXJgJdFIBfzQe8I4qUWRf+tMpStdLIIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z5zGq0f63zpQx; Mon, 03 Mar 2025 12:52: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 523Cq2fc031898; Mon, 3 Mar 2025 12:52:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523Cq2kN031896; Mon, 3 Mar 2025 12:52:02 GMT (envelope-from git) Date: Mon, 3 Mar 2025 12:52:02 GMT Message-Id: <202503031252.523Cq2kN031896@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: f8bd05add215 - main - pf tests: add missing pflog_init to pflog:rdr_action List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f8bd05add2158a433e1f5b9ffd18a9e164c4cfaf Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f8bd05add2158a433e1f5b9ffd18a9e164c4cfaf commit f8bd05add2158a433e1f5b9ffd18a9e164c4cfaf Author: Kristof Provost AuthorDate: 2025-03-03 10:34:36 +0000 Commit: Kristof Provost CommitDate: 2025-03-03 12:51:27 +0000 pf tests: add missing pflog_init to pflog:rdr_action Without it we tried to run the test even if pflog wasn't loaded. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pflog.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index 0758723c604d..fdd9af6316d0 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -331,6 +331,8 @@ rdr_head() rdr_action_body() { + pflog_init + j="pflog:rdr_action" epair_c=$(vnet_mkepair) epair_srv=$(vnet_mkepair) From nobody Mon Mar 3 14:00: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 4Z60p80hkQz5pW5k; Mon, 03 Mar 2025 14:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z60p649Cbz3j63; Mon, 03 Mar 2025 14:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741010446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XlcO5RErseNq1FUWSoNmx+9X9eC0WKExrnxCZj6xpeA=; b=xp4cI5iL1u0Snu5PU9kHvOEbaCvxQlSB3C6SIbLb/YTkR7JRA35VZmZy84Ry9zTMvf9qRE VTcWdr6ZdL2TyhCk+vHFQI+G24g8IEo7Fyrwi9/+/oCUC2J+7YZ5lgzbwNQJC+578KzSII izbQnzkBnkmsDFy2uJ2sKMv72zt+37WyVtmdeCn5S25PJe0ImLtmqEncovVEEN2Jvz+WhR HEwtrpRNwGWi5qt3O9iTaTV6Xpo3iEb+6TeLgvcWDiYS/UAnUK+iw3K3TKe2lqPMXZ/EQF r/U2LIa9b9xwZeDSPk2V5jsmjhZgbw/g00HrMDenA2BTf1KfFP9IzEAqs2U6Ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741010446; a=rsa-sha256; cv=none; b=dCOIegChiRzycOT3m7vd4uEHOFqfCo1fjxKniezCcFW3POqYgORRLZuXuOFAbdxGe/Ib9F bY2HEmw9M9DwIbtkOUyTPdVNElURAUYmUWHUvD6Z2mv/g/3rkpeJechDBM/ZwDFlzokcnr qkDdKMc8u2kk30V0u12AyQsSRcs9vhN2k3YHHoVnoq6257D7Na9QVThdglZ580l6T2ebHy jbnAyh2ibY+bn1CHsTZ2vh2qGCQGT8ad8GLldQ1ScSHGgSLg+v0SL98i0G5hDQe+n2DrUy V1/ylskkm0CXWXvibka6TpYDfqAkKGm6E6BH/UQiZC+vnEY8xLpn6n49JQiEPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741010446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XlcO5RErseNq1FUWSoNmx+9X9eC0WKExrnxCZj6xpeA=; b=mqQiKHMc+w6g1SnAmYOsNEwU6ALPTzNk7LWy1GEYwbicXeBWyn5vrbLcm28eR0UP5GgkES KBQqlfzSvIxzw2YPIY92hmAIMC2fbWqnFsp1cWkAUk4dWxTHla0KYq2BkThM1CXjQwYK0A t12WyC4NF4WGJ7EVWBMMr2CDxU7n5c2yGy3THQjR2wTwMTSodsT6yZAgif7rhwdHCM8kZl SotblWqz9/dtP3rVsOJvE+KtIe8PeW/FfpugwoNYhJvYn3gGYFaUfkmsTL87n8XgDyoKU6 NAfiAYRYvQ2VbA4+hNyzWltOzMtOSnmmgc0ugubEq78J6DLGIrz9edqN7XzMvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z60p63lSXzqm2; Mon, 03 Mar 2025 14:00: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 523E0ksS061036; Mon, 3 Mar 2025 14:00:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523E0kXJ061033; Mon, 3 Mar 2025 14:00:46 GMT (envelope-from git) Date: Mon, 3 Mar 2025 14:00:46 GMT Message-Id: <202503031400.523E0kXJ061033@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: 44c70602c8a6 - main - stf.4: Remove spurious word List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 44c70602c8a6add87a234154d005b9c3ff3e4825 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=44c70602c8a6add87a234154d005b9c3ff3e4825 commit 44c70602c8a6add87a234154d005b9c3ff3e4825 Author: Matt Simerson AuthorDate: 2025-02-24 16:11:52 +0000 Commit: Alexander Ziaee CommitDate: 2025-03-03 13:58:21 +0000 stf.4: Remove spurious word Improve grammar by removing spurious word. MFC after: 3 days Approved by: emaste, carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1605 --- share/man/man4/stf.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/stf.4 b/share/man/man4/stf.4 index 2c0296b204d9..c93600c15e0a 100644 --- a/share/man/man4/stf.4 +++ b/share/man/man4/stf.4 @@ -201,7 +201,7 @@ The IPv4 WAN address. The prefix length of the IPv4 WAN address. .El .Pp -These can parameters are all configured through +These parameters are all configured through .Xr ifconfig 8 . .Pp The IPv6 address and prefix length can be configured like any other IPv6 address. From nobody Mon Mar 3 14:56:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z622w1pvCz5pbtJ; Mon, 03 Mar 2025 14:56:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z622w1B6vz3nRk; Mon, 03 Mar 2025 14:56:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741013816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Weo0Oewxhz/Hp2otyfr9mOzMU6rBi9LiUR0tLNvWT9E=; b=s1KSxALcn1fmzhsR/PfmnNTfdXH0jd73a4q2a+koZ/huz1IidX7xH2teoVSzb+hRshJl/Y gakKKu85Rl7AJ3KXAdTm11wdCXSW6MhSJcbypNDLt3zEKMsNowYVWrfnrLUFWqAzVgsCEb NE23DADSoVzIH02Ix0RGIFy2gYrJce/gEy8N951Q03g44p/KQ260Gnsp5SGsgp10+cUFw/ XlCZxEBhiiAvthJmKF4vQC1w7HfvZAcop7iV9fcYdCOgDwwOBnDjPt6UtZR8PDTUcive0N c/ckdfaeA8Qt+o1V6D31W9VhyaNUXdTUdPlt4B0hoSrz9smetOvbTsy3Y6Dl7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741013816; a=rsa-sha256; cv=none; b=as45TOxrw059XW9NHr13ZehbtXOYcY+92XR1kBfMxJOxaKMUcaob+ZgLcDJb27iiEpysfO At8RrZZrhSVuD4vr9vuo+8BSNKUxe2DrhlBaPE+cYXlL+tvyfPGP7jTNEjGD5LrxrOIsVA vFbsTPoN10e5mHW0KDYC1E6Xw5rvCdEKMi/p6V5C1v5EuWsbJgbE+evbmUIzgNxrcfam/k C9gGk3ofYxXIUmjd1GugM8E3ZnyfqI0qa3Xl8+kFkGWVCIG7ahp35a4SQEaAffYPBzooij YOeMqLtLpV9M/8xLBbriwOhq0250zLnjcFLzlPtaniBVOQDptba6JVo8ZOhfoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741013816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Weo0Oewxhz/Hp2otyfr9mOzMU6rBi9LiUR0tLNvWT9E=; b=kemU5Y1U+25/QztZPWB8CcTpYVqTelw8/ZSBqYELYANjPIDgGgo0Ok2DifDX2UIXM8yHK2 pUFhfbfq6qTGa/n7bCYDtxPIJLQUJJVHL0iQ7qWB/IOOelun/CpQFlKx6e6l7X1eVk7TY6 rcCLL0Y/V6wKu/1WNO6dJ5TQ2leokXLkady3NsxJZUxqW5sHS19YOqtYRCKkoyweL9KfdM iaKvqP2e8zOa3+2R+4/A13dhOSrovldhrIOYd/zeet7L+AdUfYYEYspi4anNSLr8qRArIn d6NghDU209HjTABD5WIHDSttmTpmb/7wycJCMC6tiBHzgFuboRr3RvV/uJsSng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z622w0THYzsc3; Mon, 03 Mar 2025 14:56: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 523Eut7h059564; Mon, 3 Mar 2025 14:56:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523EutRx059561; Mon, 3 Mar 2025 14:56:55 GMT (envelope-from git) Date: Mon, 3 Mar 2025 14:56:55 GMT Message-Id: <202503031456.523EutRx059561@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: 8a2c189e8938 - main - ports.7/history: Don't forget macOS! List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8a2c189e893811a44b30696a1af9b5c7800ab60b Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8a2c189e893811a44b30696a1af9b5c7800ab60b commit 8a2c189e893811a44b30696a1af9b5c7800ab60b Author: Alexander Ziaee AuthorDate: 2025-03-03 14:50:53 +0000 Commit: Alexander Ziaee CommitDate: 2025-03-03 14:52:59 +0000 ports.7/history: Don't forget macOS! Jordan Hubbard, one of the original authors of the FreeBSD Ports Collection, later went on to create MacPorts, an evolution of the idea written in TCL instead of Makefiles. Further, NetBSD's pkgsrc is available natively on macOS. In either case, the idea of ports which originated here spread to macOS. Note that in the HISTORY section. MFC after: 3 days Reviewed by: carlavilla,Jessica Hawkwell on Community Discord Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49205 --- share/man/man7/ports.7 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 6b8eb27ea287..1e924b291608 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -744,9 +744,9 @@ The Ports Collection appeared in .Fx 1.0 . It has since spread to -.Nx -and -.Ox . +.Nx , +.Ox , +and macOS. .Sh AUTHORS .An -nosplit This manual page was originated by From nobody Mon Mar 3 16:08: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 4Z63dT6xRyz5pjVY; Mon, 03 Mar 2025 16:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63dT6Hqsz3xPb; Mon, 03 Mar 2025 16:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VXCFQzrc6JYJ/43OjuFeV1nhe20wrIWqs7Tal7rrXoo=; b=NrhEW6qBQF9TotY7AKFIWSS2MDwaSX9Iuzg06rDi74vZnoo6i2dMgovNJ81gxz7phJSmrG 59FOO8I8oYU7so9ntimBVE4BxZIkrpRWlN8C/AqfzaqmQCXHKiPlE+z6txJIGZ/QKIwp6I MrJ7zaGU0522tnRM3ajZetZp5n1GV5qeHB13O8ioTOw6o8ig+YYhk023OpMXPMi615Co66 0rI3/uYSXlrYP+blC2NXcrPRRSZdk3JsrRUXFu7KTWp0iaqWvTuZ6PWH9p2O4ibrcStcmb fCIoANnTV73q7UXbCB/bduwd3U/y8NiH0+gHxadSW623VDQKeI3v2U6Lgx3Gow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018109; a=rsa-sha256; cv=none; b=oylTvShdUk72Pdz1XDmYVJ1I4m2MQWeimQPGtOoiMEx20ZqYWfH9z68i3Drh3Dyj8YoWbS wZXwAQ8I8x1euYCYMjKJw0LWlEx6suuYxUMNYJ2Fd2DT+65TjftpVZKqmfCUISiVgndG4O Azfz+AwqdsNL2vdTNQVdpU1hiYo/Q2iE8Retxsp2T0WWntLU+ZuWz6ACfOaJaAXJxh6qRf EZi5HY5Q35YBQH+tVFz33VyUvMlmPOU9tgOZAI3H6C2gtfewlVOn2zT9G2qkiD+fdYlrbo w2X0njpjo7JdosSBka9cSbnFK8yG0I/CB0SkSNsxcYOUQtOSHMwyufthZENpww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VXCFQzrc6JYJ/43OjuFeV1nhe20wrIWqs7Tal7rrXoo=; b=r3LZHaqqaVt2LcRcKFpUNfMdl/mrfV7rYO1AOBin0HxMIDu3r9o/t8hK00Lbr5nNo356F7 xqFsT52VEbGrTVz3RqVQyKFhZnW6M/YhA02ISqfqCngJZtuftmdMz2BajAN5w+WQx4nZzw 5O1gqR9QnnWJUMOj6iHDig9dH+maf2jzoO1SaKgX7d16frWyoOydYJhIH60rlV4/MrAq9c VcHHOVWM/Ktq/EX+/Igjw4FkL9lq4giV3lS2HdQjzRnB7iKIu3Z15dUcI7C/cRlqOL88fd 2TXZ0QXt0lWcV+ugivu/uZFxo2t3KKKB+hmSerqhkRMn+OHld4A5Bmp0Ppp9Nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63dT5vGPzvZH; Mon, 03 Mar 2025 16:08: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 523G8TjP090686; Mon, 3 Mar 2025 16:08:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523G8Tdf090683; Mon, 3 Mar 2025 16:08:29 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:08:29 GMT Message-Id: <202503031608.523G8Tdf090683@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: a373ea07650b - main - pf: fix pf_map_addr() not to cause dividing by 0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a373ea07650b13f4d398d1341c932082bdb05d3a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a373ea07650b13f4d398d1341c932082bdb05d3a commit a373ea07650b13f4d398d1341c932082bdb05d3a Author: Kristof Provost AuthorDate: 2025-02-28 14:58:15 +0000 Commit: Kristof Provost CommitDate: 2025-03-03 16:07:16 +0000 pf: fix pf_map_addr() not to cause dividing by 0 This fixes problem when using table or dynamic interface addresses for source-hash. Also avoid calling arc4random_uniform() with upper_bound == 0. ok mikeb Obtained from: OpenBSD, yasuoka , c30ec822b8 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_lb.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index cb1d7af258f3..ea9fbc46af63 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -518,7 +518,10 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, case PF_POOL_RANDOM: if (rpool->cur->addr.type == PF_ADDR_TABLE) { cnt = rpool->cur->addr.p.tbl->pfrkt_cnt; - rpool->tblidx = (int)arc4random_uniform(cnt); + if (cnt == 0) + rpool->tblidx = 0; + else + rpool->tblidx = (int)arc4random_uniform(cnt); memset(&rpool->counter, 0, sizeof(rpool->counter)); if (pfr_pool_get(rpool->cur->addr.p.tbl, &rpool->tblidx, &rpool->counter, af, NULL)) { @@ -528,7 +531,10 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, PF_ACPY(naddr, &rpool->counter, af); } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { cnt = rpool->cur->addr.p.dyn->pfid_kt->pfrkt_cnt; - rpool->tblidx = (int)arc4random_uniform(cnt); + if (cnt == 0) + rpool->tblidx = 0; + else + rpool->tblidx = (int)arc4random_uniform(cnt); memset(&rpool->counter, 0, sizeof(rpool->counter)); if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, &rpool->tblidx, &rpool->counter, af, @@ -583,7 +589,10 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, pf_hash(saddr, (struct pf_addr *)&hash, &rpool->key, af); if (rpool->cur->addr.type == PF_ADDR_TABLE) { cnt = rpool->cur->addr.p.tbl->pfrkt_cnt; - rpool->tblidx = (int)(hashidx % cnt); + if (cnt == 0) + rpool->tblidx = 0; + else + rpool->tblidx = (int)(hashidx % cnt); memset(&rpool->counter, 0, sizeof(rpool->counter)); if (pfr_pool_get(rpool->cur->addr.p.tbl, &rpool->tblidx, &rpool->counter, af, NULL)) { @@ -593,7 +602,10 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, PF_ACPY(naddr, &rpool->counter, af); } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { cnt = rpool->cur->addr.p.dyn->pfid_kt->pfrkt_cnt; - rpool->tblidx = (int)(hashidx % cnt); + if (cnt == 0) + rpool->tblidx = 0; + else + rpool->tblidx = (int)(hashidx % cnt); memset(&rpool->counter, 0, sizeof(rpool->counter)); if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, &rpool->tblidx, &rpool->counter, af, From nobody Mon Mar 3 16:08: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 4Z63dW2B6Kz5pjb7; Mon, 03 Mar 2025 16:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63dW09hHz3xMc; Mon, 03 Mar 2025 16:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JqofZa+NGiJnPY13sionM9SdJT1e9cOrFxVRF1Jm5z4=; b=JM0t8Y8IaewgWUctTvMMUDfphDoc9jF3lQb8sxkSpFUltD2c/PyW6OedL/cOcudysXW3mO aozIkK3bmQpILgVCgNE+3rL+uyjksNPN/aVs1u3ZdNdA2Ciu/HO7tu7MAxhSDJX6Q4FUqY WPsD3vB1DPd1LMFgPdlEsF+zyMhBQTE1hdMnbNNcyU9/JPH/3cGYPMXznIPWQa2j8Ic4DI FXJAj3hMvJtGRY0WyNDMWnTnmX8tP9inPm6a0VIAp7IZpRO4dT3rV08m1LgIT3WeWpoFA/ NN32Og1ulPSMQyOHPPbopMSU8mvkiYYIUE1vbmXTNzxhIPuxSDJerFg6ePSnfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018111; a=rsa-sha256; cv=none; b=v6hNRRYmZfF2T7BXV21m7W00iHYFm2B4aa7mpBJag+tsyzjM3Pd5TyoSlXHLRPxbmBvj0m /3EcPkl5evU2QLWyLZvHNUxdANpNpHEsQ39+FgBELR8TPTaO80aVPW91LRxEvRvppF1QCI 12OxBPkSrq+zEK1YinGRJ5GGHEe2Fs05p51CLZP2fLxUzRB+UeJ97r7VetAIBdhZizGkM0 35KKonEU2sgDR3P7QbTo3/dGZFIs0pkactU92R+8bz8GUrqcwrraLF2Cm3rFwL8sJBYeuC 1ea7T8cm7WASPltbGPLIyEXw/ioTSVhouTEcSpFy8Ghu1GwYqoFTjAF7Y3WulA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JqofZa+NGiJnPY13sionM9SdJT1e9cOrFxVRF1Jm5z4=; b=I+KS2+EAfz+kwpnCcoOBhLGcG9GrTj4Ug3p2Qw9NUrt/dr/ZdXvebXu+Jh/vQwJeq3GYNc 5lW5152z1hkq2GRZPVpR2tU5DV3Ka6p+EI6IUA96x4PhKpKORdxjWu0cuwi4f8ywS2iwFQ Qcm7yoTHzxybpoAVlP7fYXWKqhnQWC7fBdSOLR58SBuXncf77UKTmSMTH7BfK4sWE6CmoY uCDcJ68paIW/S27ApfUn3km9WH3Y+7P0Q4PVGo4x2lwwf07huq8Yt0a1zAX36OVllTrJ/f iEYBNof8T6ESHuBLgmZglfRalMmPenUPmlLydddPKpHq7ag/yDERW9EeXBRS1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63dV6tPSzvXw; Mon, 03 Mar 2025 16:08: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 523G8UIA090719; Mon, 3 Mar 2025 16:08:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523G8UDR090716; Mon, 3 Mar 2025 16:08:30 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:08:30 GMT Message-Id: <202503031608.523G8UDR090716@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: f32a25504461 - main - pf tests: test source-hash and random on empty table or interface without 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: f32a255044616604a3a038840feab785c005d10d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f32a255044616604a3a038840feab785c005d10d commit f32a255044616604a3a038840feab785c005d10d Author: Kristof Provost AuthorDate: 2025-03-03 09:38:39 +0000 Commit: Kristof Provost CommitDate: 2025-03-03 16:07:17 +0000 pf tests: test source-hash and random on empty table or interface without address Attempt to provoke the crashes fixed by the previous commit. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/nat.sh | 141 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) diff --git a/tests/sys/netpfil/pf/nat.sh b/tests/sys/netpfil/pf/nat.sh index 19dd39fe5848..f7026feb5078 100644 --- a/tests/sys/netpfil/pf/nat.sh +++ b/tests/sys/netpfil/pf/nat.sh @@ -301,10 +301,151 @@ nat6_nolinklocal_cleanup() pft_cleanup } +empty_table_common() +{ + option=$1 + + pft_init + + epair_wan=$(vnet_mkepair) + epair_lan=$(vnet_mkepair) + + vnet_mkjail srv ${epair_wan}a + jexec srv ifconfig ${epair_wan}a 192.0.2.2/24 up + + vnet_mkjail rtr ${epair_wan}b ${epair_lan}a + jexec rtr ifconfig ${epair_wan}b 192.0.2.1/24 up + jexec rtr ifconfig ${epair_lan}a 198.51.100.1/24 up + jexec rtr sysctl net.inet.ip.forwarding=1 + + ifconfig ${epair_lan}b 198.51.100.2/24 up + route add default 198.51.100.1 + + jexec rtr pfctl -e + pft_set_rules rtr \ + "table " \ + "nat on ${epair_wan}b inet from 198.51.100.0/24 -> ${option}" \ + "pass" + + # Sanity checks + atf_check -s exit:0 -o ignore \ + jexec rtr ping -c 1 192.0.2.2 + atf_check -s exit:0 -o ignore \ + ping -c 1 198.51.100.1 + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + + # Provoke divide by zero + ping -c 1 192.0.2.2 + true +} + +atf_test_case "empty_table_source_hash" "cleanup" +empty_table_source_hash_head() +{ + atf_set descr 'Test source-hash on an emtpy table' + atf_set require.user root +} + +empty_table_source_hash_body() +{ + empty_table_common "source-hash" +} + +empty_table_source_hash_cleanup() +{ + pft_cleanup +} + +atf_test_case "empty_table_random" "cleanup" +empty_table_random_head() +{ + atf_set descr 'Test random on an emtpy table' + atf_set require.user root +} + +empty_table_random_body() +{ + empty_table_common "random" +} + +empty_table_random_cleanup() +{ + pft_cleanup +} + +no_addrs_common() +{ + option=$1 + + pft_init + + epair_wan=$(vnet_mkepair) + epair_lan=$(vnet_mkepair) + + vnet_mkjail srv ${epair_wan}a + jexec srv ifconfig ${epair_wan}a 192.0.2.2/24 up + + vnet_mkjail rtr ${epair_wan}b ${epair_lan}a + jexec rtr route add -net 192.0.2.0/24 -iface ${epair_wan}b + jexec rtr ifconfig ${epair_lan}a 198.51.100.1/24 up + jexec rtr sysctl net.inet.ip.forwarding=1 + + ifconfig ${epair_lan}b 198.51.100.2/24 up + route add default 198.51.100.1 + + jexec rtr pfctl -e + pft_set_rules rtr \ + "nat on ${epair_wan}b inet from 198.51.100.0/24 -> (${epair_wan}b) ${option}" \ + "pass" + + # Provoke divide by zero + ping -c 1 192.0.2.2 + true +} + +atf_test_case "no_addrs_source_hash" "cleanup" +no_addrs_source_hash_head() +{ + atf_set descr 'Test source-hash on an interface with no addresses' + atf_set require.user root +} + +no_addrs_source_hash_body() +{ + no_addrs_common "source-hash" +} + +no_addrs_source_hash_cleanup() +{ + pft_cleanup +} + +atf_test_case "no_addrs_random" "cleanup" +no_addrs_random_head() +{ + atf_set descr 'Test random on an interface with no addresses' + atf_set require.user root +} + +no_addrs_random_body() +{ + no_addrs_common "random" +} + +no_addrs_random_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "exhaust" atf_add_test_case "nested_anchor" atf_add_test_case "endpoint_independent" atf_add_test_case "nat6_nolinklocal" + atf_add_test_case "empty_table_source_hash" + atf_add_test_case "no_addrs_source_hash" + atf_add_test_case "empty_table_random" + atf_add_test_case "no_addrs_random" } From nobody Mon Mar 3 16:12:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z63k06yyjz5pjW5; Mon, 03 Mar 2025 16:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k06HlDz40St; Mon, 03 Mar 2025 16:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FsJY5TkH9DF19kD5RapnFnBBDZxHvkyyNncpHJlpWmo=; b=BJsU9s+dqfz0uGqA+sOv+SYUPKkWvroh4Seit4G14ECBqfvDhl2F4JfkH8IfPMCOeo1QVU Od3v1WeY+g2pnSg0Lcdi3DFUbDqPouB+g88u4hZuN/cnDWWs0PQYN+jiO7FMClbxJIB0Pp DYtaj10MhGE0GXqmTimKCo7XtpKfe+JVPZW+TPDR57vD+VTkzYbDlL6uuRcvpkBQXTwjlP tp3rjadNwQbQExiMn6hVP99KaPZy4/XGU/NDxcWWMUGYwsg+9XnmU3fwhw0WQpDZD/qK4J xiE/hZ70kFtfHNbielW5oHbK9htdbF14uEXSuy7en+pXJ/UPvpqBWbnPDTlXyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018344; a=rsa-sha256; cv=none; b=bS/uNZ7A3bGr+mokufOfzMoDb3GQsXCJhah5tvbs7Ihmf1Fkzb4K2I8oWZkhjHKRUTTn4p bNrw15NkKV+qhzWRbv6yEk3+28FPQpF6RHnFH8nJs4ulZKqHxU4a6isl15985B4HZ4v7M8 vpaZ2jY8L6/L0BtOKd3l1ONCCywfP4ZLRnXWjL/+LtghKD4EhVABEn5bG1DdrWg5fGtbdm Myaro7fLPbxhaaX6ox+SW8Mc92POn9kXk+CP7uGXtVKHO5mUYQbxDAdWYzlJRUuyOxL05g MxP4c5aqDSPgle9ty8W6FkdhoxWs1/QQPeXt8HUDZxHJApBgDpJKqtKly4Y41A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FsJY5TkH9DF19kD5RapnFnBBDZxHvkyyNncpHJlpWmo=; b=xC1BsZ5xpujAXNQZtCkLjoNJ4l/JwgPcKpVL5xIX8EKAL0kZ7v/cUGO+MPXbTLxpqknNQ3 dAekwTjLYiYUZX0OYkzZhpJkRQRqYi2OtWlP8Zc8pr/z+tQ/69/IsFZEST6QZ4fQvPGcPI RRTEFzClGHYBQp1+0oj2gMiuqE/WAT9KWNkoHy1aii1qkuZ9YXu7t7EKV3p0TNLej+A4w3 PbIdJXdmQDtPWJ3NLF+jnCm8UZsZfZVKcgzJiUSSg23oCSUcEX1RMSU9uuw4vQxs2/9tBy qPXlZpDAuhITp62/AqgwReT6oKqFRU3JD9XXHAwW0lSwadZSxOR4ZZCk0P2dBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k05Rfjzv8n; Mon, 03 Mar 2025 16:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 523GCOEu007142; Mon, 3 Mar 2025 16:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCOm4007139; Mon, 3 Mar 2025 16:12:24 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:24 GMT Message-Id: <202503031612.523GCOm4007139@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 125877c92d16 - main - arm64: Split EFI map parsing code to a common file List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 125877c92d1661c6a1f567aa9a3e9c399a514789 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=125877c92d1661c6a1f567aa9a3e9c399a514789 commit 125877c92d1661c6a1f567aa9a3e9c399a514789 Author: Mitchell Horne AuthorDate: 2025-03-01 00:04:38 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 arm64: Split EFI map parsing code to a common file Motivation: I would like to enable the EFI memory map parsing on riscv, which is preferable to parsing memory regions from the device tree. I could easily duplicate the functionality, but it can be shared without much extra effort. There are a couple of similar implementations existing already. In this commit, the arm64 version of the code is moved to the new file, and enabled for this platform. No functional change intended. armv7 and riscv will follow. amd64 could be converted to use this interface too, but it doesn't use the common "physmem" interfaces for managing physical memory, and would therefore require further tweaks. I am not inclined to make this change at this time. Reviewed by: imp, andrew Discussed with: emaste (copyright attribution) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47746 --- sys/arm64/arm64/machdep.c | 175 ++------------------------------------------- sys/conf/files.arm64 | 1 + sys/kern/subr_efi_map.c | 178 ++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/efi_map.h | 22 ++++++ 4 files changed, 206 insertions(+), 170 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 22c74b21cf48..a94cdaa61775 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -457,172 +458,6 @@ arm64_get_writable_addr(void *addr, void **out) return (false); } -typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); - -static void -foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) -{ - struct efi_md *map, *p; - size_t efisz; - int ndesc, i; - - /* - * Memory map data provided by UEFI via the GetMemoryMap - * Boot Services API. - */ - efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; - map = (struct efi_md *)((uint8_t *)efihdr + efisz); - - if (efihdr->descriptor_size == 0) - return; - ndesc = efihdr->memory_size / efihdr->descriptor_size; - - for (i = 0, p = map; i < ndesc; i++, - p = efi_next_descriptor(p, efihdr->descriptor_size)) { - cb(p, argp); - } -} - -/* - * Handle the EFI memory map list. - * - * We will make two passes at this, the first (exclude == false) to populate - * physmem with valid physical memory ranges from recognized map entry types. - * In the second pass we will exclude memory ranges from physmem which must not - * be used for general allocations, either because they are used by runtime - * firmware or otherwise reserved. - * - * Adding the runtime-reserved memory ranges to physmem and excluding them - * later ensures that they are included in the DMAP, but excluded from - * phys_avail[]. - * - * Entry types not explicitly listed here are ignored and not mapped. - */ -static void -handle_efi_map_entry(struct efi_md *p, void *argp) -{ - bool exclude = *(bool *)argp; - - switch (p->md_type) { - case EFI_MD_TYPE_RECLAIM: - /* - * The recomended location for ACPI tables. Map into the - * DMAP so we can access them from userspace via /dev/mem. - */ - case EFI_MD_TYPE_RT_CODE: - /* - * Some UEFI implementations put the system table in the - * runtime code section. Include it in the DMAP, but will - * be excluded from phys_avail. - */ - case EFI_MD_TYPE_RT_DATA: - /* - * Runtime data will be excluded after the DMAP - * region is created to stop it from being added - * to phys_avail. - */ - if (exclude) { - physmem_exclude_region(p->md_phys, - p->md_pages * EFI_PAGE_SIZE, EXFLAG_NOALLOC); - break; - } - /* FALLTHROUGH */ - case EFI_MD_TYPE_CODE: - case EFI_MD_TYPE_DATA: - case EFI_MD_TYPE_BS_CODE: - case EFI_MD_TYPE_BS_DATA: - case EFI_MD_TYPE_FREE: - /* - * We're allowed to use any entry with these types. - */ - if (!exclude) - physmem_hardware_region(p->md_phys, - p->md_pages * EFI_PAGE_SIZE); - break; - default: - /* Other types shall not be handled by physmem. */ - break; - } -} - -static void -add_efi_map_entries(struct efi_map_header *efihdr) -{ - bool exclude = false; - foreach_efi_map_entry(efihdr, handle_efi_map_entry, &exclude); -} - -static void -exclude_efi_map_entries(struct efi_map_header *efihdr) -{ - bool exclude = true; - foreach_efi_map_entry(efihdr, handle_efi_map_entry, &exclude); -} - -static void -print_efi_map_entry(struct efi_md *p, void *argp __unused) -{ - const char *type; - static const char *types[] = { - "Reserved", - "LoaderCode", - "LoaderData", - "BootServicesCode", - "BootServicesData", - "RuntimeServicesCode", - "RuntimeServicesData", - "ConventionalMemory", - "UnusableMemory", - "ACPIReclaimMemory", - "ACPIMemoryNVS", - "MemoryMappedIO", - "MemoryMappedIOPortSpace", - "PalCode", - "PersistentMemory" - }; - - if (p->md_type < nitems(types)) - type = types[p->md_type]; - else - type = ""; - printf("%23s %012lx %012lx %08lx ", type, p->md_phys, - p->md_virt, p->md_pages); - if (p->md_attr & EFI_MD_ATTR_UC) - printf("UC "); - if (p->md_attr & EFI_MD_ATTR_WC) - printf("WC "); - if (p->md_attr & EFI_MD_ATTR_WT) - printf("WT "); - if (p->md_attr & EFI_MD_ATTR_WB) - printf("WB "); - if (p->md_attr & EFI_MD_ATTR_UCE) - printf("UCE "); - if (p->md_attr & EFI_MD_ATTR_WP) - printf("WP "); - if (p->md_attr & EFI_MD_ATTR_RP) - printf("RP "); - if (p->md_attr & EFI_MD_ATTR_XP) - printf("XP "); - if (p->md_attr & EFI_MD_ATTR_NV) - printf("NV "); - if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE) - printf("MORE_RELIABLE "); - if (p->md_attr & EFI_MD_ATTR_RO) - printf("RO "); - if (p->md_attr & EFI_MD_ATTR_RT) - printf("RUNTIME"); - printf("\n"); -} - -static void -print_efi_map_entries(struct efi_map_header *efihdr) -{ - - printf("%23s %12s %12s %8s %4s\n", - "Type", "Physical", "Virtual", "#Pages", "Attr"); - foreach_efi_map_entry(efihdr, print_efi_map_entry, NULL); -} - /* * Map the passed in VA in EFI space to a void * using the efi memory table to * find the PA and return it in the DMAP, if it exists. We're used between the @@ -659,7 +494,7 @@ efi_early_map(vm_offset_t va) { struct early_map_data emd = { .va = va }; - foreach_efi_map_entry(efihdr, efi_early_map_entry, &emd); + efi_map_foreach_entry(efihdr, efi_early_map_entry, &emd); if (emd.pa == 0) return NULL; return (void *)PHYS_TO_DMAP(emd.pa); @@ -942,7 +777,7 @@ initarm(struct arm64_bootparams *abp) efihdr = (struct efi_map_header *)preload_search_info(preload_kmdp, MODINFO_METADATA | MODINFOMD_EFI_MAP); if (efihdr != NULL) - add_efi_map_entries(efihdr); + efi_map_add_entries(efihdr); #ifdef FDT else { /* Grab physical memory regions information from device tree. */ @@ -972,7 +807,7 @@ initarm(struct arm64_bootparams *abp) pmap_bootstrap(lastaddr - KERNBASE); /* Exclude entries needed in the DMAP region, but not phys_avail */ if (efihdr != NULL) - exclude_efi_map_entries(efihdr); + efi_map_exclude_entries(efihdr); /* Do the same for reserve entries in the EFI MEMRESERVE table */ if (efi_systbl_phys != 0) exclude_efi_memreserve(efi_systbl_phys); @@ -1051,7 +886,7 @@ initarm(struct arm64_bootparams *abp) if (boothowto & RB_VERBOSE) { if (efihdr != NULL) - print_efi_map_entries(efihdr); + efi_map_print_entries(efihdr); physmem_print_tables(); } diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 13c7d9b1875d..de3134ad9124 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -6,6 +6,7 @@ kern/msi_if.m optional intrng kern/pic_if.m optional intrng kern/subr_devmap.c standard +kern/subr_efi_map.c standard kern/subr_intr.c optional intrng kern/subr_physmem.c standard libkern/strlen.c standard diff --git a/sys/kern/subr_efi_map.c b/sys/kern/subr_efi_map.c new file mode 100644 index 000000000000..29a94858f6c1 --- /dev/null +++ b/sys/kern/subr_efi_map.c @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2014 The FreeBSD Foundation + * Copyright (c) 2018 Andrew Turner + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#include +#include +#include +#include +#include + +#include +#include + +void +efi_map_foreach_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) +{ + struct efi_md *map, *p; + size_t efisz; + int ndesc, i; + + /* + * Memory map data provided by UEFI via the GetMemoryMap + * Boot Services API. + */ + efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; + map = (struct efi_md *)((uint8_t *)efihdr + efisz); + + if (efihdr->descriptor_size == 0) + return; + ndesc = efihdr->memory_size / efihdr->descriptor_size; + + for (i = 0, p = map; i < ndesc; i++, + p = efi_next_descriptor(p, efihdr->descriptor_size)) { + cb(p, argp); + } +} + +/* + * Handle the EFI memory map list. + * + * We will make two passes at this, the first (exclude == false) to populate + * physmem with valid physical memory ranges from recognized map entry types. + * In the second pass we will exclude memory ranges from physmem which must not + * be used for general allocations, either because they are used by runtime + * firmware or otherwise reserved. + * + * Adding the runtime-reserved memory ranges to physmem and excluding them + * later ensures that they are included in the DMAP, but excluded from + * phys_avail[]. + * + * Entry types not explicitly listed here are ignored and not mapped. + */ +static void +handle_efi_map_entry(struct efi_md *p, void *argp) +{ + bool exclude = *(bool *)argp; + + switch (p->md_type) { + case EFI_MD_TYPE_RECLAIM: + /* + * The recomended location for ACPI tables. Map into the + * DMAP so we can access them from userspace via /dev/mem. + */ + case EFI_MD_TYPE_RT_CODE: + /* + * Some UEFI implementations put the system table in the + * runtime code section. Include it in the DMAP, but will + * be excluded from phys_avail. + */ + case EFI_MD_TYPE_RT_DATA: + /* + * Runtime data will be excluded after the DMAP + * region is created to stop it from being added + * to phys_avail. + */ + if (exclude) { + physmem_exclude_region(p->md_phys, + p->md_pages * EFI_PAGE_SIZE, EXFLAG_NOALLOC); + break; + } + /* FALLTHROUGH */ + case EFI_MD_TYPE_CODE: + case EFI_MD_TYPE_DATA: + case EFI_MD_TYPE_BS_CODE: + case EFI_MD_TYPE_BS_DATA: + case EFI_MD_TYPE_FREE: + /* + * We're allowed to use any entry with these types. + */ + if (!exclude) + physmem_hardware_region(p->md_phys, + p->md_pages * EFI_PAGE_SIZE); + break; + default: + /* Other types shall not be handled by physmem. */ + break; + } +} + +void +efi_map_add_entries(struct efi_map_header *efihdr) +{ + bool exclude = false; + efi_map_foreach_entry(efihdr, handle_efi_map_entry, &exclude); +} + +void +efi_map_exclude_entries(struct efi_map_header *efihdr) +{ + bool exclude = true; + efi_map_foreach_entry(efihdr, handle_efi_map_entry, &exclude); +} + +static void +print_efi_map_entry(struct efi_md *p, void *argp __unused) +{ + const char *type; + static const char *types[] = { + "Reserved", + "LoaderCode", + "LoaderData", + "BootServicesCode", + "BootServicesData", + "RuntimeServicesCode", + "RuntimeServicesData", + "ConventionalMemory", + "UnusableMemory", + "ACPIReclaimMemory", + "ACPIMemoryNVS", + "MemoryMappedIO", + "MemoryMappedIOPortSpace", + "PalCode", + "PersistentMemory" + }; + + if (p->md_type < nitems(types)) + type = types[p->md_type]; + else + type = ""; + printf("%23s %012lx %012lx %08lx ", type, p->md_phys, + p->md_virt, p->md_pages); + if (p->md_attr & EFI_MD_ATTR_UC) + printf("UC "); + if (p->md_attr & EFI_MD_ATTR_WC) + printf("WC "); + if (p->md_attr & EFI_MD_ATTR_WT) + printf("WT "); + if (p->md_attr & EFI_MD_ATTR_WB) + printf("WB "); + if (p->md_attr & EFI_MD_ATTR_UCE) + printf("UCE "); + if (p->md_attr & EFI_MD_ATTR_WP) + printf("WP "); + if (p->md_attr & EFI_MD_ATTR_RP) + printf("RP "); + if (p->md_attr & EFI_MD_ATTR_XP) + printf("XP "); + if (p->md_attr & EFI_MD_ATTR_NV) + printf("NV "); + if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE) + printf("MORE_RELIABLE "); + if (p->md_attr & EFI_MD_ATTR_RO) + printf("RO "); + if (p->md_attr & EFI_MD_ATTR_RT) + printf("RUNTIME"); + printf("\n"); +} + +void +efi_map_print_entries(struct efi_map_header *efihdr) +{ + + printf("%23s %12s %12s %8s %4s\n", + "Type", "Physical", "Virtual", "#Pages", "Attr"); + efi_map_foreach_entry(efihdr, print_efi_map_entry, NULL); +} diff --git a/sys/sys/efi_map.h b/sys/sys/efi_map.h new file mode 100644 index 000000000000..4edabd4e5812 --- /dev/null +++ b/sys/sys/efi_map.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014 The FreeBSD Foundation + * Copyright (c) 2018 Andrew Turner + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef _SYS_EFI_MAP_H_ +#define _SYS_EFI_MAP_H_ + +#include +#include + +typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); + +void efi_map_foreach_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, + void *argp); + +void efi_map_add_entries(struct efi_map_header *efihdr); +void efi_map_exclude_entries(struct efi_map_header *efihdr); +void efi_map_print_entries(struct efi_map_header *efihdr); + +#endif /* !_SYS_EFI_MAP_H_ */ From nobody Mon Mar 3 16:12: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 4Z63k22ByHz5pjbl; Mon, 03 Mar 2025 16:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k16trtz40WF; Mon, 03 Mar 2025 16:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSK7pHfXCkRjNL7qXLTg8ByUfGhTmmYmDcv4Jy275sA=; b=Im//KW9vg1EvZ2MT/vjjHZrqxt/EkNfbdUCZ43NuhjS0O8x/lM9e2BWILgvUQ+hW67yH6D zMplAfrBRdaAnyp/pCgdEMNuhRc+GmoyvuOd64rPef+WXO1c+qoA9rd4bUZFsVPW4o/8Qi V0TtQFmXbbkq57ysR4e983Qjzumz4QRqspVsMeoYRrmssbmvBpyj29Dg2SX9e0IvLZHFFh Qw1aMP/rg4uj57gVueYECzaK5Vav3HM59YKK2KirCXPzHxhaZbeU41AkfCUsVJnsiSX12X qDiR9CU8yZc2LYFJxVUurTF/fdQjodENmtJRG+Bxs56CQK/d2l+6vq9GFNqUFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018346; a=rsa-sha256; cv=none; b=d7LisJzqENZOJ0Fr95CgObI3ddOkIC2MKsvBVcBGqYo30GSbwkD6HTsrXM/OSMIZRNG5jg RJxR364EGCXMWR+0/+j98lxHRHg2hFUXwpNlp+xrdyWvq8dxNEKr2+BArXZO72nvRBeSyp XZ5jv7RHXb/09kvctKee/25r9lItd8c9cCUrnzv8bLSiyBtmrztAr6Ddebi4hrjgR3MixB A5rbpKAQ8QgoBvjz2ra9Bz3qtjQPr+5HQA0EqRGs4fMJaz00LtEfgvL0OlxRRQ4JBN90Qn Yg8glWKth+ZC/qe7DdSy/pt6u9DoHlrJXrRljuw25a+1KYvl2Aew0/d6gJMS5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSK7pHfXCkRjNL7qXLTg8ByUfGhTmmYmDcv4Jy275sA=; b=knZVMBz27hbwellNhZ/seK24bA4k5gRU0ByD4qTGtAqSdX5wL58ewEWPFKKYRrtxjbCdYx ++O0p6+wEn3Zum8NSeweGUBvtHP4wDJxBN1XGGKRdokKwvRcmVL+/Qgw43JFt+B8f5O1i4 sDlcMfiY81DAs1ChEu8S9cIECBXXvZwnQUmugy2WB+Ka9yb1leAI5J+M/ji8UGNBwGAI22 nJIO5dxgPSgmMIoaMF1EIgqU4RKMkqzTxoN9x/hHpos+SHNb+fp3OCJnSR/vc2FzJOE8Tf Abvu+1pOAhGHaXh6pT9/OkS+JSLkshHmH0vRf4LT7i4kHvuA4EuckZp5q7U1nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k16RRVzvlJ; Mon, 03 Mar 2025 16:12: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 523GCPkC007175; Mon, 3 Mar 2025 16:12:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCP2o007172; Mon, 3 Mar 2025 16:12:25 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:25 GMT Message-Id: <202503031612.523GCP2o007172@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: cb0fb2812914 - main - exclude_efi_memreserve(): use the right type List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb0fb2812914aac78ec77e5704176ef45440f139 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=cb0fb2812914aac78ec77e5704176ef45440f139 commit cb0fb2812914aac78ec77e5704176ef45440f139 Author: Mitchell Horne AuthorDate: 2024-11-26 15:55:29 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 exclude_efi_memreserve(): use the right type efi_systbl_phys is a physical address. Thus, prefer vm_paddr_t to vm_offset_t. No functional change. Sponsored by: The FreeBSD Foundation --- sys/arm64/arm64/machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index a94cdaa61775..93343a1972af 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -508,7 +508,7 @@ efi_early_map(vm_offset_t va) * anything since msgbufp isn't initialized, let alone a console... */ static void -exclude_efi_memreserve(vm_offset_t efi_systbl_phys) +exclude_efi_memreserve(vm_paddr_t efi_systbl_phys) { struct efi_systbl *systbl; struct uuid efi_memreserve = LINUX_EFI_MEMRESERVE_TABLE; From nobody Mon Mar 3 16:12: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 4Z63k417N9z5pjdn; Mon, 03 Mar 2025 16:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k32NNgz40WT; Mon, 03 Mar 2025 16:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLsh57pUjSnY8HLnuruog6//dBWYnU+8GyIIDdUQX/w=; b=sq3Tkkc1YFnOk018ASUj35CWyJ0G5BPO8LyjZdJWH7XqBsvBxz+Ie2dgeMVT2HGAXBWBaV OJbiG/rJLpqtfiW5K7+42HWoql+DVxmz+86JrhKRa4RllRdFqt9md0vzzifiluD37YiXUn F8lMZU52+gcD3CQd0nHlMdJJveMyHbTOHsy5EDrcYyzrvpBjCnVhnHRPvvqUQKKcu/BXCk rmDpZoSyh8sFRJE2TV4kp9/GuCcIR23hoDPzTqC+LPZk+syiXubilxirsS1XQilXBavTGF TjhLkOrSAujI2mN2OwT36O8mh78ezjm+6OYGtVDF7DKtQExe1IyP3rS3zD8JUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018347; a=rsa-sha256; cv=none; b=Iq4sb1eEUhf1FtT4m74JmIom+ubGPkGioIGuNcky2+OLNWa9r035NNg5RZyqwpDUU0Niz6 tL71CT9cSSG0QNdUoJdBJBtKHm/Gaer6q9wPxJF0KyyPO070WvRyv/vAc/DJUIJZIFzPV4 iO8LOWqAFAIu/AM5iEl/LDBR4nXOYu3aLI32Erx3Sus0RbrWjud//8PkrzFc1ctVRr9Bd1 aWrkqRpGPZZIb/z3GBEGUS/FSYPCbUOaPXUexx+4XMTGshZbO5x7u4WtGgihfK2DXPObvy OHJ7np0kKdqyznxjPPUkMCimlvnHnVjL0RPBynk/9dejODlEskYSU5xVHOQhHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLsh57pUjSnY8HLnuruog6//dBWYnU+8GyIIDdUQX/w=; b=YME+JLLOhGuxHD5ccxOkf+EK5ds2DBhef6Hioq8CURZjXHmrb2MVBHwL54PMIfKl8FGenA wyN8RU1jfYLSDZjHg1fmOMi1e30O/tl4rW2siqx1PBPZ2Mcx6BBa/j8djenDhhj3z67mwj QNgjsGOmwYUmXSZpDzoDWk+abtf2BRfEfagIoPpEmBVfIEbWwHBSEvz1EhpxCaZ08IbLtd 3HNe2srdbcA+ESjjo+1bstgOEZCB2bAaRZL2E3JAqdGiU6L5KHEqeHE+03fOcD5Uq4i8Yv JEHnLRT9UxY1EgZB2PAXhrDktXuVZZhk+vamSpNqrPGvbD5s88GWKJgv25YotQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k30JqYzvLr; Mon, 03 Mar 2025 16:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 523GCQDY007208; Mon, 3 Mar 2025 16:12:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCQnR007205; Mon, 3 Mar 2025 16:12:26 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:26 GMT Message-Id: <202503031612.523GCQnR007205@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 8bfd5cefbc71 - main - arm: switch to subr_efi_map.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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bfd5cefbc7143adffa34d74bc539802a01f0f26 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=8bfd5cefbc7143adffa34d74bc539802a01f0f26 commit 8bfd5cefbc7143adffa34d74bc539802a01f0f26 Author: Mitchell Horne AuthorDate: 2025-03-03 15:45:32 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 arm: switch to subr_efi_map.c Reduce code duplication by switching to the new shared interface. Practically, the kernel may lose a few pages to (unused) EFI runtime services. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49132 --- sys/arm/arm/machdep.c | 25 ++++++++--- sys/arm/arm/machdep_boot.c | 107 --------------------------------------------- sys/conf/files.arm | 1 + sys/kern/subr_efi_map.c | 4 +- 4 files changed, 21 insertions(+), 116 deletions(-) diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index e45ef9834e81..31f888313d59 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -462,20 +463,22 @@ initarm(struct arm_boot_params *abp) efihdr = (struct efi_map_header *)preload_search_info(preload_kmdp, MODINFO_METADATA | MODINFOMD_EFI_MAP); if (efihdr != NULL) { - arm_add_efi_map_entries(efihdr, mem_regions, &mem_regions_sz); + efi_map_add_entries(efihdr); + efi_map_exclude_entries(efihdr); } else #endif { /* Grab physical memory regions information from device tree. */ if (fdt_get_mem_regions(mem_regions, &mem_regions_sz,NULL) != 0) panic("Cannot get physical memory regions"); - } - physmem_hardware_regions(mem_regions, mem_regions_sz); - /* Grab reserved memory regions information from device tree. */ - if (fdt_get_reserved_regions(mem_regions, &mem_regions_sz) == 0) - physmem_exclude_regions(mem_regions, mem_regions_sz, - EXFLAG_NODUMP | EXFLAG_NOALLOC); + physmem_hardware_regions(mem_regions, mem_regions_sz); + + /* Grab reserved memory regions information from device tree. */ + if (fdt_get_reserved_regions(mem_regions, &mem_regions_sz) == 0) + physmem_exclude_regions(mem_regions, mem_regions_sz, + EXFLAG_NODUMP | EXFLAG_NOALLOC); + } /* * Set TEX remapping registers. @@ -632,6 +635,14 @@ initarm(struct arm_boot_params *abp) arm_kdb_init(); /* Apply possible BP hardening. */ cpuinfo_init_bp_hardening(); + +#ifdef EFI + if (boothowto & RB_VERBOSE) { + if (efihdr != NULL) + efi_map_print_entries(efihdr); + } +#endif + return ((void *)STACKALIGN(thread0.td_pcb)); } diff --git a/sys/arm/arm/machdep_boot.c b/sys/arm/arm/machdep_boot.c index e2416f86ad23..8a6c63af3c92 100644 --- a/sys/arm/arm/machdep_boot.c +++ b/sys/arm/arm/machdep_boot.c @@ -389,110 +389,3 @@ fake_preload_metadata(struct arm_boot_params *abp __unused, void *dtb_ptr, return (lastaddr); } - -#ifdef EFI -void -arm_add_efi_map_entries(struct efi_map_header *efihdr, struct mem_region *mr, - int *mrcnt) -{ - struct efi_md *map, *p; - const char *type; - size_t efisz; - int ndesc, i, j; - - static const char *types[] = { - "Reserved", - "LoaderCode", - "LoaderData", - "BootServicesCode", - "BootServicesData", - "RuntimeServicesCode", - "RuntimeServicesData", - "ConventionalMemory", - "UnusableMemory", - "ACPIReclaimMemory", - "ACPIMemoryNVS", - "MemoryMappedIO", - "MemoryMappedIOPortSpace", - "PalCode", - "PersistentMemory" - }; - - *mrcnt = 0; - - /* - * Memory map data provided by UEFI via the GetMemoryMap - * Boot Services API. - */ - efisz = roundup2(sizeof(struct efi_map_header), 0x10); - map = (struct efi_md *)((uint8_t *)efihdr + efisz); - - if (efihdr->descriptor_size == 0) - return; - ndesc = efihdr->memory_size / efihdr->descriptor_size; - - if (boothowto & RB_VERBOSE) - printf("%23s %12s %12s %8s %4s\n", - "Type", "Physical", "Virtual", "#Pages", "Attr"); - - for (i = 0, j = 0, p = map; i < ndesc; i++, - p = efi_next_descriptor(p, efihdr->descriptor_size)) { - if (boothowto & RB_VERBOSE) { - if (p->md_type < nitems(types)) - type = types[p->md_type]; - else - type = ""; - printf("%23s %012llx %012llx %08llx ", type, p->md_phys, - p->md_virt, p->md_pages); - if (p->md_attr & EFI_MD_ATTR_UC) - printf("UC "); - if (p->md_attr & EFI_MD_ATTR_WC) - printf("WC "); - if (p->md_attr & EFI_MD_ATTR_WT) - printf("WT "); - if (p->md_attr & EFI_MD_ATTR_WB) - printf("WB "); - if (p->md_attr & EFI_MD_ATTR_UCE) - printf("UCE "); - if (p->md_attr & EFI_MD_ATTR_WP) - printf("WP "); - if (p->md_attr & EFI_MD_ATTR_RP) - printf("RP "); - if (p->md_attr & EFI_MD_ATTR_XP) - printf("XP "); - if (p->md_attr & EFI_MD_ATTR_NV) - printf("NV "); - if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE) - printf("MORE_RELIABLE "); - if (p->md_attr & EFI_MD_ATTR_RO) - printf("RO "); - if (p->md_attr & EFI_MD_ATTR_RT) - printf("RUNTIME"); - printf("\n"); - } - - switch (p->md_type) { - case EFI_MD_TYPE_CODE: - case EFI_MD_TYPE_DATA: - case EFI_MD_TYPE_BS_CODE: - case EFI_MD_TYPE_BS_DATA: - case EFI_MD_TYPE_FREE: - /* - * We're allowed to use any entry with these types. - */ - break; - default: - continue; - } - - j++; - if (j >= FDT_MEM_REGIONS) - break; - - mr[j].mr_start = p->md_phys; - mr[j].mr_size = p->md_pages * EFI_PAGE_SIZE; - } - - *mrcnt = j; -} -#endif /* EFI */ diff --git a/sys/conf/files.arm b/sys/conf/files.arm index 5ada97ccad30..0188dda87c96 100644 --- a/sys/conf/files.arm +++ b/sys/conf/files.arm @@ -108,6 +108,7 @@ kern/msi_if.m optional intrng kern/pic_if.m optional intrng kern/subr_busdma_bufalloc.c standard kern/subr_devmap.c standard +kern/subr_efi_map.c optional efi kern/subr_physmem.c standard kern/subr_sfbuf.c standard libkern/arm/aeabi_unwind.c standard diff --git a/sys/kern/subr_efi_map.c b/sys/kern/subr_efi_map.c index 29a94858f6c1..4085d7f1cdb9 100644 --- a/sys/kern/subr_efi_map.c +++ b/sys/kern/subr_efi_map.c @@ -139,8 +139,8 @@ print_efi_map_entry(struct efi_md *p, void *argp __unused) type = types[p->md_type]; else type = ""; - printf("%23s %012lx %012lx %08lx ", type, p->md_phys, - p->md_virt, p->md_pages); + printf("%23s %012jx %012jx %08jx ", type, (uintmax_t)p->md_phys, + (uintmax_t)p->md_virt, (uintmax_t)p->md_pages); if (p->md_attr & EFI_MD_ATTR_UC) printf("UC "); if (p->md_attr & EFI_MD_ATTR_WC) From nobody Mon Mar 3 16:12:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z63k46HCxz5pjW9; Mon, 03 Mar 2025 16:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k426Ljz40N2; Mon, 03 Mar 2025 16:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IPKM4IO85K7Iws4zUOAgHxoXF2XFAtM+5Z8VJyYSeOo=; b=qOUza8b5BcGkb726fRNDipMuf+BrWoQzKZjXNqnR0xFKTX9afy1R/1XU4E1C5SssS1r8zz FrvkaXCRMpBpzMBwyoa8iOig4zW1ey/vcWcv6a2OAB3JjEeCM8cPtIXJO4zfqwiPmhYQAh nTqpDO87iuADNrUdu2v9jFfemorpg0wyfO40kDXUzuCM0IYQlJHZGetafPbpZI2PgfGBUw m+DZRL4QvO4ARE+c9PV1rZnBHayFkv/i/9lYxO+OXM8s5ym7JLGDwWIBbOxkak4Wwcldut FsMVMtfL3Cu84Smc27FL1wQRYRi9SzXF/Z47F632JENjFPTzUXV41OU6k2mrJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018348; a=rsa-sha256; cv=none; b=w3m/BdewKj8FZhMLMBIlgAvQBXvQyjkMA4NlzKEIPuTyn6BO5tkg9CpWG3h3Hwq6mQmls5 Dt03vitnVQXBlZZYAmBTLC1yYrPDPGcTT7AKFUcBJssZTUCZszHEiPlbZmkoGU7YWow33M el5n4GmElL+jIEZ8yboY+EvOTh3dINAkC8E3AxW20RnAPn5gDvHlcSzR1MYABgcxCOOPvH 54O0+DpsYHxlL7mtRz/67Wp648ewE+gXDyl0lIEQtoG62KRBuE9AnQLFfEo2i0POKF4TkB 5wZNoZFnuZMV1whcC89Yxhb+3gwEVuksue3fWOM3XXeV+QN3TjfB8tgP5SrU6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IPKM4IO85K7Iws4zUOAgHxoXF2XFAtM+5Z8VJyYSeOo=; b=snrRvIh5tlqq4b4CUPCa5Q+nkihCPAf/o4rSTi4qrD2cyTUUt81NNEpE/pFZ1MR8K0Rntc D4oOMtwiLUsuJj/Q7fefrPrvbOzsziLaPsCxv/2Z/2urqTT28M9uismrWDssLF+eXwK3Zd xqJ8ZSk2lGb/T4mnSnbEZUPAVr9TnrFHAJdVPi6toXBNqy1pXW1nFNU5DvK/EdRNyquxgE YFYnjhiDzV2aGp1b4yxnQP7bWRvfucgdDELWp8tc+gd7xLiwPKIj0Ae8W6quyyYdq+aWjo BdavsQO9orj9TiBOWQo+303H9cAg8uCyq/XGG6RCS1GrgNjvLekvbw+R4dLB0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k41HsBzvYV; Mon, 03 Mar 2025 16:12: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 523GCSLE007246; Mon, 3 Mar 2025 16:12:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCSQJ007243; Mon, 3 Mar 2025 16:12:28 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:28 GMT Message-Id: <202503031612.523GCSQJ007243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: a2e2178402af - main - riscv: parse memory regions from EFI map header List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2e2178402afff939cb90e75c65ded0a9da8ac5c Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a2e2178402afff939cb90e75c65ded0a9da8ac5c commit a2e2178402afff939cb90e75c65ded0a9da8ac5c Author: Mitchell Horne AuthorDate: 2025-03-03 15:49:17 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 riscv: parse memory regions from EFI map header Using the newly isolated efi_map interface (subr_efi_map.c). The primary goal is a greater adherence to the EFI firmware's view of memory, and protection of its reserved regions. This is a better source of truth than the device tree. For example, regions marked as RuntimeServicesData must be excluded from general memory allocations for EFI runtime services to eventually be enabled on the platform (planned but not currently in progress). The secondary impact is when loading a new/custom device tree via loader(8); use of the EFI map ensures that reservations made by firmware (OpenSBI, u-boot) are maintained. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49131 --- sys/conf/files.riscv | 1 + sys/riscv/riscv/machdep.c | 63 ++++++++++++++++++++++++++++------------------- 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/sys/conf/files.riscv b/sys/conf/files.riscv index cc18ecb6eb36..0d782239c89c 100644 --- a/sys/conf/files.riscv +++ b/sys/conf/files.riscv @@ -30,6 +30,7 @@ kern/msi_if.m standard kern/pic_if.m standard kern/subr_devmap.c standard kern/subr_dummy_vdso_tc.c standard +kern/subr_efi_map.c standard kern/subr_intr.c standard kern/subr_physmem.c standard libkern/bcopy.c standard diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 8d32d348df7d..03f5926c3739 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -468,6 +469,7 @@ void initriscv(struct riscv_bootparams *rvbp) { struct mem_region mem_regions[FDT_MEM_REGIONS]; + struct efi_map_header *efihdr; struct pcpu *pcpup; int mem_regions_sz; vm_offset_t lastaddr; @@ -516,21 +518,40 @@ initriscv(struct riscv_bootparams *rvbp) } pcpup->pc_hart = boot_hart; -#ifdef FDT - /* - * Exclude reserved memory specified by the device tree. Typically, - * this contains an entry for memory used by the runtime SBI firmware. - */ - if (fdt_get_reserved_mem(mem_regions, &mem_regions_sz) == 0) { - physmem_exclude_regions(mem_regions, mem_regions_sz, - EXFLAG_NODUMP | EXFLAG_NOALLOC); + efihdr = (struct efi_map_header *)preload_search_info(preload_kmdp, + MODINFO_METADATA | MODINFOMD_EFI_MAP); + if (efihdr != NULL) { + efi_map_add_entries(efihdr); + efi_map_exclude_entries(efihdr); } +#ifdef FDT + else { + /* Exclude reserved memory specified by the device tree. */ + if (fdt_get_reserved_mem(mem_regions, &mem_regions_sz) == 0) { + physmem_exclude_regions(mem_regions, mem_regions_sz, + EXFLAG_NODUMP | EXFLAG_NOALLOC); + } - /* Grab physical memory regions information from device tree. */ - if (fdt_get_mem_regions(mem_regions, &mem_regions_sz, NULL) != 0) { - panic("Cannot get physical memory regions"); + /* Grab physical memory regions information from device tree. */ + if (fdt_get_mem_regions(mem_regions, &mem_regions_sz, NULL) != 0) + panic("Cannot get physical memory regions"); + physmem_hardware_regions(mem_regions, mem_regions_sz); + + /* + * XXX: Unconditionally exclude the lowest 2MB of physical + * memory, as this area is assumed to contain the SBI firmware, + * and this is not properly reserved in all cases (e.g. in + * older firmware like BBL). + * + * This is a little fragile, but it is consistent with the + * platforms we support so far. + * + * TODO: remove this when the all regular booting methods + * properly report their reserved memory in the device tree. + */ + physmem_exclude_region(mem_regions[0].mr_start, L2_SIZE, + EXFLAG_NODUMP | EXFLAG_NOALLOC); } - physmem_hardware_regions(mem_regions, mem_regions_sz); #endif /* @@ -541,19 +562,6 @@ initriscv(struct riscv_bootparams *rvbp) /* Do basic tuning, hz etc */ init_param1(); -#ifdef FDT - /* - * XXX: Unconditionally exclude the lowest 2MB of physical memory, as - * this area is assumed to contain the SBI firmware. This is a little - * fragile, but it is consistent with the platforms we support so far. - * - * TODO: remove this when the all regular booting methods properly - * report their reserved memory in the device tree. - */ - physmem_exclude_region(mem_regions[0].mr_start, L2_SIZE, - EXFLAG_NODUMP | EXFLAG_NOALLOC); -#endif - /* Bootstrap enough of pmap to enter the kernel proper */ kernlen = (lastaddr - KERNBASE); pmap_bootstrap(rvbp->kern_phys, kernlen); @@ -588,8 +596,11 @@ initriscv(struct riscv_bootparams *rvbp) if (env != NULL) strlcpy(kernelname, env, sizeof(kernelname)); - if (boothowto & RB_VERBOSE) + if (boothowto & RB_VERBOSE) { + if (efihdr != NULL) + efi_map_print_entries(efihdr); physmem_print_tables(); + } early_boot = 0; From nobody Mon Mar 3 16:12: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 4Z63k600Pbz5pjR6; Mon, 03 Mar 2025 16:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k53W9vz40Hd; Mon, 03 Mar 2025 16:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpsiCpH5DaRbUEWjZiFOtZ6zbwoYpV7oyKwNVnFCtUo=; b=e6e4NNb1RPi+zVu1mqBb2lK4k8tgUA/E8QnCMo55lgidrxDvDdtqCcqkGTLn4mDasg41cc Uz5XApwpTPlvDgEkuuWcctrpT4JLXSfYTTlqmNJV6QO4vnmoRcBeUJ5XkX0POSMGQKloll 4rrq9JnSyOjUohttDLcolF8swXMyA8w6SpGsqfdxu3Xm2wHt++MEb+XbGORX397U/G++vu l8DX/+h36Jdbu83XzJbRYBNqsmvq4B1GeZ80ofwuqNTK0NEW2fQ927GD5q/yDYfB8GQIHQ n8fN2jScxzQhV0jKrcKYcuBXp8FE8hJVKM5yNfpKtENYdsxsSEq4GsZZvu2oSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018349; a=rsa-sha256; cv=none; b=vIQrXqTmLRTThS8CXUULZ/F0s61bFxmnadXSEhDBEwsfuY4KGaY1/rwM/Wje5++yvJy07l rZxCtiecwYtDogAIu9d1KoxGZ+0BEtCUxcKV9+yPXXo6UVFKa0PIW2fSIBa3eUx47FMrjY z2t7Pl+xL7JiYLpnVmDCu+VfZ6uuJtRvMk52vPg9jZ014/Yd+SDvLp+oic+bhXmvxq2EhX lsLBzkrurlZ9a/sCOmO6lofhsFfpNlF1OeyJzaxpeRbcMLTSiAnaSV7bqXGnNG7zH2Lkx4 JtJB+NJWeajFEx3K7LL94ywtJs1DSjHjiSOKAbo9PkEsUdAe6LOZt+O1URPiew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IpsiCpH5DaRbUEWjZiFOtZ6zbwoYpV7oyKwNVnFCtUo=; b=bZXrRj2TniMzArAX107isqF3aToBPHu0hBd4czi2GDJKYDvdmjnO2MbYxadWdXR0O/jp6b 1J1khOUTLAKthAgsMEhkkiaA0k6oh4+bUfnqFonImVZvoaQqhUmzb0daO0fFLJgCaf9/+w mzFvY4GH7wPuE4uLVUus7R/A5Z9Q1x0GOV+dY9q7lKwPfdED4H/Jd7YlwXD9b1XeEEipLC 8vJDos7p7GvYYHzEfxTgTzE+RSHhJmMgu9K+YXtc3hncaoLT+xxRl/KYJ8wp8jp7He2G/l 3OltjUB2qt+kP07VBTHk1lbOUsiK4V7ZZDSG4l7t4ec6y3ZHF/lImznaClux+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k52GGgzvZl; Mon, 03 Mar 2025 16:12: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 523GCTQW007281; Mon, 3 Mar 2025 16:12:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCTO4007278; Mon, 3 Mar 2025 16:12:29 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:29 GMT Message-Id: <202503031612.523GCTO4007278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: e2a08ac9ce42 - main - riscv: enable EFI framebuffer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2a08ac9ce424f543a2f03c67fb882fdabbdd32a Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=e2a08ac9ce424f543a2f03c67fb882fdabbdd32a commit e2a08ac9ce424f543a2f03c67fb882fdabbdd32a Author: Mitchell Horne AuthorDate: 2025-03-03 15:46:39 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 riscv: enable EFI framebuffer Pass framebuffer information from loader(8) to the kernel via the MODINFOMD_EFI_FB metadata field. Enable the vt_efifb driver. A small tweak is required to work around the lack of VM_MEMATTR_WRITE_COMBINING on this platform; we use VM_MEMATTR_UNCACHEABLE instead. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48884 --- stand/efi/loader/bootinfo.c | 2 +- sys/dev/vt/hw/efifb/efifb.c | 9 +++++++-- sys/riscv/conf/GENERIC | 1 + sys/riscv/include/metadata.h | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 3e74a9228b5e..ca86a319613f 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -182,7 +182,7 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) struct efi_map_header *efihdr; bool do_vmap; -#if defined(__amd64__) || defined(__aarch64__) || defined(__i386__) +#ifdef MODINFOMD_EFI_FB struct efi_fb efifb; efifb.fb_addr = gfx_state.tg_fb.fb_addr; diff --git a/sys/dev/vt/hw/efifb/efifb.c b/sys/dev/vt/hw/efifb/efifb.c index eda05ec3d203..ad49b6735998 100644 --- a/sys/dev/vt/hw/efifb/efifb.c +++ b/sys/dev/vt/hw/efifb/efifb.c @@ -96,9 +96,11 @@ vt_efifb_init(struct vt_device *vd) { struct fb_info *info; struct efi_fb *efifb; - int memattr; + vm_memattr_t memattr; int roff, goff, boff; - char attr[16]; + +#ifdef VM_MEMATTR_WRITE_COMBINING + char attr[16]; /* * XXX TODO: I think there's more nuance here than we're acknowledging, @@ -122,6 +124,9 @@ vt_efifb_init(struct vt_device *vd) memattr = VM_MEMATTR_UNCACHEABLE; } } +#else + memattr = VM_MEMATTR_UNCACHEABLE; +#endif info = vd->vd_softc; if (info == NULL) diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC index 34426f167963..8dca3bdb3369 100644 --- a/sys/riscv/conf/GENERIC +++ b/sys/riscv/conf/GENERIC @@ -140,6 +140,7 @@ device uart_ns8250 # ns8250-type UART driver # Console device vt +device vt_efifb device kbdmux # RTC diff --git a/sys/riscv/include/metadata.h b/sys/riscv/include/metadata.h index fbc0afce5c10..6ade03e15ea3 100644 --- a/sys/riscv/include/metadata.h +++ b/sys/riscv/include/metadata.h @@ -30,6 +30,7 @@ #define MODINFOMD_DTBP 0x1001 #define MODINFOMD_EFI_MAP 0x1002 +#define MODINFOMD_EFI_FB 0x1003 struct efi_map_header { size_t memory_size; From nobody Mon Mar 3 16:12: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 4Z63k657pWz5pjlf; Mon, 03 Mar 2025 16:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k63rHPz40Kj; Mon, 03 Mar 2025 16:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYcMZ8JJAfOqoQUem62w/VyAjda7BFW6cO1aVXIfA1g=; b=QmwbtuLAltXVsbVlPWo96z4A9FYNpP2sg1wDrN0mGTm1Klg8AvDh+ABnqVxiUTVzTs3ez5 vEJ0rU2Efjh8h6bqlBoth+fPUUAJr4VKnoyWja8BuODDtTxw3gjm6dYo4fDTbF49QG7cu8 epLa8YoFOGrrR6iTquWzPcBtW/9ZEDIdElwvrtI27lHsp/gJ/BMR9yu/CkepVTi4NtczQ0 ir0b0Zg5/hnHn75USVtVClyUK8aVTq58zQK8ITfiKm30EUxPZk5e8cKCq/nQqn67ECTsIK qz0+H7DQJnR4O/jAZ+9q3nrLM8X3mytqXdw4YwTXMX1YqGvsGADy6zOWVtVvaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018350; a=rsa-sha256; cv=none; b=AVLniSYgt7c8DRMc+LVvLZuASvbI8xFJ67ObiC/uZeiwdu1m4CV1RdC4RW3ikzuSQlrDNQ vPEpXVBCPryz1eM4p8ImRjAC6PBVQn/qDy7y/nKbf2S1n3g6YPXJ+8gDP+AHI97Yv6OPkS 4QSIxO3Peo9DVA2fCRRn2QGlgweyhkylNuIdKF/p4gptwEHfGx9aMSvVvutTZUICIRBJcZ Ac9+MWppZDezits7EgbIOFI6kNVthbzcWupkj4gU5EWwI5pT+pR+czFpm4VAoQzrycevGE ZlbT6dnnHWLSTt9FrkftMgvxHD6ccOoaDSw/Xk5HIAIphYXvjAEnLDrmpiMDxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RYcMZ8JJAfOqoQUem62w/VyAjda7BFW6cO1aVXIfA1g=; b=IOlcbAoutDocizrulZBTBEgKcVJCoSnKm/AnXIRlt5f9kiBSxIVyFULOnDkhFBbTOULt4C xsEmeOHMUb66aHLR6v7mTuxVg/Qrx1zdzNi27tXDgdHgKoNlBDCqthX0FBFFM0hpPDdhhB w1WclwzFnTzPfzvsKGe+jvUbNHyW/mjQJ6l1X7dcL04E3gn+4VWr8zm+PLLZia90HV7rtm 4CsPlmtFOQHH2bFJZI2yDBBjBkwxdWhfRBgyxLbbPwVADtBrPSOGfxcnthWviCKJyCTLco fymYqATX4VcYdSOCvJP3m1lVD5O6Ynj+DgPi6GLTPXLvHm6PPmRqGpBIHOHplg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k637J1zv4f; Mon, 03 Mar 2025 16:12: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 523GCUCU007336; Mon, 3 Mar 2025 16:12:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCUpZ007328; Mon, 3 Mar 2025 16:12:30 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:30 GMT Message-Id: <202503031612.523GCUpZ007328@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 62c0997d4317 - main - efiprot.h: add definitions for RISCV_EFI_BOOT_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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 62c0997d4317390685afdd35a28396f2a6f0b2a3 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=62c0997d4317390685afdd35a28396f2a6f0b2a3 commit 62c0997d4317390685afdd35a28396f2a6f0b2a3 Author: Mitchell Horne AuthorDate: 2025-03-03 15:46:56 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 efiprot.h: add definitions for RISCV_EFI_BOOT_PROTOCOL It seems like this file was vendored (sorta) originally, but we have not kept it in sync with the original source, if it still exists. Follow the precedent in commit acf82d2659879, and just add the definition to the bottom of the file, keeping its style conventions. Defined here: https://github.com/riscv-non-isa/riscv-uefi Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48885 --- stand/efi/include/efiprot.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/stand/efi/include/efiprot.h b/stand/efi/include/efiprot.h index be11ea83b3a2..5b8ac2309c8e 100644 --- a/stand/efi/include/efiprot.h +++ b/stand/efi/include/efiprot.h @@ -632,4 +632,31 @@ typedef struct _EFI_COMPONENT_NAME2 { CHAR8 **SupportedLanguages; } EFI_COMPONENT_NAME2; +// +// RISC-V EFI Boot Protocol +// +// https://github.com/riscv-non-isa/riscv-uefi +// + +#define RISCV_EFI_BOOT_PROTOCOL_GUID \ + { 0xccd15fec, 0x6f73, 0x4eec, {0x83, 0x95, 0x3e, 0x69, 0xe4, 0xb9, 0x40, 0xbf} } + +INTERFACE_DECL(_RISCV_EFI_BOOT_PROTOCOL); + +#define RISCV_EFI_BOOT_PROTOCOL_REVISION 0x00010000 +#define RISCV_EFI_BOOT_PROTOCOL_LATEST_VERSION \ + RISCV_EFI_BOOT_PROTOCOL_REVISION + +typedef +EFI_STATUS +(EFIAPI *EFI_GET_BOOT_HARTID) ( + IN struct _RISCV_EFI_BOOT_PROTOCOL *This, + OUT UINTN *BootHartId + ); + +typedef struct _RISCV_EFI_BOOT_PROTOCOL { + UINT64 Revision; + EFI_GET_BOOT_HARTID GetBootHartId; +} RISCV_EFI_BOOT_PROTOCOL; + #endif From nobody Mon Mar 3 16:12: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 4Z63k76tSfz5pjR9; Mon, 03 Mar 2025 16:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z63k7494Rz40V8; Mon, 03 Mar 2025 16:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Is0vRIVR57w4u2WHBip5byzR7IqR+cnTtr4aXLgdLq8=; b=BNGFWIJ6sTwWBUNS7xbqIN4px8Rwx2FB9H5HNix5yNbkjAbm/Y/w6X+vY/g7pTrBLrDlDM P9HamfXHqaMVOx8FE0W2fqM4Fqmswd28LiJGOJAG7v41takY+3+6vLl1H/GZnmw9h/1FBb HMzB30yW17ner34r+VGtJBtsCxLc133qvFIBfI/X6BYw3R5pbzjC0nY1OdXV4p9xJL6+B1 AJL+Ao3moBkFELfyRIxpraLdhX7JOgq0rLmgx2bPSGeHzX7xt0Ex/msluEFJC7BhFHalae BiUfLUIWH/95APLsnUIjiwrXhzB3cpURdDIzEfz6l/qSnz+ZhELA24siAB+otg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741018351; a=rsa-sha256; cv=none; b=gWBJSXAUFUfYK5sPT+dMZELF/jFjNR0Z6nSnRXAa2pQlYDXcOUW6o8OJOIF3DDU1iQen2R c5xO1icyNYgn43j+z+FzxLbDrwk5zI6uvRQiiKY6rCPXI23XgMTy5AJs+TEpBLjFx54jm2 eHLnr8g+pEkUWCYi4UBwp5JLKiTUj82atE5jEWpksxNrMDKe7kZ8G5lXEdcvbAhSZe78u7 32rhsc77BVwmLkf9lJMULAP3rQc3g05BO1c5Ikq4Hbp78A+qoWD1WWldDENlNhV79Nn7zC /4s5QI2a8eYf/IwCFR+qyqOXnU3ZC2YcrsGKudAey4xu8r7ZG3J+GpeHPQGa8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741018351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Is0vRIVR57w4u2WHBip5byzR7IqR+cnTtr4aXLgdLq8=; b=YH3ct6QDkuTORoTIOCDdqR3/YlJiQoWYaCwhwB9eBqAsNyXFySd+ttwa1dfnKafujqhfnw Utxi6K9Rz30C24bnW90/G4owqrxpbHhRPFFPVyKECjTmXrg+8S4c7STcbu/Age8kk/AGV5 0nT9P+oz/BtRQ3XarbmsDlTxYPovGyMCOqr16lJalVATdr+NzmipEFyxoxG4MzxIV2K5OD YTFSxzfREiKPnk8dgoiEsMwX02WgzrrZaG0xyx0OQm9qEWzAQBvMdK7uVcZE5hQyInrSSW xeMzDPvuTsv2RJXvO8JHfAyE2hHSUKcJZ9dCyfqL/Hg8d/YIyOUkf8tUi0OUNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z63k73jLSzv4h; Mon, 03 Mar 2025 16:12: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 523GCVOA008225; Mon, 3 Mar 2025 16:12:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523GCV5C008222; Mon, 3 Mar 2025 16:12:31 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:12:31 GMT Message-Id: <202503031612.523GCV5C008222@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 04a812ae94e4 - main - riscv/stand: pass boot hart in loader metadata List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04a812ae94e44982ee7f86e5de8a5caccdbc8a81 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=04a812ae94e44982ee7f86e5de8a5caccdbc8a81 commit 04a812ae94e44982ee7f86e5de8a5caccdbc8a81 Author: Mitchell Horne AuthorDate: 2025-03-03 15:47:23 +0000 Commit: Mitchell Horne CommitDate: 2025-03-03 16:12:15 +0000 riscv/stand: pass boot hart in loader metadata Use the RISCV_EFI_BOOT_PROTOCOL to fetch the boot hart ID, and communicate this to the kernel via new metadata field (MODINFOMD_BOOT_HART). If the boot hart is not found this way, fall back to the (now deprecated) device-tree method. The assumption that a hart ID can be represented with a 32-bit unsigned integer is unchanged in the kernel, but from the loader we pass the full 64-bit value. This ensures that this API won't need to change in the future, should the wider value become necessary. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48887 --- stand/efi/loader/arch/riscv/exec.c | 25 ++++++++++++++++ sys/kern/subr_module.c | 10 +++++++ sys/riscv/include/metadata.h | 1 + sys/riscv/riscv/machdep.c | 61 +++++++++++++++++++++++++------------- 4 files changed, 77 insertions(+), 20 deletions(-) diff --git a/stand/efi/loader/arch/riscv/exec.c b/stand/efi/loader/arch/riscv/exec.c index 0fc28cba78c1..9da61229ef68 100644 --- a/stand/efi/loader/arch/riscv/exec.c +++ b/stand/efi/loader/arch/riscv/exec.c @@ -2,6 +2,7 @@ * Copyright (c) 2001 Benno Rice * Copyright (c) 2007 Semihalf, Rafal Jaworowski * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -40,6 +41,28 @@ #include "bootstrap.h" #include "loader_efi.h" +static void +riscv_set_boot_hart(struct preloaded_file *fp) +{ + EFI_GUID riscvboot = RISCV_EFI_BOOT_PROTOCOL_GUID; + RISCV_EFI_BOOT_PROTOCOL *proto; + EFI_STATUS status = 0; + uint64_t boot_hartid = ULONG_MAX; + + status = BS->LocateProtocol(&riscvboot, NULL, (void **)&proto); + if (EFI_ERROR(status)) { + return; + } + + status = proto->GetBootHartId(proto, &boot_hartid); + if (EFI_ERROR(status)) { + return; + } + + file_addmetadata(fp, MODINFOMD_BOOT_HARTID, sizeof(boot_hartid), + &boot_hartid); +} + static int __elfN(exec)(struct preloaded_file *fp) { @@ -52,6 +75,8 @@ __elfN(exec)(struct preloaded_file *fp) if ((fmp = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return (EFTYPE); + riscv_set_boot_hart(fp); + e = (Elf_Ehdr *)&fmp->md_data; efi_time_fini(); diff --git a/sys/kern/subr_module.c b/sys/kern/subr_module.c index 596961606577..d07990cebdc3 100644 --- a/sys/kern/subr_module.c +++ b/sys/kern/subr_module.c @@ -442,6 +442,11 @@ preload_modinfo_type(struct sbuf *sbp, int type) case MODINFOMD_SPLASH: sbuf_cat(sbp, "MODINFOMD_SPLASH"); break; +#endif +#ifdef MODINFOMD_BOOT_HARTID + case MODINFOMD_BOOT_HARTID: + sbuf_cat(sbp, "MODINFOMD_BOOT_HARTID"); + break; #endif default: sbuf_cat(sbp, "unrecognized metadata type"); @@ -503,6 +508,11 @@ preload_modinfo_value(struct sbuf *sbp, uint32_t *bptr, int type, int len) case MODINFO_METADATA | MODINFOMD_HOWTO: sbuf_printf(sbp, "0x%08x", *bptr); break; +#ifdef MODINFOMD_BOOT_HARTID + case MODINFO_METADATA | MODINFOMD_BOOT_HARTID: + sbuf_printf(sbp, "0x%lu", *(uint64_t *)bptr); + break; +#endif case MODINFO_METADATA | MODINFOMD_SHDR: case MODINFO_METADATA | MODINFOMD_ELFHDR: case MODINFO_METADATA | MODINFOMD_FW_HANDLE: diff --git a/sys/riscv/include/metadata.h b/sys/riscv/include/metadata.h index 6ade03e15ea3..ddbad3fae3b4 100644 --- a/sys/riscv/include/metadata.h +++ b/sys/riscv/include/metadata.h @@ -31,6 +31,7 @@ #define MODINFOMD_DTBP 0x1001 #define MODINFOMD_EFI_MAP 0x1002 #define MODINFOMD_EFI_FB 0x1003 +#define MODINFOMD_BOOT_HARTID 0x1004 struct efi_map_header { size_t memory_size; diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 03f5926c3739..fea4ca9a7b92 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -419,6 +419,45 @@ fake_preload_metadata(struct riscv_bootparams *rvbp) /* Support for FDT configurations only. */ CTASSERT(FDT); +static void +parse_boot_hartid(void) +{ + uint64_t *mdp; +#ifdef FDT + phandle_t chosen; + uint32_t hart; +#endif + + mdp = (uint64_t *)preload_search_info(preload_kmdp, + MODINFO_METADATA | MODINFOMD_BOOT_HARTID); + if (mdp != NULL && *mdp < UINT32_MAX) { + boot_hart = (uint32_t)*mdp; + goto out; + } + +#ifdef FDT + /* + * Deprecated: + * + * Look for the boot hart ID. This was either passed in directly from + * the SBI firmware and handled by locore, or was stored in the device + * tree by an earlier boot stage. + */ + chosen = OF_finddevice("/chosen"); + if (OF_getencprop(chosen, "boot-hartid", &hart, sizeof(hart)) != -1) { + boot_hart = hart; + } +#endif + + /* We failed... */ + if (boot_hart == BOOT_HART_INVALID) { + panic("Boot hart ID was not properly set"); + } + +out: + PCPU_SET(hart, boot_hart); +} + #ifdef FDT static void parse_fdt_bootargs(void) @@ -462,6 +501,8 @@ parse_metadata(void) if (kern_envp == NULL) parse_fdt_bootargs(); #endif + parse_boot_hartid(); + return (lastaddr); } @@ -474,10 +515,6 @@ initriscv(struct riscv_bootparams *rvbp) int mem_regions_sz; vm_offset_t lastaddr; vm_size_t kernlen; -#ifdef FDT - phandle_t chosen; - uint32_t hart; -#endif char *env; TSRAW(&thread0, TS_ENTER, __func__, NULL); @@ -502,22 +539,6 @@ initriscv(struct riscv_bootparams *rvbp) } lastaddr = parse_metadata(); -#ifdef FDT - /* - * Look for the boot hart ID. This was either passed in directly from - * the SBI firmware and handled by locore, or was stored in the device - * tree by an earlier boot stage. - */ - chosen = OF_finddevice("/chosen"); - if (OF_getencprop(chosen, "boot-hartid", &hart, sizeof(hart)) != -1) { - boot_hart = hart; - } -#endif - if (boot_hart == BOOT_HART_INVALID) { - panic("Boot hart ID was not properly set"); - } - pcpup->pc_hart = boot_hart; - efihdr = (struct efi_map_header *)preload_search_info(preload_kmdp, MODINFO_METADATA | MODINFOMD_EFI_MAP); if (efihdr != NULL) { From nobody Mon Mar 3 16:52: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 4Z64br6y6Hz5pmy1; Mon, 03 Mar 2025 16:52:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z64br6C1yz45TQ; Mon, 03 Mar 2025 16:52:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741020728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qFMNBwXxgKVTGt0MIAkuI101cBW0WHdn9LrBb3rQW/w=; b=PBBvweMADCSLRTsGdl2kSCjeB6dnpAFPMHsrrwqsMtaBWpGaerhiDJn45mUwaSwIXjONGM qaql17PzZDJCpe9ML41j6RYVU88Qir0askPrfnG7LHnMDowdhB0OcaNJdMWvzE5m/Jk/C2 QUh0MhMGl39DiMq8jWHZT4gYVxe7dlu0kNETITQsKK5AefBw3puETA3fiLbzii759Sz44i 83WohQ4Q23qgKUrsXAXeQNtQvoSyrZ8uCH0oiTdbSwWmqYxhvCcFOYGq3FRHoymWkyXC1C LXPzLWKNrciMpmp8MxZbb2gbhSem8h9oMo2kCZwpIuulbrNSaBE3joUkl0CznA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741020728; a=rsa-sha256; cv=none; b=cQ9A9uT75HI3zCWD+CfoXKLjvUvP6nz/M+jTGSlL8kXjZa8VP1pVrghACTBIdjYDracLf0 jsdQ3iKWn41Z2XjLnOdht3wa4mwSEtyssZtN7LgR9l+A3WRBNPhly/F7OysUZnSvFtTpNo Gv7S0bqFFMZ3p33EHm6BcQXAUfkhXfLI5cspIkN29Ux8POMUb+oi60HZ+ZLHCJtTs+/dkK bw0NvIV+TSz+ewMjKaJbe0GBEE6U0hOKuX/06Nz9s5Su3mxwnz5JhBjwjtvZ/fvy3SYDZR sjmtNMhMqwyPwHGGvktRt7c/w5Vdt7Mi+wBShuI0j945PY6k23IppEui5EnvCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741020728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qFMNBwXxgKVTGt0MIAkuI101cBW0WHdn9LrBb3rQW/w=; b=CQgMkipqOsL/MPhfw6UVM4LXPPdeq7S90g0iwhaSYDBGE+al0kMz6TDuXNGDvt0gcpCzw9 /3Nr6jPrnoevEhxxKdwMcOl7rvmu2NsfsksqSaGmWODx+QGkuifKaTwlcpkYB4pXXp/0dS 7GRNvxXVxOJ8rIJyV+WNp5++E5oTQ6LSXnE8dVsjQClltDsMH0HZUEIwIbdYPxco0PqdHI SUoLEfPRjY1q5DxEQNjOmdWz8Abtr6mC4UKyYuHeRODt+w5SGwJTtsyyu+WehhZd0t2dGu yLh5d9+6QQZxPK+GShSTwzvrr2YUMiLp0Ny60I1WscFSOOgB3kiPmfhZtU78Kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z64br5nv0zwJL; Mon, 03 Mar 2025 16:52: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 523Gq8of079300; Mon, 3 Mar 2025 16:52:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523Gq8Ku079297; Mon, 3 Mar 2025 16:52:08 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:52:08 GMT Message-Id: <202503031652.523Gq8Ku079297@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: bd9709c2b336 - main - .cirrus-ci: Update the non-manual GCC build job to GCC 14 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd9709c2b33646d71d4d4b9c50b5b179c6041760 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bd9709c2b33646d71d4d4b9c50b5b179c6041760 commit bd9709c2b33646d71d4d4b9c50b5b179c6041760 Author: John Baldwin AuthorDate: 2025-03-03 16:51:47 +0000 Commit: John Baldwin CommitDate: 2025-03-03 16:51:47 +0000 .cirrus-ci: Update the non-manual GCC build job to GCC 14 Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49159 --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 5ec1a583255b..2bcb1985e68e 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -131,12 +131,12 @@ task: TOOLCHAIN: aarch64-gcc14 TOOLCHAIN_PKG: ${TOOLCHAIN} EXTRA_MAKE_FLAGS: -s - - name: amd64-gcc13 World and kernel build and boot smoke test (FreeBSD repo) + - name: amd64-gcc14 World and kernel build and boot smoke test (FreeBSD repo) only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src' && $CIRRUS_BRANCH =~ 'pull/.*' env: TARGET: amd64 TARGET_ARCH: amd64 - TOOLCHAIN: amd64-gcc13 + TOOLCHAIN: amd64-gcc14 TOOLCHAIN_PKG: ${TOOLCHAIN} EXTRA_MAKE_FLAGS: -s timeout_in: 120m From nobody Mon Mar 3 16:52: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 4Z64bt20Fyz5pnH7; Mon, 03 Mar 2025 16:52:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z64bt04czz45Lq; Mon, 03 Mar 2025 16:52:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741020730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=291Yl09Rdb1PihYDtLacIppWzQioYURX9qrrmu43UWw=; b=FkkgQ9LPeMKQByYUzoPvzI1tcjZ1aR+IDQ4EeYJrjtHWoql7Tmj4LA+oAbZ6nhKFbhdEn0 f2Q3jO8Yqc4jRw1HSihlQp+yblr/n2M1EbmutBVycqcMRyXuFbqTK9T+pvHBVNv1i9SAwE zKH1eXJFjYOhv1kqnpLGK2Zb7RazbjN/8HHQmNQ3kg2hogEHj5ZN64cQoflnbUOJ+8YMiE hACJbJJ8zuO7pXOZVC8O+uT7h4UkCGhNxLIXH9W+uqoYqZE2fGL7upqyZnKD6N5alaiYzW mdl/Fxh9K4pp9at0STyAX1CJdpAOl4S0ATB5FDS9TSkMpQrynIA0gEL9OVS75g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741020730; a=rsa-sha256; cv=none; b=pH25DAi47buXkmnigMiBa7KveyFa9bv4iZVGOaSxAm+BaZvgmZ+jCQJ4Y2at37IO5gIGjV WAEkupcvnb1b1AhWGg3mLyEfr3EIeRTnuLD9yILs394V59ttACRtuvSeZkfH4xujJ8hDt3 fJEIM4Z0mGyY1FHRxbkuHtcNwTq0s6BpnWx/uJ4JeS+JncOwFePfGYIbpgoBLjHTWmhnbY e98ctsMuvNqA64rwMNDhMlViuz2kyJXLV9/nLyNBAPBBv2I+sNQQBndSCt6bupAw2h+GLf d73OMyGihk8R/nEFKCPWy2DvoScTCMidLOeVrWJDEk681bqBBlr2+5MJyywIUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741020730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=291Yl09Rdb1PihYDtLacIppWzQioYURX9qrrmu43UWw=; b=sCSIKW/m3JE2BmMBbeszaOIydeihRDhnFGEptTXlbMdXQuHtlHkrHvRyqFkMmong0DJrDC P7Y+gLxePe7ptQ1JhEY59M5VGcscTW9XcJXzDQsX9nwHh7AqTrhdTFSBO86Q+ixUxsHvbe 40aDt1eU+0h+QzHNsRmtlIweO/a+nknYKzp226WLx7AQjioainj4mac9E7EoH3rHpDKkkF HIFKw2kKPJsJdH8ysLPXfihijkTR7HBu9SnwpxjdJHAiRNHWbfJhbWih9VgooE7CGrfOlg 5LnqhcE/hcDRfFRmjEWxIE6J+M9dQnOKykH1myPtHfEQkw9eFo9+cBc5AF69gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z64bs6jGxzwKl; Mon, 03 Mar 2025 16:52: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 523Gq9XS079332; Mon, 3 Mar 2025 16:52:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523Gq9m9079329; Mon, 3 Mar 2025 16:52:09 GMT (envelope-from git) Date: Mon, 3 Mar 2025 16:52:09 GMT Message-Id: <202503031652.523Gq9m9079329@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: d4c81623acce - main - universe: Update the default GCC toolchain to GCC 14 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4c81623accede21c756b97e255367bdb664d1e6 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d4c81623accede21c756b97e255367bdb664d1e6 commit d4c81623accede21c756b97e255367bdb664d1e6 Author: John Baldwin AuthorDate: 2025-03-03 16:51:53 +0000 Commit: John Baldwin CommitDate: 2025-03-03 16:51:53 +0000 universe: Update the default GCC toolchain to GCC 14 Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D49160 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b094a7ff8149..4afec2a80c60 100644 --- a/Makefile +++ b/Makefile @@ -540,7 +540,7 @@ TARGET_ARCHES_${target}= ${MACHINE_ARCH_LIST_${target}} .endfor .if defined(USE_GCC_TOOLCHAINS) -_DEFAULT_GCC_VERSION= gcc12 +_DEFAULT_GCC_VERSION= gcc14 _GCC_VERSION= ${"${USE_GCC_TOOLCHAINS:Mgcc*}" != "":?${USE_GCC_TOOLCHAINS}:${_DEFAULT_GCC_VERSION}} TOOLCHAINS_amd64= amd64-${_GCC_VERSION} TOOLCHAINS_arm= armv7-${_GCC_VERSION} From nobody Mon Mar 3 19:00: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 4Z67SJ1FlBz5qDZ1; Mon, 03 Mar 2025 19:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z67SH355Lz3Qww; Mon, 03 Mar 2025 19:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741028447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P5pj82ueB9zJC0xp/0ucTxBjvm9W6M9bkMGr3Axj2dQ=; b=YwHUI3iySNzkd8hkhSRA9LNMPLshntx/DIpvyyN62P2NQgI9lghOmczadKWGWtsHitpnQO j+yI+QVTzbVWynObda8Qf3DgH5vYXQTUZpqTsrKgXRTRo/+kLBe2si19ZJqJFgUiebGcEO IMQ10ZVX4a2C47/yVtVF84zecAaWVXLLcraqvDMGTuxJg9UbBSQCGUWEdki5vJekjLuscH CIIZXbtA0x70FnXtXRK2ZI0rrYMjNbZfy6hw+9yUzTMQPUOG506Yq7Zd7fF1Z9MqwiRnGc 29k8rSKVkJy43qa2s/J69vkGwq0uz0GjLoc8K2fCDYJFP2gZUlWi7xVM4kpTkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741028447; a=rsa-sha256; cv=none; b=KA55xMYPcKxRgDofIMqu541VHy5QcrnibU5QYSIUEdmf3NHXL7sM1+PM0AF1wkDHjV2P9A MUiEqd7LsxmUZmVppRu1SqLQRxm6o7BlInmjer96YXi7M0O10NWCIVhRfQ2rHJkMwCMaMb GpgoMDPTWb6f3ulUfjm06QAyowLf72iH1B7X+DUMGQGWaIL4QLoMNQcD7NHGPbkzdwjvdt 0E5+yoBjyZooDt1MbnjTN47SYUOIcxTsJvEKopWMTNft3hJZM52WXzSjFVP3CveNF+6h79 d/r1ob4LHoTA1evwE1aS9MCPy+/nIZESOHQt2nIzohpGj+s0yqNg4G3P1N++Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741028447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P5pj82ueB9zJC0xp/0ucTxBjvm9W6M9bkMGr3Axj2dQ=; b=aVHpw7W6zhnHjC3JZBNonR6h2KtvQi2vs6SqVtZxE8yr/Gz4WuxGq+cJF8RxEmz8EDb5/p O8dkhtXhxMkA6Ln9pf10/VZZdXjBCZr+gp5uEu1A6XSCDUyr9a4fswDsAWXVHd1s4BEEqT /YvjbxMStXLE7bui76eJopmJpGVtLfcjlL73JUkNSFMnu/JrFuL010gYC5L8e/tAunnQov +wW/YX+TbYTDUIpxuGVquOpwe+kKM+zizOQm0TraC8joV49VxFya1FcFN3l4IBuCXsWfWI dJw7ewnSW9TP/GSGHqXTbEaq8I5+Ng1eQfRgPug1ti9aR5NWxrLeb3fK31ftbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z67SH2ckmz10cV; Mon, 03 Mar 2025 19:00: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 523J0lQL019672; Mon, 3 Mar 2025 19:00:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523J0lMG019668; Mon, 3 Mar 2025 19:00:47 GMT (envelope-from git) Date: Mon, 3 Mar 2025 19:00:47 GMT Message-Id: <202503031900.523J0lMG019668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 4a77657cbc01 - main - ipfw: migrate ipfw to 32-bit size rule numbers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a77657cbc011ea657ccb079fff6b58b295eccb0 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=4a77657cbc011ea657ccb079fff6b58b295eccb0 commit 4a77657cbc011ea657ccb079fff6b58b295eccb0 Author: Andrey V. Elsukov AuthorDate: 2025-03-03 18:15:17 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-03-03 18:15:17 +0000 ipfw: migrate ipfw to 32-bit size rule numbers This changes ABI due to the changed opcodes and includes the following: * rule numbers and named object indexes converted to 32-bits * all hardcoded maximum rule number was replaced with IPFW_DEFAULT_RULE macro * now it is possible to grow maximum numbers or rules in build time * several opcodes converted to ipfw_insn_u32 to keep rulenum: O_CALL, O_SKIPTO * call stack modified to keep u32 rulenum. The behaviour of O_CALL opcode was changed to avoid possible packets looping. Now when call stack is overflowed or mbuf tag allocation failed, a packet will be dropped instead of skipping to next rule. * 'return' action now have two modes to specify return point: 'next-rulenum' and 'next-rule' * new lookup key added for O_IP_DST_LOOKUP opcode 'lookup rulenum' * several opcodes converted to keep u32 named object indexes in special structure ipfw_insn_kidx * tables related opcodes modified to use two structures: ipfw_insn_kidx and ipfw_insn_table * added ability for table value matching for specific value type in 'table(name,valtype=value)' opcode * dynamic states and eaction code converted to use u32 rulenum and named objects indexes * added insntod() and insntoc() macros to cast to specific ipfw instruction type * default sockopt version was changed to IP_FW3_OPVER=1 * FreeBSD 7-11 rule format support was removed * added ability to generate special rtsock messages via log opcode * added IP_FW_SKIPTO_CACHE sockopt to enable/disable skipto cache. It helps to reduce overhead when many rules are modified in batch. * added ability to keep NAT64LSN states during sets swapping Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D46183 --- sbin/ipfw/ipfw.8 | 18 +- sbin/ipfw/ipfw2.c | 593 +++++--- sbin/ipfw/ipfw2.h | 4 +- sbin/ipfw/nat64lsn.c | 16 + sbin/ipfw/tables.c | 2 +- sbin/route/route.c | 1 + sys/net/route.h | 1 + sys/netinet/ip_fw.h | 227 ++- sys/netinet6/ip_fw_nat64.h | 10 +- sys/netpfil/ipfw/ip_fw2.c | 471 +++--- sys/netpfil/ipfw/ip_fw_compat.c | 714 +++++++++ sys/netpfil/ipfw/ip_fw_dynamic.c | 257 ++-- sys/netpfil/ipfw/ip_fw_eaction.c | 71 +- sys/netpfil/ipfw/ip_fw_iface.c | 10 +- sys/netpfil/ipfw/ip_fw_log.c | 315 +++- sys/netpfil/ipfw/ip_fw_nat.c | 10 +- sys/netpfil/ipfw/ip_fw_private.h | 136 +- sys/netpfil/ipfw/ip_fw_sockopt.c | 2171 ++++++++-------------------- sys/netpfil/ipfw/ip_fw_table.c | 483 ++----- sys/netpfil/ipfw/ip_fw_table.h | 16 +- sys/netpfil/ipfw/ip_fw_table_algo.c | 11 +- sys/netpfil/ipfw/ip_fw_table_value.c | 52 +- sys/netpfil/ipfw/nat64/ip_fw_nat64.h | 48 + sys/netpfil/ipfw/nat64/nat64clat.c | 8 +- sys/netpfil/ipfw/nat64/nat64clat.h | 2 +- sys/netpfil/ipfw/nat64/nat64clat_control.c | 80 +- sys/netpfil/ipfw/nat64/nat64lsn.c | 390 +++-- sys/netpfil/ipfw/nat64/nat64lsn.h | 68 +- sys/netpfil/ipfw/nat64/nat64lsn_control.c | 285 ++-- sys/netpfil/ipfw/nat64/nat64stl.c | 10 +- sys/netpfil/ipfw/nat64/nat64stl.h | 6 +- sys/netpfil/ipfw/nat64/nat64stl_control.c | 76 +- sys/netpfil/ipfw/nptv6/nptv6.c | 49 +- sys/netpfil/ipfw/pmod/tcpmod.c | 6 +- sys/sys/socket.h | 4 +- 35 files changed, 3389 insertions(+), 3232 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index bc78ae1c655b..348e9a58f2ce 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,5 +1,5 @@ .\" -.Dd December 6, 2024 +.Dd March 3, 2025 .Dt IPFW 8 .Os .Sh NAME @@ -40,10 +40,10 @@ in-kernel NAT. .Ss SYSCTL SHORTCUTS .Nm .Cm enable -.Brq Cm firewall | altq | one_pass | debug | verbose | dyn_keepalive +.Brq Cm firewall | altq | one_pass | debug | verbose | dyn_keepalive | skipto_cache .Nm .Cm disable -.Brq Cm firewall | altq | one_pass | debug | verbose | dyn_keepalive +.Brq Cm firewall | altq | one_pass | debug | verbose | dyn_keepalive | skipto_cache .Ss LOOKUP TABLES .Nm .Oo Cm set Ar N Oc Cm table Ar name Cm create Ar create-options @@ -1395,6 +1395,16 @@ Matches any IPv4 or IPv6 address for which an entry exists in the lookup table If an optional 32-bit unsigned .Ar value is also specified, an entry will match only if it has this value. +If +.Ar value +is specified in form +.Ar valtype=value , +then specified value type field will be checked. +It can be +.Ar skipto, pipe, fib, nat, dscp, tag, divert, netgraph, limit, nh4 +and +.Ar mark. + See the .Sx LOOKUP TABLES section below for more information on lookup tables. @@ -1865,7 +1875,7 @@ One or more of source and destination addresses and ports can be specified. .It Cm lookup Bro Cm dst-ip | dst-port | dst-mac | src-ip | src-port | src-mac | uid | -.Cm jail | dscp | mark Brc Ar name +.Cm jail | dscp | mark | rulenum Brc Ar name Search an entry in lookup table .Ar name that matches the field specified as argument. diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index cc0970207749..be796808380f 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -290,6 +290,12 @@ static struct _s_x rule_actions[] = { { NULL, 0 } /* terminator */ }; +static struct _s_x return_types[] = { + { "next-rulenum", RETURN_NEXT_RULENUM }, + { "next-rule", RETURN_NEXT_RULE }, + { NULL, 0 } /* terminator */ +}; + static struct _s_x rule_action_params[] = { { "altq", TOK_ALTQ }, { "log", TOK_LOG }, @@ -300,7 +306,7 @@ static struct _s_x rule_action_params[] = { /* * The 'lookup' instruction accepts one of the following arguments. - * Arguments are passed as v[1] in O_DST_LOOKUP options. + * Arguments are passed as o.arg1 and o->value in O_DST_LOOKUP option. */ static struct _s_x lookup_keys[] = { { "dst-ip", LOOKUP_DST_IP }, @@ -313,9 +319,29 @@ static struct _s_x lookup_keys[] = { { "jail", LOOKUP_JAIL }, { "dscp", LOOKUP_DSCP }, { "mark", LOOKUP_MARK }, + { "rulenum", LOOKUP_RULENUM }, { NULL, 0 }, }; +/* + * table(name,valuename=value) instruction accepts one of the + * following arguments as valuename. + */ +static struct _s_x tvalue_names[] = { + { "tag", TVALUE_TAG }, + { "pipe", TVALUE_PIPE }, + { "divert", TVALUE_DIVERT }, + { "skipto", TVALUE_SKIPTO }, + { "netgraph", TVALUE_NETGRAPH }, + { "fib", TVALUE_FIB }, + { "nat", TVALUE_NAT }, + { "nh4", TVALUE_NH4 }, + { "dscp", TVALUE_DSCP }, + { "limit", TVALUE_LIMIT }, + { "mark", TVALUE_MARK }, + { NULL, 0 } +}; + static struct _s_x rule_options[] = { { "tagged", TOK_TAGGED }, { "uid", TOK_UID }, @@ -415,12 +441,12 @@ static int ipfw_show_config(struct cmdline_opts *co, struct format_opts *fo, static void ipfw_list_tifaces(void); struct tidx; -static uint16_t pack_object(struct tidx *tstate, const char *name, int otype); -static uint16_t pack_table(struct tidx *tstate, const char *name); +static uint32_t pack_object(struct tidx *tstate, const char *name, int otype); +static uint32_t pack_table(struct tidx *tstate, const char *name); -static char *table_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx); +static char *table_search_ctlv(ipfw_obj_ctlv *ctlv, uint32_t idx); static void object_sort_ctlv(ipfw_obj_ctlv *ctlv); -static char *object_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx, +static char *object_search_ctlv(ipfw_obj_ctlv *ctlv, uint32_t idx, uint16_t type); int @@ -650,6 +676,7 @@ do_set3(int optname, ip_fw3_opheader *op3, size_t optlen) { op3->opcode = optname; + op3->version = IP_FW3_OPVER; /* use last version */ if (g_co.debug_only) { struct debug_header dbg = { @@ -690,6 +717,7 @@ do_get3(int optname, ip_fw3_opheader *op3, size_t *optlen) socklen_t len; op3->opcode = optname; + op3->version = IP_FW3_OPVER; /* use last version */ if (g_co.debug_only) { struct debug_header dbg = { @@ -1284,6 +1312,15 @@ print_flags(struct buf_pr *bp, char const *name, const ipfw_insn *cmd, } } +static void +print_tvalue(struct buf_pr *bp, const ipfw_insn_table *cmd) +{ + const char *name; + + name = match_value(tvalue_names, IPFW_TVALUE_TYPE(&cmd->o)); + bprintf(bp, ",%s=%u", name != NULL ? name: "", cmd->value); +} + /* * Print the ip address contained in a command. @@ -1295,33 +1332,46 @@ print_ip(struct buf_pr *bp, const struct format_opts *fo, struct hostent *he = NULL; const struct in_addr *ia; const uint32_t *a = ((const ipfw_insn_u32 *)cmd)->d; - uint32_t len = F_LEN((const ipfw_insn *)cmd); + uint32_t len = F_LEN(&cmd->o); char *t; bprintf(bp, " "); - if (cmd->o.opcode == O_IP_DST_LOOKUP && len > F_INSN_SIZE(ipfw_insn_u32)) { - const char *arg; - - arg = match_value(lookup_keys, a[1]); - t = table_search_ctlv(fo->tstate, - ((const ipfw_insn *)cmd)->arg1); - bprintf(bp, "lookup %s %s", arg, t); - return; - } - if (cmd->o.opcode == O_IP_SRC_ME || cmd->o.opcode == O_IP_DST_ME) { + switch (cmd->o.opcode) { + case O_IP_SRC_ME: + case O_IP_DST_ME: bprintf(bp, "me"); return; - } - if (cmd->o.opcode == O_IP_SRC_LOOKUP || - cmd->o.opcode == O_IP_DST_LOOKUP) { + + case O_IP_DST_LOOKUP: + if ((len == F_INSN_SIZE(ipfw_insn_kidx) || + len == F_INSN_SIZE(ipfw_insn_table)) && + IPFW_LOOKUP_TYPE(&cmd->o) != LOOKUP_NONE) { + const char *key; + + key = match_value(lookup_keys, + IPFW_LOOKUP_TYPE(&cmd->o)); + t = table_search_ctlv(fo->tstate, + insntoc(&cmd->o, kidx)->kidx); + if (len == F_INSN_SIZE(ipfw_insn_table)) { + bprintf(bp, "lookup %s:%#x %s", + (key != NULL ? key : ""), + insntoc(&cmd->o, table)->value, t); + } else + bprintf(bp, "lookup %s %s", key != NULL ? key: + "", t); + return; + } + /* FALLTHROUGH */ + case O_IP_SRC_LOOKUP: t = table_search_ctlv(fo->tstate, - ((const ipfw_insn *)cmd)->arg1); + insntoc(&cmd->o, kidx)->kidx); bprintf(bp, "table(%s", t); - if (len == F_INSN_SIZE(ipfw_insn_u32)) - bprintf(bp, ",%u", *a); + if (len == F_INSN_SIZE(ipfw_insn_table)) + print_tvalue(bp, insntoc(&cmd->o, table)); bprintf(bp, ")"); return; } + if (cmd->o.opcode == O_IP_SRC_SET || cmd->o.opcode == O_IP_DST_SET) { const uint32_t *map = (const uint32_t *)&cmd->mask; struct in_addr addr; @@ -1427,10 +1477,10 @@ print_mac_lookup(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, " "); - t = table_search_ctlv(fo->tstate, cmd->arg1); + t = table_search_ctlv(fo->tstate, insntoc(cmd, kidx)->kidx); bprintf(bp, "table(%s", t); - if (len == F_INSN_SIZE(ipfw_insn_u32)) - bprintf(bp, ",%u", ((const ipfw_insn_u32 *)cmd)->d[0]); + if (len == F_INSN_SIZE(ipfw_insn_table)) + print_tvalue(bp, insntoc(cmd, table)); bprintf(bp, ")"); } @@ -1497,10 +1547,9 @@ print_dscp(struct buf_pr *bp, const ipfw_insn_u32 *cmd) } } -#define insntod(cmd, type) ((const ipfw_insn_ ## type *)(cmd)) struct show_state { struct ip_fw_rule *rule; - const ipfw_insn *eaction; + const ipfw_insn_kidx *eaction; uint8_t *printed; int flags; #define HAVE_PROTO 0x0001 @@ -1583,7 +1632,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, switch (cmd->opcode) { case O_PROB: - d = 1.0 * insntod(cmd, u32)->d[0] / 0x7fffffff; + d = 1.0 * insntoc(cmd, u32)->d[0] / 0x7fffffff; bprintf(bp, "prob %f ", d); break; case O_PROBE_STATE: /* no need to print anything here */ @@ -1596,30 +1645,36 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, case O_IP_SRC_SET: if (state->flags & HAVE_SRCIP) bprintf(bp, " src-ip"); - print_ip(bp, fo, insntod(cmd, ip)); + print_ip(bp, fo, insntoc(cmd, ip)); break; case O_IP_DST: - case O_IP_DST_LOOKUP: case O_IP_DST_MASK: case O_IP_DST_ME: case O_IP_DST_SET: - if (state->flags & HAVE_DSTIP) + case O_IP_DST_LOOKUP: + /* + * Special handling for O_IP_DST_LOOKUP when + * lookup type is not LOOKUP_NONE. + */ + if ((state->flags & HAVE_DSTIP) != 0 && ( + cmd->opcode != O_IP_DST_LOOKUP || + IPFW_LOOKUP_TYPE(cmd) == LOOKUP_NONE)) bprintf(bp, " dst-ip"); - print_ip(bp, fo, insntod(cmd, ip)); + print_ip(bp, fo, insntoc(cmd, ip)); break; case O_IP6_SRC: case O_IP6_SRC_MASK: case O_IP6_SRC_ME: if (state->flags & HAVE_SRCIP) bprintf(bp, " src-ip6"); - print_ip6(bp, insntod(cmd, ip6)); + print_ip6(bp, insntoc(cmd, ip6)); break; case O_IP6_DST: case O_IP6_DST_MASK: case O_IP6_DST_ME: if (state->flags & HAVE_DSTIP) bprintf(bp, " dst-ip6"); - print_ip6(bp, insntod(cmd, ip6)); + print_ip6(bp, insntoc(cmd, ip6)); break; case O_MAC_SRC_LOOKUP: bprintf(bp, " src-mac"); @@ -1630,11 +1685,11 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, print_mac_lookup(bp, fo, cmd); break; case O_FLOW6ID: - print_flow6id(bp, insntod(cmd, u32)); + print_flow6id(bp, insntoc(cmd, u32)); break; case O_IP_DSTPORT: case O_IP_SRCPORT: - print_newports(bp, insntod(cmd, u16), state->proto, + print_newports(bp, insntoc(cmd, u16), state->proto, (state->flags & (HAVE_SRCIP | HAVE_DSTIP)) == (HAVE_SRCIP | HAVE_DSTIP) ? cmd->opcode: 0); break; @@ -1649,10 +1704,10 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, state->proto = cmd->arg1; break; case O_MACADDR2: - print_mac(bp, insntod(cmd, mac)); + print_mac(bp, insntoc(cmd, mac)); break; case O_MAC_TYPE: - print_newports(bp, insntod(cmd, u16), + print_newports(bp, insntoc(cmd, u16), IPPROTO_ETHERTYPE, cmd->opcode); break; case O_FRAG: @@ -1695,26 +1750,27 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, s = "recv"; else /* if (cmd->opcode == O_VIA) */ s = "via"; - switch (insntod(cmd, if)->name[0]) { + switch (insntoc(cmd, if)->name[0]) { case '\0': bprintf(bp, " %s %s", s, - inet_ntoa(insntod(cmd, if)->p.ip)); + inet_ntoa(insntoc(cmd, if)->p.ip)); break; case '\1': bprintf(bp, " %s table(%s)", s, table_search_ctlv(fo->tstate, - insntod(cmd, if)->p.kidx)); + insntoc(cmd, if)->p.kidx)); break; default: bprintf(bp, " %s %s", s, - insntod(cmd, if)->name); + insntoc(cmd, if)->name); } break; case O_IP_FLOW_LOOKUP: - s = table_search_ctlv(fo->tstate, cmd->arg1); + s = table_search_ctlv(fo->tstate, + insntoc(cmd, kidx)->kidx); bprintf(bp, " flow table(%s", s); - if (F_LEN(cmd) == F_INSN_SIZE(ipfw_insn_u32)) - bprintf(bp, ",%u", insntod(cmd, u32)->d[0]); + if (F_LEN(cmd) == F_INSN_SIZE(ipfw_insn_table)) + print_tvalue(bp, insntoc(cmd, table)); bprintf(bp, ")"); break; case O_IPID: @@ -1749,7 +1805,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, } bprintf(bp, " %s %u", s, cmd->arg1); } else - print_newports(bp, insntod(cmd, u16), 0, + print_newports(bp, insntoc(cmd, u16), 0, cmd->opcode); break; case O_IPVER: @@ -1759,7 +1815,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, " ipprecedence %u", cmd->arg1 >> 5); break; case O_DSCP: - print_dscp(bp, insntod(cmd, u32)); + print_dscp(bp, insntoc(cmd, u32)); break; case O_IPOPT: print_flags(bp, "ipoptions", cmd, f_ipopts); @@ -1768,7 +1824,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, print_flags(bp, "iptos", cmd, f_iptos); break; case O_ICMPTYPE: - print_icmptypes(bp, insntod(cmd, u32)); + print_icmptypes(bp, insntoc(cmd, u32)); break; case O_ESTAB: bprintf(bp, " established"); @@ -1781,30 +1837,30 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, break; case O_TCPACK: bprintf(bp, " tcpack %d", - ntohl(insntod(cmd, u32)->d[0])); + ntohl(insntoc(cmd, u32)->d[0])); break; case O_TCPSEQ: bprintf(bp, " tcpseq %d", - ntohl(insntod(cmd, u32)->d[0])); + ntohl(insntoc(cmd, u32)->d[0])); break; case O_UID: - pwd = getpwuid(insntod(cmd, u32)->d[0]); + pwd = getpwuid(insntoc(cmd, u32)->d[0]); if (pwd != NULL) bprintf(bp, " uid %s", pwd->pw_name); else bprintf(bp, " uid %u", - insntod(cmd, u32)->d[0]); + insntoc(cmd, u32)->d[0]); break; case O_GID: - grp = getgrgid(insntod(cmd, u32)->d[0]); + grp = getgrgid(insntoc(cmd, u32)->d[0]); if (grp != NULL) bprintf(bp, " gid %s", grp->gr_name); else bprintf(bp, " gid %u", - insntod(cmd, u32)->d[0]); + insntoc(cmd, u32)->d[0]); break; case O_JAIL: - bprintf(bp, " jail %d", insntod(cmd, u32)->d[0]); + bprintf(bp, " jail %d", insntoc(cmd, u32)->d[0]); break; case O_VERREVPATH: bprintf(bp, " verrevpath"); @@ -1827,7 +1883,8 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, else bprintf(bp, " record-state"); bprintf(bp, " :%s", - object_search_ctlv(fo->tstate, cmd->arg1, + object_search_ctlv(fo->tstate, + insntoc(cmd, kidx)->kidx, IPFW_TLV_STATE_NAME)); break; case O_LIMIT: @@ -1835,9 +1892,10 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, " limit"); else bprintf(bp, " set-limit"); - print_limit_mask(bp, insntod(cmd, limit)); + print_limit_mask(bp, insntoc(cmd, limit)); bprintf(bp, " :%s", - object_search_ctlv(fo->tstate, cmd->arg1, + object_search_ctlv(fo->tstate, + insntoc(cmd, kidx)->kidx, IPFW_TLV_STATE_NAME)); break; case O_IP6: @@ -1851,7 +1909,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, " ip4"); break; case O_ICMP6TYPE: - print_icmp6types(bp, insntod(cmd, u32)); + print_icmp6types(bp, insntoc(cmd, u32)); break; case O_EXT_HDR: print_ext6hdr(bp, cmd); @@ -1860,7 +1918,7 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, if (F_LEN(cmd) == 1) bprint_uint_arg(bp, " tagged ", cmd->arg1); else - print_newports(bp, insntod(cmd, u16), + print_newports(bp, insntoc(cmd, u16), 0, O_TAGGED); break; case O_SKIP_ACTION: @@ -1871,12 +1929,10 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, if (cmd->arg1 == IP_FW_TARG) bprintf(bp, " tablearg"); else - bprintf(bp, " %#x", - ((const ipfw_insn_u32 *)cmd)->d[0]); + bprintf(bp, " %#x", insntoc(cmd, u32)->d[0]); - if (((const ipfw_insn_u32 *)cmd)->d[1] != 0xFFFFFFFF) - bprintf(bp, ":%#x", - ((const ipfw_insn_u32 *)cmd)->d[1]); + if (insntoc(cmd, u32)->d[1] != 0xFFFFFFFF) + bprintf(bp, ":%#x", insntoc(cmd, u32)->d[1]); break; default: @@ -1929,14 +1985,14 @@ print_fwd(struct buf_pr *bp, const ipfw_insn *cmd) uint16_t port; if (cmd->opcode == O_FORWARD_IP) { - sa = insntod(cmd, sa); + sa = insntoc(cmd, sa); port = sa->sa.sin_port; if (sa->sa.sin_addr.s_addr == INADDR_ANY) bprintf(bp, "fwd tablearg"); else bprintf(bp, "fwd %s", inet_ntoa(sa->sa.sin_addr)); } else { - sa6 = insntod(cmd, sa6); + sa6 = insntoc(cmd, sa6); port = sa6->sa.sin6_port; bprintf(bp, "fwd "); if (getnameinfo((const struct sockaddr *)&sa6->sa, @@ -1948,6 +2004,26 @@ print_fwd(struct buf_pr *bp, const ipfw_insn *cmd) bprintf(bp, ",%u", port); } +static void +print_logdst(struct buf_pr *bp, uint16_t arg1) +{ + char const *comma = ""; + + bprintf(bp, " logdst ", arg1); + if (arg1 & IPFW_LOG_SYSLOG) { + bprintf(bp, "%ssyslog", comma); + comma = ","; + } + if (arg1 & IPFW_LOG_IPFW0) { + bprintf(bp, "%sipfw0", comma); + comma = ","; + } + if (arg1 & IPFW_LOG_RTSOCK) { + bprintf(bp, "%srtsock", comma); + comma = ","; + } +} + static int print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, struct show_state *state, const ipfw_insn *cmd) @@ -1959,8 +2035,9 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, switch (cmd->opcode) { case O_CHECK_STATE: bprintf(bp, "check-state"); - if (cmd->arg1 != 0) - s = object_search_ctlv(fo->tstate, cmd->arg1, + if (insntoc(cmd, kidx)->kidx != 0) + s = object_search_ctlv(fo->tstate, + insntoc(cmd, kidx)->kidx, IPFW_TLV_STATE_NAME); else s = NULL; @@ -1985,7 +2062,7 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, else if (cmd->arg1 == ICMP_UNREACH_NEEDFRAG && cmd->len == F_INSN_SIZE(ipfw_insn_u16)) bprintf(bp, "needfrag %u", - ((const ipfw_insn_u16 *)cmd)->ports[0]); + insntoc(cmd, u16)->ports[0]); else print_reject_code(bp, cmd->arg1); break; @@ -1998,7 +2075,7 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, print_unreach6_code(bp, cmd->arg1); break; case O_SKIPTO: - bprint_uint_arg(bp, "skipto ", cmd->arg1); + bprint_uint_arg(bp, "skipto ", insntoc(cmd, u32)->d[0]); break; case O_PIPE: bprint_uint_arg(bp, "pipe ", cmd->arg1); @@ -2023,15 +2100,16 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, print_fwd(bp, cmd); break; case O_LOG: - if (insntod(cmd, log)->max_log > 0) - bprintf(bp, " log logamount %d", - insntod(cmd, log)->max_log); - else - bprintf(bp, " log"); + bprintf(bp, " log"); + if (insntoc(cmd, log)->max_log > 0) + bprintf(bp, " logamount %d", + insntoc(cmd, log)->max_log); + if (cmd->arg1 != IPFW_LOG_DEFAULT) + print_logdst(bp, cmd->arg1); break; case O_ALTQ: #ifndef NO_ALTQ - print_altq_cmd(bp, insntod(cmd, altq)); + print_altq_cmd(bp, insntoc(cmd, altq)); #endif break; case O_TAG: @@ -2060,8 +2138,9 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, * NOTE: in case when external action has no named * instances support, the second opcode isn't needed. */ - state->eaction = cmd; - s = object_search_ctlv(fo->tstate, cmd->arg1, + state->eaction = insntoc(cmd, kidx); + s = object_search_ctlv(fo->tstate, + state->eaction->kidx, IPFW_TLV_EACTION); if (match_token(rule_eactions, s) != -1) bprintf(bp, "%s", s); @@ -2081,11 +2160,12 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, * we calculate TLV type using IPFW_TLV_EACTION_NAME() * macro. */ - s = object_search_ctlv(fo->tstate, cmd->arg1, 0); + s = object_search_ctlv(fo->tstate, + insntoc(cmd, kidx)->kidx, 0); if (s == NULL) s = object_search_ctlv(fo->tstate, - cmd->arg1, IPFW_TLV_EACTION_NAME( - state->eaction->arg1)); + insntoc(cmd, kidx)->kidx, IPFW_TLV_EACTION_NAME( + state->eaction->kidx)); bprintf(bp, " %s", s); break; case O_EXTERNAL_DATA: @@ -2117,17 +2197,18 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, "reass"); break; case O_CALLRETURN: - if (cmd->len & F_NOT) - bprintf(bp, "return"); - else - bprint_uint_arg(bp, "call ", cmd->arg1); + if (cmd->len & F_NOT) { + s = match_value(return_types, cmd->arg1); + bprintf(bp, "return %s", s ? s: ""); + } else + bprint_uint_arg(bp, "call ", insntoc(cmd, u32)->d[0]); break; case O_SETMARK: if (cmd->arg1 == IP_FW_TARG) { bprintf(bp, "setmark tablearg"); break; } - bprintf(bp, "setmark %#x", ((const ipfw_insn_u32 *)cmd)->d[0]); + bprintf(bp, "setmark %#x", insntoc(cmd, u32)->d[0]); break; default: bprintf(bp, "** unrecognized action %d len %d ", @@ -2233,9 +2314,16 @@ print_address(struct buf_pr *bp, struct format_opts *fo, count = portcnt = 0; for (l = state->rule->act_ofs, cmd = state->rule->cmd; l > 0; l -= F_LEN(cmd), cmd += F_LEN(cmd)) { - if (match_opcode(cmd->opcode, opcodes, nops)) + if (match_opcode(cmd->opcode, opcodes, nops)) { + /* + * Special handling for O_IP_DST_LOOKUP when + * lookup type is not LOOKUP_NONE. + */ + if (cmd->opcode == O_IP_DST_LOOKUP && + IPFW_LOOKUP_TYPE(cmd) != LOOKUP_NONE) + continue; count++; - else if (cmd->opcode == portop) + } else if (cmd->opcode == portop) portcnt++; } if (count == 0) @@ -2292,6 +2380,12 @@ static const int dst_opcodes[] = { O_IP_DST_SET, O_IP6_DST, O_IP6_DST_MASK, O_IP6_DST_ME }; +#if IPFW_DEFAULT_RULE > 65535 +#define RULENUM_FORMAT "%06d" +#else +#define RULENUM_FORMAT "%05d" +#endif + static void show_static_rule(struct cmdline_opts *co, struct format_opts *fo, struct buf_pr *bp, struct ip_fw_rule *rule, struct ip_fw_bcounter *cntr) @@ -2313,7 +2407,8 @@ show_static_rule(struct cmdline_opts *co, struct format_opts *fo, warn("init_show_state() failed"); return; } - bprintf(bp, "%05u ", rule->rulenum); + + bprintf(bp, RULENUM_FORMAT " ", rule->rulenum); /* only if counters are available */ if (cntr != NULL) { @@ -2423,23 +2518,21 @@ show_dyn_state(struct cmdline_opts *co, struct format_opts *fo, { struct protoent *pe; struct in_addr a; - uint16_t rulenum; char buf[INET6_ADDRSTRLEN]; - if (d->expire == 0 && d->dyn_type != O_LIMIT_PARENT) + if (!d->expire && !(d->type == O_LIMIT_PARENT)) return; - bcopy(&d->rule, &rulenum, sizeof(rulenum)); - bprintf(bp, "%05d", rulenum); + bprintf(bp, RULENUM_FORMAT, d->rulenum); if (fo->pcwidth > 0 || fo->bcwidth > 0) { bprintf(bp, " "); pr_u64(bp, &d->pcnt, fo->pcwidth); pr_u64(bp, &d->bcnt, fo->bcwidth); bprintf(bp, "(%ds)", d->expire); } - switch (d->dyn_type) { + switch (d->type) { case O_LIMIT_PARENT: - bprintf(bp, " PARENT %d", d->count); + bprintf(bp, " PARENT %u", d->count); break; case O_LIMIT: bprintf(bp, " LIMIT"); @@ -2531,9 +2624,8 @@ ipfw_sets_handler(char *av[]) ipfw_range_tlv rt; const char *msg; size_t size; - uint32_t masks[2]; + uint32_t masks[2], rulenum; int i; - uint16_t rulenum; uint8_t cmd; av++; @@ -2584,7 +2676,7 @@ ipfw_sets_handler(char *av[]) if (av[0] == NULL || av[1] == NULL || av[2] == NULL || av[3] != NULL || _substrcmp(av[1], "to") != 0) errx(EX_USAGE, "syntax: set move [rule] X to Y\n"); - rulenum = atoi(av[0]); + rulenum = (uint32_t)strtoul(av[0], NULL, 10); rt.new_set = atoi(av[2]); if (cmd == IP_FW_XMOVE) { rt.start_rule = rulenum; @@ -2637,6 +2729,18 @@ ipfw_sets_handler(char *av[]) errx(EX_USAGE, "invalid set command %s\n", *av); } +static void +manage_skipto_cache(int op) +{ + ipfw_cmd_header req; + + memset(&req, 0, sizeof(req)); + req.size = sizeof(req); + req.cmd = op ? SKIPTO_CACHE_ENABLE : SKIPTO_CACHE_DISABLE; + + do_set3(IP_FW_SKIPTO_CACHE, &req.opheader, sizeof(req)); +} + void ipfw_sysctl_handler(char *av[], int which) { @@ -2661,6 +2765,8 @@ ipfw_sysctl_handler(char *av[], int which) } else if (_substrcmp(*av, "dyn_keepalive") == 0) { sysctlbyname("net.inet.ip.fw.dyn_keepalive", NULL, 0, &which, sizeof(which)); + } else if (_substrcmp(*av, "skipto_cache") == 0) { + manage_skipto_cache(which); #ifndef NO_ALTQ } else if (_substrcmp(*av, "altq") == 0) { altq_set_enabled(which); @@ -2679,7 +2785,6 @@ prepare_format_dyn(struct cmdline_opts *co, struct format_opts *fo, { ipfw_dyn_rule *d; int width; - uint8_t set; d = (ipfw_dyn_rule *)_state; /* Count _ALL_ states */ @@ -2688,13 +2793,9 @@ prepare_format_dyn(struct cmdline_opts *co, struct format_opts *fo, if (fo->show_counters == 0) return; - if (co->use_set) { - /* skip states from another set */ - bcopy((char *)&d->rule + sizeof(uint16_t), &set, - sizeof(uint8_t)); - if (set != co->use_set - 1) - return; - } + /* skip states from another set */ + if (co->use_set != 0 && d->set != co->use_set - 1) + return; width = pr_u64(NULL, &d->pcnt, 0); if (width > fo->pcwidth) @@ -2822,24 +2923,17 @@ static void list_dyn_state(struct cmdline_opts *co, struct format_opts *fo, void *_arg, void *_state) { - uint16_t rulenum; - uint8_t set; ipfw_dyn_rule *d; struct buf_pr *bp; d = (ipfw_dyn_rule *)_state; bp = (struct buf_pr *)_arg; - bcopy(&d->rule, &rulenum, sizeof(rulenum)); - if (rulenum > fo->last) + if (d->rulenum > fo->last) return; - if (co->use_set) { - bcopy((char *)&d->rule + sizeof(uint16_t), - &set, sizeof(uint8_t)); - if (set != co->use_set - 1) - return; - } - if (rulenum >= fo->first) { + if (co->use_set != 0 && d->set != co->use_set - 1) + return; + if (d->rulenum >= fo->first) { show_dyn_state(co, fo, bp, d); printf("%s\n", bp->buf); bp_flush(bp); @@ -3165,7 +3259,7 @@ eaction_check_name(const char *name) return (0); } -static uint16_t +static uint32_t pack_object(struct tidx *tstate, const char *name, int otype) { ipfw_obj_ntlv *ntlv; @@ -3202,7 +3296,7 @@ pack_object(struct tidx *tstate, const char *name, int otype) return (ntlv->idx); } -static uint16_t +static uint32_t pack_table(struct tidx *tstate, const char *name) { @@ -3212,12 +3306,32 @@ pack_table(struct tidx *tstate, const char *name) return (pack_object(tstate, name, IPFW_TLV_TBL_NAME)); } +static void +fill_table_value(ipfw_insn *cmd, char *s) +{ + char *p; + int i; + + p = strchr(s, '='); + if (p != NULL) { + *p++ = '\0'; + i = match_token(tvalue_names, s); + if (i == -1) + errx(EX_USAGE, + "format: unknown table value name %s", s); + } else { + i = TVALUE_TAG; + p = s; + } + + IPFW_SET_TVALUE_TYPE(cmd, i); + insntod(cmd, table)->value = strtoul(p, NULL, 0); +} + void -fill_table(struct _ipfw_insn *cmd, char *av, uint8_t opcode, - struct tidx *tstate) +fill_table(ipfw_insn *cmd, char *av, uint8_t opcode, struct tidx *tstate) { - uint32_t *d = ((ipfw_insn_u32 *)cmd)->d; - uint16_t uidx; + ipfw_insn_kidx *c = insntod(cmd, kidx); char *p; if ((p = strchr(av + 6, ')')) == NULL) @@ -3227,19 +3341,19 @@ fill_table(struct _ipfw_insn *cmd, char *av, uint8_t opcode, if (p) *p++ = '\0'; - if ((uidx = pack_table(tstate, av + 6)) == 0) + if ((c->kidx = pack_table(tstate, av + 6)) == 0) errx(EX_DATAERR, "Invalid table name: %s", av + 6); cmd->opcode = opcode; - cmd->arg1 = uidx; if (p) { - cmd->len |= F_INSN_SIZE(ipfw_insn_u32); - d[0] = strtoul(p, NULL, 0); - } else - cmd->len |= F_INSN_SIZE(ipfw_insn); + cmd->len |= F_INSN_SIZE(ipfw_insn_table); + fill_table_value(cmd, p); + } else { + IPFW_SET_LOOKUP_TYPE(cmd, LOOKUP_NONE); + cmd->len |= F_INSN_SIZE(ipfw_insn_kidx); + } } - /* * fills the addr and mask fields in the instruction as appropriate from av. * Update length as appropriate. @@ -3470,7 +3584,7 @@ ipfw_delete(char *av[]) { ipfw_range_tlv rt; char *sep; - int i, j; + uint32_t i, j; int exitval = EX_OK; int do_set = 0; @@ -3503,8 +3617,8 @@ ipfw_delete(char *av[]) rt.set = i & 31; rt.flags = IPFW_RCFLAG_SET; } else { - rt.start_rule = i & 0xffff; *** 9719 LINES SKIPPED *** From nobody Mon Mar 3 20:49:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z69sK3C8Vz5nfhQ; Mon, 03 Mar 2025 20:49:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z69sJ6FrZz3vHq; Mon, 03 Mar 2025 20:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741034948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p9tD8t8dfG7pJwQe+cvPgSfUcn8QZpc+8zRzpH8Gqt8=; b=PGHz/3H4nDgc/gueWC2hc/MjkBqZ3+l1psEl9EFcv08qOIEX5FHqepUVWBVmKB9RVjNiZJ qB5d8e9GcyQvjFB8Fg5aMWuDd/sHe4FhFMGquNYXjSkyyJ+3k+L1gjrJkSm7Yv2o9LoC1N ZoqnT3LPEqpr5O+4r8DvqyGkg+urc7SsuI2ZGWU/hIP5i5RPU6r0NFRmKwrR7yYQa/oggt 3+6zLDhe3ehdLTaTkP/OAqP0Yena2Pey5w7q1BwAdLJahDJTez+9RzFOB5rKnn1juCUknU eItosG2yyBosYh9ib7s/UodBnA75fsfG9j7T7Dzir4FR3RfVDMh3qJZper2PuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741034948; a=rsa-sha256; cv=none; b=epWxPwXKaEY2feJy1cy82UEjOlXfAerystlN+B9RHvjBpDyX9ck2Qj2NKITPF4enrK+LDc fXyXWob1/BJVV/y206nDMGvlwua+EZZzJ588gWkI6Hv7368eY5C0W6bPn5ND8CnIB2VMe5 VcVz9IoLf0mbgzT4Dcxf8X5Jj9nTdNOGk4no4Z3sBIY6FOD5VwCTTcURQRJxKmHO1soFYd C3ULv4uP37uGOVWTjDjc8SJmn+ZYICwQCdsOmhFlVyBiZo+ld8A6Oc23KilMkRc0TsAKln wSCdVmNGZbqKxms3LXcXH4QPpBM1GDvvKrzWtLkiwqBjSCKXR7MDq3TSzmG1jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741034948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p9tD8t8dfG7pJwQe+cvPgSfUcn8QZpc+8zRzpH8Gqt8=; b=gcXqj5xmCOcCjKmXYy4V7AEQxFGxXkSMnBOheQUHeZW0vSeIBVUhWXPD6M1FVg0yyNWz6M cdpnSG/59Z1jEuD4dW7CVSOsCOQG1niL9z+L6oTOWA8tEy4i0DR3ZF9fTTqGSaa/p179d2 Xh3auCrcor2EH9c3DXGG9l77PFTQ2IbgBKrNLFATt/oPsLQtuai4K4BIab4hnUoAJx3vFa A8va2rVpHHoYsQbGag7pqkbIiFNXcr6PDvryfK+jiuwNyJE56nncwoGGDtiJjler37GaAx ZMgIAE5MrrFhnAFlNel15MHTJEFcxB7zjk5B6/ZfQfDRHonZJtRKQ3/jq8KR/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z69sJ5hR1z133s; Mon, 03 Mar 2025 20:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 523Kn8lL014055; Mon, 3 Mar 2025 20:49:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523Kn8i0014052; Mon, 3 Mar 2025 20:49:08 GMT (envelope-from git) Date: Mon, 3 Mar 2025 20:49:08 GMT Message-Id: <202503032049.523Kn8i0014052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: 1c9c4a25e600 - main - enic: fix potential panic due to not understanding what iflib had allocated List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c9c4a25e600bcfad3eec891d43221b55ddf7e19 Auto-Submitted: auto-generated The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=1c9c4a25e600bcfad3eec891d43221b55ddf7e19 commit 1c9c4a25e600bcfad3eec891d43221b55ddf7e19 Author: Doug Ambrisko AuthorDate: 2025-03-03 20:46:15 +0000 Commit: Doug Ambrisko CommitDate: 2025-03-03 20:49:01 +0000 enic: fix potential panic due to not understanding what iflib had allocated For safety I was trying to clear out the descriptor but the full descriptor was not allocated. Remove any code trying to do that so the same mistake won't be made. This was found when looking to MFC the prior change and having the loader, load the module. Remove cq->ntxqsets since the completion queue is part of the RX and TX sets --- sys/dev/enic/if_enic.c | 19 ++++++++----------- sys/dev/enic/vnic_cq.c | 2 -- sys/dev/enic/vnic_cq.h | 4 ---- sys/dev/enic/vnic_dev.c | 9 ++------- sys/dev/enic/vnic_dev.h | 1 - sys/dev/enic/vnic_rq.c | 2 -- sys/dev/enic/vnic_wq.c | 6 ++---- 7 files changed, 12 insertions(+), 31 deletions(-) diff --git a/sys/dev/enic/if_enic.c b/sys/dev/enic/if_enic.c index 26776244778e..35620fece6bf 100644 --- a/sys/dev/enic/if_enic.c +++ b/sys/dev/enic/if_enic.c @@ -494,8 +494,7 @@ enic_attach_pre(if_ctx_t ctx) ifmedia_add(softc->media, IFM_ETHER | IFM_10_FL, 0, NULL); /* - * Allocate the CQ here since TX is called first before RX for now - * assume RX and TX are the same + * Allocate the CQ here since TX is called first before RX. */ if (softc->enic.cq == NULL) softc->enic.cq = malloc(sizeof(struct vnic_cq) * @@ -504,8 +503,6 @@ enic_attach_pre(if_ctx_t ctx) if (softc->enic.cq == NULL) return (ENOMEM); - softc->enic.cq->ntxqsets = softc->enic.wq_count + softc->enic.rq_count; - /* * Allocate the consistent memory for stats and counters upfront so * both primary and secondary processes can access them. @@ -735,7 +732,7 @@ enic_tx_queues_alloc(if_ctx_t ctx, caddr_t * vaddrs, uint64_t * paddrs, for (q = 0; q < ntxqsets; q++) { struct vnic_wq *wq; struct vnic_cq *cq; - unsigned int cq_wq; + unsigned int cq_wq; wq = &softc->enic.wq[q]; cq_wq = enic_cq_wq(&softc->enic, q); @@ -755,7 +752,6 @@ enic_tx_queues_alloc(if_ctx_t ctx, caddr_t * vaddrs, uint64_t * paddrs, wq->head_idx = 0; wq->tail_idx = 0; - wq->ring.size = wq->ring.desc_count * wq->ring.desc_size; wq->ring.descs = vaddrs[q * ntxqs + 0]; wq->ring.base_addr = paddrs[q * ntxqs + 0]; @@ -768,7 +764,6 @@ enic_tx_queues_alloc(if_ctx_t ctx, caddr_t * vaddrs, uint64_t * paddrs, cq->ring.desc_count = softc->scctx->isc_ntxd[q]; cq->ring.desc_avail = cq->ring.desc_count - 1; - cq->ring.size = cq->ring.desc_count * cq->ring.desc_size; cq->ring.descs = vaddrs[q * ntxqs + 1]; cq->ring.base_addr = paddrs[q * ntxqs + 1]; @@ -824,7 +819,6 @@ enic_rx_queues_alloc(if_ctx_t ctx, caddr_t * vaddrs, uint64_t * paddrs, cq->ring.desc_count = softc->scctx->isc_nrxd[1]; cq->ring.desc_avail = cq->ring.desc_count - 1; - cq->ring.size = cq->ring.desc_count * cq->ring.desc_size; cq->ring.descs = vaddrs[q * nrxqs + 0]; cq->ring.base_addr = paddrs[q * nrxqs + 0]; @@ -840,7 +834,6 @@ enic_rx_queues_alloc(if_ctx_t ctx, caddr_t * vaddrs, uint64_t * paddrs, rq->ring.desc_count = softc->scctx->isc_nrxd[0]; rq->ring.desc_avail = rq->ring.desc_count - 1; - rq->ring.size = rq->ring.desc_count * rq->ring.desc_size; rq->ring.descs = vaddrs[q * nrxqs + 1]; rq->ring.base_addr = paddrs[q * nrxqs + 1]; rq->need_initial_post = true; @@ -1241,7 +1234,9 @@ enic_setup_txq_sysctl(struct vnic_wq *wq, int i, struct sysctl_ctx_list *ctx, { struct sysctl_oid *txsnode; struct sysctl_oid_list *txslist; - struct vnic_stats *stats = wq[i].vdev->stats; + struct vnic_stats *stats; + + stats = wq[i].vdev->stats; txsnode = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "hstats", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Host Statistics"); @@ -1277,7 +1272,9 @@ enic_setup_rxq_sysctl(struct vnic_rq *rq, int i, struct sysctl_ctx_list *ctx, { struct sysctl_oid *rxsnode; struct sysctl_oid_list *rxslist; - struct vnic_stats *stats = rq[i].vdev->stats; + struct vnic_stats *stats; + + stats = rq[i].vdev->stats; rxsnode = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "hstats", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Host Statistics"); diff --git a/sys/dev/enic/vnic_cq.c b/sys/dev/enic/vnic_cq.c index 72de29e5a381..bd3629530a61 100644 --- a/sys/dev/enic/vnic_cq.c +++ b/sys/dev/enic/vnic_cq.c @@ -40,6 +40,4 @@ void vnic_cq_clean(struct vnic_cq *cq) ENIC_BUS_WRITE_4(cq->ctrl, CQ_HEAD, 0); ENIC_BUS_WRITE_4(cq->ctrl, CQ_TAIL, 0); ENIC_BUS_WRITE_4(cq->ctrl, CQ_TAIL_COLOR, 1); - - vnic_dev_clear_desc_ring(&cq->ring); } diff --git a/sys/dev/enic/vnic_cq.h b/sys/dev/enic/vnic_cq.h index b4549ee58c64..7f875d57ed74 100644 --- a/sys/dev/enic/vnic_cq.h +++ b/sys/dev/enic/vnic_cq.h @@ -71,10 +71,6 @@ struct vnic_cq { unsigned int tobe_rx_coal_timeval; ktime_t prev_ts; #endif - int ntxqsets; - int nrxqsets; - int ntxqsets_start; - int nrxqsets_start; }; void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, diff --git a/sys/dev/enic/vnic_dev.c b/sys/dev/enic/vnic_dev.c index 2d555cb2b34d..a8228aed69aa 100644 --- a/sys/dev/enic/vnic_dev.c +++ b/sys/dev/enic/vnic_dev.c @@ -168,17 +168,12 @@ unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring, ring->desc_size = VNIC_ALIGN(desc_size, desc_align); - ring->size = ring->desc_count * ring->desc_size; - ring->size_unaligned = ring->size + ring->base_align; + ring->size_unaligned = ring->desc_count * ring->desc_size \ + + ring->base_align; return ring->size_unaligned; } -void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring) -{ - memset(ring->descs, 0, ring->size); -} - static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, int wait) { diff --git a/sys/dev/enic/vnic_dev.h b/sys/dev/enic/vnic_dev.h index 5e2d01d985f3..66583f4d278d 100644 --- a/sys/dev/enic/vnic_dev.h +++ b/sys/dev/enic/vnic_dev.h @@ -69,7 +69,6 @@ unsigned long vnic_dev_get_res_type_len(struct vnic_dev *vdev, enum vnic_res_type type); unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring, unsigned int desc_count, unsigned int desc_size); -void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring); int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, unsigned int desc_count, unsigned int desc_size); void vnic_dev_free_desc_ring(struct vnic_dev *vdev, diff --git a/sys/dev/enic/vnic_rq.c b/sys/dev/enic/vnic_rq.c index ef30563fa2f3..4c02347579b1 100644 --- a/sys/dev/enic/vnic_rq.c +++ b/sys/dev/enic/vnic_rq.c @@ -93,6 +93,4 @@ void vnic_rq_clean(struct vnic_rq *rq) } ENIC_BUS_WRITE_4(rq->ctrl, RX_POSTED_INDEX, fetch_index); - - vnic_dev_clear_desc_ring(&rq->ring); } diff --git a/sys/dev/enic/vnic_wq.c b/sys/dev/enic/vnic_wq.c index 995af3270a21..1d3120798798 100644 --- a/sys/dev/enic/vnic_wq.c +++ b/sys/dev/enic/vnic_wq.c @@ -37,9 +37,9 @@ int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, ring->last_count = 0; ring->desc_avail = ring->desc_count - 1; - ring->size = ring->desc_count * ring->desc_size; ring->base_align = 512; - ring->size_unaligned = ring->size + ring->base_align; + ring->size_unaligned = ring->desc_count * ring->desc_size \ + + ring->base_align; return (err); @@ -180,6 +180,4 @@ void vnic_wq_clean(struct vnic_wq *wq) ENIC_BUS_WRITE_4(wq->ctrl, TX_FETCH_INDEX, 0); ENIC_BUS_WRITE_4(wq->ctrl, TX_POSTED_INDEX, 0); ENIC_BUS_WRITE_4(wq->ctrl, TX_ERROR_STATUS, 0); - - vnic_dev_clear_desc_ring(&wq->ring); } From nobody Mon Mar 3 21:30: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 4Z6Bmg0MN5z5nlNk; Mon, 03 Mar 2025 21:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6Bmf6rbXz4N0t; Mon, 03 Mar 2025 21:30:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741037411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MHPctHLni/CGh83O4o42Q/mRdgfuWl4dVJNXmj3l+VE=; b=dnTAH4HJlfaKVjWznZ+1o/2OsJqJL/dqdcbqR1WFJ/1zTJCZKLTS8W4pTly1Mo4lmY9oRa 7ypwDkvUh0BZltaHlu/RuCPtCBrAONmnNS5/5T3piztTCVSnqprflQX2lZValjoqDXdTsK NxkQWPbVvGKNGhgkdvEqO0GhZl10hd/2dnmFCxpfLu8jWTFCmFTCCtLA1itFMOF118OHi0 Qf5I0cQ5lu7P7NN+83zCIASFloRiFpeL9JUbpXMm+crs1yGJMdHbGMPbhkFkcQ9oGD/cHx wTJ7FbPAio0idjfAD1ki0I7SqdPr+f812sft1kyU2TgD1O0HpX85ohY5AgqkmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741037411; a=rsa-sha256; cv=none; b=EFIxl3wyqxWpzUeBjP1/YmJaFBfohojPwsQYZpZALtMFoOxcdeqfdwKW0gWf44IJuWWHdd srH79kyPbNJ0TP/csMVzQGXwkqL34Qg7/eDqIHNCK2Yw4CItgySq3jjv8Z2tHkVCVlhFhI vHAEc7b1YJqSd0pQ1jTMDAQ+Kdv/mn/W5d7HKR1MUG8DaJK5XonVzfyW+hJ7XhhXEEqURz 5w9QtMXS9VhOZpZxs0ZZVjl+3fN5lEM+mfljdzDa8O+RyYqzQ1XI0R9a6BW+kQWeCWnAHY evuZRvJiJYU/os9zPLhrK8kHemLUmCHx+eLPM2edwsCLoC/Utc8p5eCvCum/7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741037411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MHPctHLni/CGh83O4o42Q/mRdgfuWl4dVJNXmj3l+VE=; b=U39/iJiCTN8qWe8roq1elt9vCmNh9K7b/v6u5XFjFGM7hHiAmP6ffjvgmNXxz2yRmQf5mC CerLjQwHji9AMx/XGzeRnkxRhDhOqWme63R5ff6niyoGa8xNSR7LtA6R0bnsDwNrOGAVtY /AFBZJ2SX0x+dhqjYd+Y0d7KKVcw3T2Exdjjm2FkkCzpxtNbghQsOqbFyrEc6wkAZ3aTEZ lTCp0rObdjkhgUK7qjIPsjJVBJtw4g/fJa8q9WljrGuQkYEfcb7G+ClRwxP5hwW7uso6HJ Ralu1+RfK79TjIRlTP8zpv/r1duPdw87+wSB2QZVeMcIma+unn9EB4F6G6J+kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6Bmf5ympz14DV; Mon, 03 Mar 2025 21:30: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 523LUAnO092989; Mon, 3 Mar 2025 21:30:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523LUAhJ092980; Mon, 3 Mar 2025 21:30:10 GMT (envelope-from git) Date: Mon, 3 Mar 2025 21:30:10 GMT Message-Id: <202503032130.523LUAhJ092980@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: cd6ed24ba4dc - main - drm2 tegra: Use vm_radix_iter_lookup instead of vm_page_iter_lookup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd6ed24ba4dc18897211fa7f55bb2393cf1ab25c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cd6ed24ba4dc18897211fa7f55bb2393cf1ab25c commit cd6ed24ba4dc18897211fa7f55bb2393cf1ab25c Author: John Baldwin AuthorDate: 2025-03-03 21:29:20 +0000 Commit: John Baldwin CommitDate: 2025-03-03 21:29:20 +0000 drm2 tegra: Use vm_radix_iter_lookup instead of vm_page_iter_lookup Fixes: 991dbf9f4327 ("vm_page: drop page_iter_lookup") --- sys/arm/nvidia/drm2/tegra_bo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm/nvidia/drm2/tegra_bo.c b/sys/arm/nvidia/drm2/tegra_bo.c index 6d380b95a4a9..8952d09eec3d 100644 --- a/sys/arm/nvidia/drm2/tegra_bo.c +++ b/sys/arm/nvidia/drm2/tegra_bo.c @@ -43,6 +43,7 @@ #include #include +#include static void tegra_bo_destruct(struct tegra_bo *bo) @@ -62,7 +63,7 @@ tegra_bo_destruct(struct tegra_bo *bo) vm_page_iter_init(&pages, bo->cdev_pager); VM_OBJECT_WLOCK(bo->cdev_pager); for (i = 0; i < bo->npages; i++) { - m = vm_page_iter_lookup(&pages, i); + m = vm_radix_iter_lookup(&pages, i); vm_page_busy_acquire(m, 0); cdev_mgtdev_pager_free_page(&pages, m); m->flags &= ~PG_FICTITIOUS; From nobody Mon Mar 3 21:38: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 4Z6ByD0mGfz5nlw6; Mon, 03 Mar 2025 21:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6ByC55v9z3H6Q; Mon, 03 Mar 2025 21:38:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741037907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9hloEnziclR4TIhkUx3FiU7L/7fYJtQ3hZRW9Yt9Ew=; b=iDPdkzPB60fhUQAS/TWRBvAX1Z0UXeCzturGvPHxw/D9+XVXhgiwhdYAxJZkcF2HouMTtJ 6dyATojCXmxPz98BA6bTU8pCtMTZ2w7F6vi5shfoFlU6wx8rPkrZJHfOqDF3waMKTT7cB3 dAr9HmVPty0avmcma7M6sdGCAheKGIGpAW+rmtrXU48qVxiP7+IcbiUZ7xIgeXu+tlsR4K 0fo6Hm8KNTCnQwyAlNBuiDdp1xRCxH1Ty7tPtClIkhCQJEEW3CRNEXP84R+iFeHw8eSeX9 FTlXyrMbULPKpjv+spRFh7J6pEDUYs2BfOc1/P+An9CTT0b7riaXD1pgxhhw5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741037907; a=rsa-sha256; cv=none; b=Qzt/Yv4xq+d5ggTJ/nn+RGzjup883tvOhS7xUAWvAJmATwMAGW0SJfmZ85P6sgQvEoLxra AAS9sUnkdY82kM+Xwad2fBzvGyCffRyEXHByqOm74QAs5woI8ugo/JjmtY08V4gbJJucsL LC2DdJ+IfR9/gJPsWJO82qafvnHuogO9IntfwbAkjIvKPct3rHynFtrb/OnewaJwMa9uzC ylr3/Rsl23TKwXhQBJicMHAxTGdImOpKLE88SCONSsCcu8/14TRMsqy2wPKmp6PDb9YOke kTHHIpYoFpE1NvLNYIwF/iktPNKA3f8I7VUCxrOMjSfclNlSPk3FiVmMGB+G7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741037907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9hloEnziclR4TIhkUx3FiU7L/7fYJtQ3hZRW9Yt9Ew=; b=FyEThqpWIM6kkC2vM7A4dJlpeaujokolzA2V/IY2qMLRNd5OxOw5wMDJKfqCLKKY3FoUj+ 9NAlN9PuWz9v2b8+BuJaNzLi4FvqKfa5qhrQ6EO/nZRM1NjkDRuifj1Y4sZpfnAKdANLob 1kNru+NCAfdMJENnCkUjNPNmreYnDUwSLIyPDVH8PJHP2Fnsg/OVq0PyKKDJQGzHFLWBs0 wR/AuCdLcg+mEFSuiz2IF2neWqXzOAnn+QsdIh278K+dCuHmADD4edmTIQ3gn9K1GFubIz Tw5z3Z68eUU4Qt6/gfGWov6oNX19nIp8TZ5U5AWb6NpNJzwr5A2ev/1O8n0dWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6ByC4FPfz14tV; Mon, 03 Mar 2025 21:38:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 523LcROH007822; Mon, 3 Mar 2025 21:38:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523LcRUr007819; Mon, 3 Mar 2025 21:38:27 GMT (envelope-from git) Date: Mon, 3 Mar 2025 21:38:27 GMT Message-Id: <202503032138.523LcRUr007819@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: 498b0abe55ea - main - sys/efi_map.h: Forward declare struct efi_map_header List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 498b0abe55eaace4615ca5cfba1fe6cc6129a3dd Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=498b0abe55eaace4615ca5cfba1fe6cc6129a3dd commit 498b0abe55eaace4615ca5cfba1fe6cc6129a3dd Author: John Baldwin AuthorDate: 2025-03-03 21:37:00 +0000 Commit: John Baldwin CommitDate: 2025-03-03 21:38:13 +0000 sys/efi_map.h: Forward declare struct efi_map_header This fixes build failures in the test-includes stage of buildworld on powerpc which does not define a struct efi_map_header type in its header. Fixes: 125877c92d16 ("arm64: Split EFI map parsing code to a common file") --- sys/sys/efi_map.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/efi_map.h b/sys/sys/efi_map.h index 4edabd4e5812..8b458cd08b00 100644 --- a/sys/sys/efi_map.h +++ b/sys/sys/efi_map.h @@ -10,6 +10,8 @@ #include #include +struct efi_map_header; + typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); void efi_map_foreach_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, From nobody Mon Mar 3 21:53: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 4Z6CHp1sG5z5nnM5; Mon, 03 Mar 2025 21:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6CHp10Wkz3TSJ; Mon, 03 Mar 2025 21:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REHjZAU2mmp9RXDNRHWIeT4/U9CPa/9jDMWdE7IHBvo=; b=yIL5YXyvTOz/iVLJxOGrAylOL7PqZppFhDTraR+r9DW5onDTUgODxRKg3ANymf5NWQgs80 SwQY6jZ5CzjIdnTiPKzlXkAOun22CMbntbLdn5ODa/CRTwn74k2JbxwZe1NntcOYfxxLRl jsIHo1rByfk1zusrPAwY8jwfZ5bptVEsKEZ9YApmq0OF7ivH1ixCtASq9wYwqhxCfytnus 5uEiqeMOK79BMd4O5W7qxCgafJEIo3OlrsJiPnKZCZhodUTF6l7XLCgt3ZGUtEjzsepvt7 0Ufyb6pvrCq3U0Nfc7Zpwz8oekAEFPBgABZcRaXqKFjMlKTvbg384hjy3slmdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741038822; a=rsa-sha256; cv=none; b=HTaGxZP7duuvlEYqvIw2bXJQGY2A6GmIAg1TgPmO9ol873qfPne5+vEEMf5/havdHFRy+M pNuvJdUUfNuyAuvGRk3fEX8EwD63vb8KSzj9/Twf3O+/xs38od10L4qvxaYLzxyl5eBctb x8ZKEIf+ZpVOZp5iff9A9l5mEQwy73oQj7L1FKTLgxmqteFWbpfGrmxQlQX2Gygqr9Q2U+ Khr+R2qdcpiusQLnZviigdYscy6VIpdVKLGg8zu7gEIuEntL0k4+CakzHeUkvkJLybA8F1 rXOGuSQvKzf4QjMGcQnNBSVeyTmXC/oa35A0UDNETAEdNHAYMt+W5KrfR/5joQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=REHjZAU2mmp9RXDNRHWIeT4/U9CPa/9jDMWdE7IHBvo=; b=LbXXQg5l8GTdBiaPGaRwu/IBkD6DqZa+Vh27KC3pTp6c0GUfXqF5dy8hrza/UgpXybjTXN aocG9qgFfQ5AhegDjemor4p8XoupkAG+Sg2oDX4gx1sSkPTxEmuHRVhspsWcPjX9SUfOk4 lFpvBQ+PkkJHtG+SWIFXgzL8yUoIF2u8GieBZiUHA0j6W8shJP4uRoHaW21VRx5OIET4cM 7r1I02pGJxcLDVboAq3Xc48KjvLgYPD1TmKqKxF0ks8CrN0nfD7TLoYtUFPc17o7O8zqYj ZwXzspsIWaS6Lx0X0cx+VZkd9m8L0kJleSgsvLY5qHt7JpUIr65SYUJPW+yVhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6CHp0bXjz14k8; Mon, 03 Mar 2025 21:53: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 523Lrfpi042788; Mon, 3 Mar 2025 21:53:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523LrfpL042785; Mon, 3 Mar 2025 21:53:41 GMT (envelope-from git) Date: Mon, 3 Mar 2025 21:53:41 GMT Message-Id: <202503032153.523LrfpL042785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: ccf7b62bd88c - main - loader: allow fs modules to use ioctl() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccf7b62bd88c6c8beba915eab058f99212a32d35 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=ccf7b62bd88c6c8beba915eab058f99212a32d35 commit ccf7b62bd88c6c8beba915eab058f99212a32d35 Author: Toomas Soome AuthorDate: 2025-03-03 21:52:55 +0000 Commit: Toomas Soome CommitDate: 2025-03-03 21:52:55 +0000 loader: allow fs modules to use ioctl() Currently only directly opened disk device is allowed to access ioctl() - that is, when file has F_RAW flag set. The problem is, file systems might need to determine the device parameters, and we could use already opened device descriptor to communicate this information. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49077 --- stand/libsa/ioctl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/stand/libsa/ioctl.c b/stand/libsa/ioctl.c index 0c8613499ceb..cc592a454812 100644 --- a/stand/libsa/ioctl.c +++ b/stand/libsa/ioctl.c @@ -70,12 +70,12 @@ ioctl(int fd, u_long cmd, void *arg) errno = EBADF; return (-1); } - if (f->f_flags & F_RAW) { + if (f->f_dev == NULL) + errno = EIO; + else errno = (f->f_dev->dv_ioctl)(f, cmd, arg); - if (errno) - return (-1); - return (0); - } - errno = EIO; - return (-1); + + if (errno != 0) + return (-1); + return (0); } From nobody Mon Mar 3 21:54: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 4Z6CK53S4Cz5nn4c; Mon, 03 Mar 2025 21:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6CK537gvz3VMV; Mon, 03 Mar 2025 21:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A70jEwo0caPK1nJZ+7klec1K1wPOFPntHptyfRleUts=; b=ZwWbkoojDMedCsLSFoMwMgdbNMS6bCpDoN9QGfWdkRZwJsgZ5w2vGkLDEImG8zxTM7cz/u 3DlQPgD/33enSgcoKr1zo2HKismgooaQgaGJBfYXwB92AR7L/d8a9Vr2E1fgYMmGx0kUQu 6aqnZUrfOCE7rxqRpsnR23FX/J6w0Z8IHZsM22QsQ92DDlkFI89ARd+uS0byX/xhO3lWYZ g4GjmXsT9WM5PBA11m7Mb3C8HM14vdpW+0jPH3pgBdU35yOp0GnY21zsmubBL7kw/6oEEu eH1FilM/ufJ+TbOeyggQPAD4E2rmmDHRRm2hifXnspqlBV64SXnlMGRz/+KOQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741038889; a=rsa-sha256; cv=none; b=Q2XCpX3dFBrbkRTxopwyfdwW0tzCPPt1Pj22nDcOx98ubQ7OJrnHRGKUQ7wIM/E0BCR3e3 PxjW6J5Y3Qnhg9vXh1msZ+sysaVvGIfDXmcLKYUSy11LQf6nHGohCtycB2L11mDO4U3RIe z9ZUGATN9ct2qmcXWsu7EazGWcyrF6pSLbZO0k0jsp3mumzcbADMRFvFwdOhX8K6EJ+3E0 f6wDjh9lLOLnQIQNIpDyMQSUk8ObuMBp9xc45Agtkl03RukIecRWR54nobV9gDHQVKf8PA 6FZsYu9O5XvzubqFQN+7nNUsemkao29Z+xelZZtYSOV7wCZ9a5Y/mTPcJN0Xrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741038889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A70jEwo0caPK1nJZ+7klec1K1wPOFPntHptyfRleUts=; b=KAxtKg7c73nG2TyN5eXkwMbsyGehKwDZrdQZmhZ7pdnMCsUp9PaZiY4lgRVifVV4JrkrKf z4c0KQ1yHTr6CBfg5mKfXpOUYWKXqGe+qfpVfuEp+mZJyRQza7hU6Y3R/S3EfFLFTQoehH v4AsFlshM+JbBLdkmloHRbRG559waGL5ISdQBXt/DXqAXBI7kaddQP+pQNONqrWXF0HC6o lqlQn/bVeuEfJBO368NMxOrCrknsLbzkhtV2jN5Pc6PzEwkJv7eRsIG0x8QGhr2HqKB/Yu MYxT8A2ZaLhOgAzlj57dJ9iLQdcdv3/x3MkDsjBSrL3wdlqVCjqhYq92lGjwiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6CK52fckz15HZ; Mon, 03 Mar 2025 21:54: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 523LsnK8043240; Mon, 3 Mar 2025 21:54:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 523LsnOh043237; Mon, 3 Mar 2025 21:54:49 GMT (envelope-from git) Date: Mon, 3 Mar 2025 21:54:49 GMT Message-Id: <202503032154.523LsnOh043237@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: e7c0cb720898 - main - loader: dosfs should be able to work with different sector sizes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e7c0cb720898fd36487c4e6b0aff52435084e6bf Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=e7c0cb720898fd36487c4e6b0aff52435084e6bf commit e7c0cb720898fd36487c4e6b0aff52435084e6bf Author: Toomas Soome AuthorDate: 2025-03-03 21:54:23 +0000 Commit: Toomas Soome CommitDate: 2025-03-03 21:54:23 +0000 loader: dosfs should be able to work with different sector sizes The current dosfs is only able to use 512B sector sizes, add support for 4kn disks (incidentally this should also add support for 1024B and 2048B sectors, have not tested those). Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49078 --- stand/libsa/dosfs.c | 194 ++++++++++++++++++++++++++++++++++------------------ stand/libsa/dosfs.h | 3 + 2 files changed, 131 insertions(+), 66 deletions(-) diff --git a/stand/libsa/dosfs.c b/stand/libsa/dosfs.c index 123350263d09..aca198cdf6fa 100644 --- a/stand/libsa/dosfs.c +++ b/stand/libsa/dosfs.c @@ -32,6 +32,7 @@ */ #include +#include #include #include @@ -71,10 +72,6 @@ struct fs_ops dosfs_fsops = { .fo_unmount = dos_unmount }; -#define SECSIZ 512 /* sector size */ -#define SSHIFT 9 /* SECSIZ shift */ -#define DEPSEC 16 /* directory entries per sector */ -#define DSHIFT 4 /* DEPSEC shift */ #define LOCLUS 2 /* lowest cluster number */ #define FATBLKSZ 0x20000 /* size of block in the FAT cache buffer */ @@ -92,14 +89,43 @@ typedef struct { u_char heads[2]; /* drive heads */ u_char hidsec[4]; /* hidden sectors */ u_char lsecs[4]; /* huge sectors */ - u_char lspf[4]; /* huge sectors per FAT */ - u_char xflg[2]; /* flags */ - u_char vers[2]; /* filesystem version */ - u_char rdcl[4]; /* root directory start cluster */ - u_char infs[2]; /* filesystem info sector */ - u_char bkbs[2]; /* backup boot sector */ + union { + struct { + u_char drvnum; /* Int 13 drive number */ + u_char rsvd1; /* Reserved */ + u_char bootsig; /* Boot signature (0x29) */ + u_char volid[4]; /* Volume serial number */ + u_char vollab[11]; /* Volume label */ + u_char fstype[8]; /* Informational */ + } f12_f16; + struct { + u_char lspf[4]; /* huge sectors per FAT */ + u_char xflg[2]; /* flags */ + u_char vers[2]; /* filesystem version */ + u_char rdcl[4]; /* root directory cluster */ + u_char infs[2]; /* filesystem info sector */ + u_char bkbs[2]; /* backup boot sector */ + u_char reserved[12]; /* Reserved */ + u_char drvnum; /* Int 13 drive number */ + u_char rsvd1; /* Reserved */ + u_char bootsig; /* Boot signature (0x29) */ + u_char volid[4]; /* Volume serial number */ + u_char vollab[11]; /* Volume label */ + u_char fstype[8]; /* Informational */ + } f32; + } fstype; } DOS_BPB; +typedef struct { + u_char fsi_leadsig[4]; /* Value 0x41615252 */ + u_char fsi_reserved1[480]; + u_char fsi_structsig[4]; /* Value 0x61417272 */ + u_char fsi_free_count[4]; /* Last known free cluster count */ + u_char fsi_next_free[4]; /* First free cluster */ + u_char fsi_reserved2[12]; + u_char fsi_trailsig[4]; /* Value 0xAA550000 */ +} DOS_FSINFO; + /* Initial portion of DOS boot sector */ typedef struct { u_char jmp[3]; /* usually 80x86 'jmp' opcode */ @@ -117,16 +143,18 @@ static DOS_DE dot[2] = { }; /* The usual conversion macros to avoid multiplication and division */ -#define bytsec(n) ((n) >> SSHIFT) -#define secbyt(s) ((s) << SSHIFT) -#define entsec(e) ((e) >> DSHIFT) -#define bytblk(fs, n) ((n) >> (fs)->bshift) -#define blkbyt(fs, b) ((b) << (fs)->bshift) -#define secblk(fs, s) ((s) >> ((fs)->bshift - SSHIFT)) -#define blksec(fs, b) ((b) << ((fs)->bshift - SSHIFT)) +#define bytsec(fs, n) ((n) >> (fs)->sshift) +#define secbyt(fs, s) ((s) << (fs)->sshift) +#define depsec(fs) (1 << (fs)->dshift) +#define entsec(fs, e) ((e) >> (fs)->dshift) +#define bytblk(fs, n) ((n) >> (fs)->bshift) +#define blkbyt(fs, b) ((b) << (fs)->bshift) +#define secblk(fs, s) ((s) >> ((fs)->bshift - (fs)->sshift)) +#define blksec(fs, b) ((b) << ((fs)->bshift - (fs)->sshift)) /* Convert cluster number to offset within filesystem */ -#define blkoff(fs, b) (secbyt((fs)->lsndta) + blkbyt(fs, (b) - LOCLUS)) +#define blkoff(fs, b) (secbyt(fs, (fs)->lsndta) + \ + blkbyt(fs, (b) - LOCLUS)) /* Convert cluster number to logical sector number */ #define blklsn(fs, b) ((fs)->lsndta + blksec(fs, (b) - LOCLUS)) @@ -154,17 +182,17 @@ static int fatcnt(DOS_FS *, u_int); static int fatget(DOS_FS *, u_int *); static int fatend(u_int, u_int); static int ioread(DOS_FS *, uint64_t, void *, size_t); -static int ioget(struct open_file *, daddr_t, void *, size_t); +static int ioget(DOS_FS *, daddr_t, void *, size_t); static int -dos_read_fatblk(DOS_FS *fs, struct open_file *fd, u_int blknum) +dos_read_fatblk(DOS_FS *fs, u_int blknum) { int err; size_t io_size; daddr_t offset_in_fat, max_offset_in_fat; offset_in_fat = ((daddr_t)blknum) * FATBLKSZ; - max_offset_in_fat = secbyt(fs->spf); + max_offset_in_fat = secbyt(fs, (daddr_t)fs->spf); io_size = FATBLKSZ; if (offset_in_fat > max_offset_in_fat) offset_in_fat = max_offset_in_fat; @@ -172,7 +200,7 @@ dos_read_fatblk(DOS_FS *fs, struct open_file *fd, u_int blknum) io_size = ((size_t)(max_offset_in_fat - offset_in_fat)); if (io_size != 0) { - err = ioget(fd, fs->lsnfat + bytsec(offset_in_fat), + err = ioget(fs, fs->lsnfat + bytsec(fs, offset_in_fat), fs->fatbuf, io_size); if (err != 0) { fs->fatbuf_blknum = ((u_int)(-1)); @@ -193,23 +221,34 @@ static int dos_mount_impl(DOS_FS *fs, struct open_file *fd) { int err; + unsigned secsz; u_char *buf; fs->fd = fd; - if ((buf = malloc(secbyt(1))) == NULL) + err = ioctl(fd->f_id, DIOCGSECTORSIZE, &secsz); + if (err != 0) { + return (err); + } + + buf = malloc(secsz); + if (buf == NULL) return (errno); - if ((err = ioget(fs->fd, 0, buf, secbyt(1))) || + + if ((err = ioget(fs, 0, buf, secsz)) || (err = parsebs(fs, (DOS_BS *)buf))) { free(buf); return (err); } - free(buf); + fs->secbuf = buf; - if ((fs->fatbuf = malloc(FATBLKSZ)) == NULL) + if ((fs->fatbuf = malloc(FATBLKSZ)) == NULL) { + free(buf); return (errno); - err = dos_read_fatblk(fs, fd, 0); + } + err = dos_read_fatblk(fs, 0); if (err != 0) { + free(buf); free(fs->fatbuf); return (err); } @@ -292,6 +331,7 @@ dos_unmount_impl(DOS_FS *fs) { if (fs->links) return (EBUSY); + free(fs->secbuf); free(fs->fatbuf); free(fs); return (0); @@ -305,7 +345,7 @@ dos_open(const char *path, struct open_file *fd) { DOS_DE *de; DOS_FILE *f; - DOS_FS *fs; + DOS_FS *fs = NULL; dos_mnt_t *mnt; const char *dev; u_int size, clus; @@ -408,7 +448,7 @@ dos_read(struct open_file *fd, void *buf, size_t nbyte, size_t *resid) if (c != 0) off += blkoff(f->fs, (uint64_t)c); else - off += secbyt(f->fs->lsndir); + off += secbyt(f->fs, f->fs->lsndir); err = ioread(f->fs, off, buf, n); if (err != 0) goto out; @@ -588,36 +628,54 @@ dos_readdir(struct open_file *fd, struct dirent *d) static int parsebs(DOS_FS *fs, DOS_BS *bs) { - u_int sc; + u_int sc, RootDirSectors; - if ((bs->jmp[0] != 0x69 && - bs->jmp[0] != 0xe9 && - (bs->jmp[0] != 0xeb || bs->jmp[2] != 0x90)) || - bs->bpb.media < 0xf0) + if (bs->bpb.media < 0xf0) return (EINVAL); - if (cv2(bs->bpb.secsiz) != SECSIZ) + + /* Check supported sector sizes */ + switch (cv2(bs->bpb.secsiz)) { + case 512: + case 1024: + case 2048: + case 4096: + fs->sshift = ffs(cv2(bs->bpb.secsiz)) - 1; + break; + + default: return (EINVAL); + } + if (!(fs->spc = bs->bpb.spc) || fs->spc & (fs->spc - 1)) return (EINVAL); - fs->bsize = secbyt(fs->spc); + fs->bsize = secbyt(fs, fs->spc); fs->bshift = ffs(fs->bsize) - 1; - if ((fs->spf = cv2(bs->bpb.spf))) { + fs->dshift = ffs(secbyt(fs, 1) / sizeof (DOS_DE)) - 1; + fs->dirents = cv2(bs->bpb.dirents); + fs->spf = cv2(bs->bpb.spf); + fs->lsnfat = cv2(bs->bpb.ressec); + + if (fs->spf != 0) { if (bs->bpb.fats != 2) return (EINVAL); - if (!(fs->dirents = cv2(bs->bpb.dirents))) + if (fs->dirents == 0) return (EINVAL); } else { - if (!(fs->spf = cv4(bs->bpb.lspf))) + fs->spf = cv4(bs->bpb.fstype.f32.lspf); + if (fs->spf == 0) return (EINVAL); - if (!bs->bpb.fats || bs->bpb.fats > 16) + if (bs->bpb.fats == 0 || bs->bpb.fats > 16) return (EINVAL); - if ((fs->rdcl = cv4(bs->bpb.rdcl)) < LOCLUS) + fs->rdcl = cv4(bs->bpb.fstype.f32.rdcl); + if (fs->rdcl < LOCLUS) return (EINVAL); } - if (!(fs->lsnfat = cv2(bs->bpb.ressec))) - return (EINVAL); + + RootDirSectors = ((fs->dirents * sizeof (DOS_DE)) + + (secbyt(fs, 1) - 1)) / secbyt(fs, 1); + fs->lsndir = fs->lsnfat + fs->spf * bs->bpb.fats; - fs->lsndta = fs->lsndir + entsec(fs->dirents); + fs->lsndta = fs->lsndir + RootDirSectors; if (!(sc = cv2(bs->bpb.secs)) && !(sc = cv4(bs->bpb.lsecs))) return (EINVAL); if (fs->lsndta > sc) @@ -625,7 +683,7 @@ parsebs(DOS_FS *fs, DOS_BS *bs) if ((fs->xclus = secblk(fs, sc - fs->lsndta) + 1) < LOCLUS) return (EINVAL); fs->fatsz = fs->dirents ? fs->xclus < 0xff6 ? 12 : 16 : 32; - sc = (secbyt(fs->spf) << 1) / (fs->fatsz >> 2) - 1; + sc = (secbyt(fs, fs->spf) << 1) / (fs->fatsz >> 2) - 1; if (fs->xclus > sc) fs->xclus = sc; return (0); @@ -672,7 +730,7 @@ namede(DOS_FS *fs, const char *path, DOS_DE **dep) static int lookup(DOS_FS *fs, u_int clus, const char *name, DOS_DE **dep) { - static DOS_DIR dir[DEPSEC]; + DOS_DIR *dir; u_char lfn[261]; u_char sfn[13]; u_int nsec, lsec, xdn, chk, sec, ent, x; @@ -686,9 +744,10 @@ lookup(DOS_FS *fs, u_int clus, const char *name, DOS_DE **dep) } if (!clus && fs->fatsz == 32) clus = fs->rdcl; - nsec = !clus ? entsec(fs->dirents) : fs->spc; + nsec = !clus ? entsec(fs, fs->dirents) : fs->spc; lsec = 0; xdn = chk = 0; + dir = (DOS_DIR *)fs->secbuf; for (;;) { if (!clus && !lsec) lsec = fs->lsndir; @@ -697,9 +756,10 @@ lookup(DOS_FS *fs, u_int clus, const char *name, DOS_DE **dep) else return (EINVAL); for (sec = 0; sec < nsec; sec++) { - if ((err = ioget(fs->fd, lsec + sec, dir, secbyt(1)))) + if ((err = ioget(fs, lsec + sec, dir, + secbyt(fs, 1)))) return (err); - for (ent = 0; ent < DEPSEC; ent++) { + for (ent = 0; ent < depsec(fs); ent++) { if (!*dir[ent].de.name) return (ENOENT); if (*dir[ent].de.name != 0xe5) { @@ -866,14 +926,14 @@ fatget(DOS_FS *fs, u_int *c) /* ensure that current 128K FAT block is cached */ offset = fatoff(fs->fatsz, val_in); nbyte = fs->fatsz != 32 ? 2 : 4; - if (offset + nbyte > secbyt(fs->spf)) + if (offset + nbyte > secbyt(fs, fs->spf)) return (EINVAL); blknum = offset / FATBLKSZ; offset %= FATBLKSZ; if (offset + nbyte > FATBLKSZ) return (EINVAL); if (blknum != fs->fatbuf_blknum) { - err = dos_read_fatblk(fs, fs->fd, blknum); + err = dos_read_fatblk(fs, blknum); if (err != 0) return (err); } @@ -918,53 +978,55 @@ static int ioread(DOS_FS *fs, uint64_t offset, void *buf, size_t nbyte) { char *s; - size_t n; + size_t n, secsiz; int err; uint64_t off; - u_char local_buf[SECSIZ]; + secsiz = secbyt(fs, 1); s = buf; - if ((off = offset & (SECSIZ - 1))) { + if ((off = offset & (secsiz - 1))) { offset -= off; - if ((n = SECSIZ - off) > nbyte) + if ((n = secsiz - off) > nbyte) n = nbyte; - err = ioget(fs->fd, bytsec(offset), local_buf, - sizeof(local_buf)); + err = ioget(fs, bytsec(fs, offset), fs->secbuf, secsiz); if (err != 0) return (err); - memcpy(s, local_buf + off, n); - offset += SECSIZ; + memcpy(s, fs->secbuf + off, n); + offset += secsiz; s += n; nbyte -= n; } - n = nbyte & (SECSIZ - 1); + n = nbyte & (secsiz - 1); if (nbyte -= n) { - if ((err = ioget(fs->fd, bytsec(offset), s, nbyte))) + if ((err = ioget(fs, bytsec(fs, offset), s, nbyte))) return (err); offset += nbyte; s += nbyte; } if (n != 0) { - err = ioget(fs->fd, bytsec(offset), local_buf, - sizeof(local_buf)); + err = ioget(fs, bytsec(fs, offset), fs->secbuf, secsiz); if (err != 0) return (err); - memcpy(s, local_buf, n); + memcpy(s, fs->secbuf, n); } return (0); } /* - * Sector-based I/O primitive + * Sector-based I/O primitive. Note, since strategy functions are operating + * in terms of 512B sectors, we need to do necessary conversion here. */ static int -ioget(struct open_file *fd, daddr_t lsec, void *buf, size_t size) +ioget(DOS_FS *fs, daddr_t lsec, void *buf, size_t size) { size_t rsize; int rv; + struct open_file *fd = fs->fd; /* Make sure we get full read or error. */ rsize = 0; + /* convert native sector number to 512B sector number. */ + lsec = secbyt(fs, lsec) >> 9; rv = (fd->f_dev->dv_strategy)(fd->f_devdata, F_READ, lsec, size, buf, &rsize); if ((rv == 0) && (size != rsize)) diff --git a/stand/libsa/dosfs.h b/stand/libsa/dosfs.h index 44fe8eac2595..9d844001a057 100644 --- a/stand/libsa/dosfs.h +++ b/stand/libsa/dosfs.h @@ -94,12 +94,15 @@ typedef union { typedef struct { struct open_file *fd; /* file descriptor */ + u_char *secbuf; /* sector cache */ u_char *fatbuf; /* FAT cache buffer */ u_int fatbuf_blknum; /* number of 128K block in FAT cache buffer */ u_int links; /* active links to structure */ + u_int sshift; /* sector shift */ u_int spc; /* sectors per cluster */ u_int bsize; /* cluster size in bytes */ u_int bshift; /* cluster conversion shift */ + u_int dshift; /* directory entries shift */ u_int dirents; /* root directory entries */ u_int spf; /* sectors per fat */ u_int rdcl; /* root directory start cluster */ From nobody Tue Mar 4 04:25:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6Mzk2zjZz5pSBc; Tue, 04 Mar 2025 04:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6Mzk2Q5tz46FR; Tue, 04 Mar 2025 04:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741062322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kbpZZNb804iiUdsDXYOyEnUy7rAVLn1RPMUMsWF8dRI=; b=DIvmu2W+s6G2/RjIi3Svzy/adP6cYpNJbqDtvRKBM36TZ8O/7XQuo4GEBidE3WHcxVMNFT 1M+BDrFWgsHY6QR5Ykv3b42Uq2bm/oh4e28X6wqq2K3tHSrfaVrUBl3W6CSMlVJA97SUxQ cjfM57gFSX2AB15cqhimijs62n9FcfX2vnMlzposXNHuMOmy7borkF9Bq6nIEn5D5rJCkL 4a5BQDEPx8dUkmSWUMpP3lYGjSKvbUlcU917sVAhH/4PBkqDXYlWb/xlc+JxmWRQV7ez9b FQFFNc4KCEECF7+aSVKG5G/Hq/lr3rXrSbtAxI+OA6MlMpOHy9mvbDpISZzmFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741062322; a=rsa-sha256; cv=none; b=a/agzwG4tqasQtTNmZLWRr8bH2+dTsmyDUUc7JSDFHkwyHujxWhwexixpvgpGYqoN1/DAk lHV3/eT+5T+7qHtETLtkwhqT3H+tSBR4KeMkh4/Rv3733ZrYiZ6Pk5Wwr4MpflG4NVMv/B yiaN2jVEy1PJc71nekl9LgpvGJZCzOOJzfiQ7t+Y4VveCzBOSXd5tmmWu5ljX+fwjyWFuv XCFFSM6ugz5SwZvdhjWtWb+XbXlaKaH0ngOLI3ziXzLWKD6ETSAapU91Ggv3+jEP75RK8o FiaKP0T0U/KmJ1Lw3Kk8spewOwehhH2Yzp2uCuN+thfjnQEgxGhO160S8sqhzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741062322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kbpZZNb804iiUdsDXYOyEnUy7rAVLn1RPMUMsWF8dRI=; b=aWyxu+xoVp65OUXjheLbxbZulwDM7ig7cp9Up8ak1tUIzw40CEQGcf21vME36wTupYDIUF k3eoBYic96cqwa3IzcwRQ1zwM+3moT+egstkh9poC/vilqAvi5XWQHCRPB31pEzKgcQrR0 OLmYiFTmdkRlw4Ymne9DrB3mHYKKU1dAYn92HfghLEFsKBKdAeBzHb8PhAx020tcLz1q/E 2GZbdmc3GemO5c4vlumm1rMZMSZsecH7gzF1VNLoRzNv3XTI5EwYd/v1sgVBIRWOeQrZq6 WhRnbOb0w5gPfH9R5uBi4p90dymCiLUxOdiggIZvLwfpeuRtq2v/7BVaveIEUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6Mzk1nYDz1H95; Tue, 04 Mar 2025 04:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5244PMh0072927; Tue, 4 Mar 2025 04:25:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5244PMkO072924; Tue, 4 Mar 2025 04:25:22 GMT (envelope-from git) Date: Tue, 4 Mar 2025 04:25:22 GMT Message-Id: <202503040425.5244PMkO072924@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: cb991a228179 - main - amd64 csu: microoptimize startup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: cb991a228179639cc0568fdd5d4b4b07b6f47b5a Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cb991a228179639cc0568fdd5d4b4b07b6f47b5a commit cb991a228179639cc0568fdd5d4b4b07b6f47b5a Author: Konstantin Belousov AuthorDate: 2025-03-02 23:54:24 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-04 04:24:59 +0000 amd64 csu: microoptimize startup Reorder operations to reduce moving the values among registers. Use the LEA instruction to combine arithmetic with the moves. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49206 --- lib/csu/amd64/crt1_s.S | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/csu/amd64/crt1_s.S b/lib/csu/amd64/crt1_s.S index f7ea076d94f1..3ceea9289330 100644 --- a/lib/csu/amd64/crt1_s.S +++ b/lib/csu/amd64/crt1_s.S @@ -49,15 +49,12 @@ _start: #ifdef GCRT subq $16, %rsp #endif - movq %rsi, %rcx - movq %rdi, %rsi /* argv = ap */ - addq $8, %rsi /* argv += 1 */ - movq %rdi, %rdx /* env = ap */ - addq $16, %rdx /* env += 2 */ - movslq (%rdi), %rax - movl %eax, %edi /* argc = *(long *)(void *)ap */ - shlq $3, %rax - addq %rax, %rdx /* env += argc */ + movq %rsi, %rcx /* cleanup */ + movslq (%rdi), %rax /* long *ap; tmpargc = *ap */ + leaq 0x8(%rdi), %rsi /* argv = ap + 1 */ + leaq 0x10(%rdi, %rax, 8), %rdx /* env = ap + 2 + tmpargc */ + movl %eax, %edi /* argc = tmpargc */ + #ifdef PIC /* * XXX. %rip relative addressing is not intended for use in the From nobody Tue Mar 4 04:58: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 4Z6Nk25kxjz5pVq7; Tue, 04 Mar 2025 04:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6Nk24HPlz3Vds; Tue, 04 Mar 2025 04:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741064314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnYrnhLhKh/9d1IxFtpGVMwj8dEUpveO9R7BYu+ST8M=; b=D6BF810kFS5GTYIo/D1F3UEUBNgd1IMT9G9Sp+8UtbRAffFApG2y4N/GL8PRi6vhHKeEF9 P9bj26E01L9T+3R5FN+jMs0gclBlYBFZGmRgErymMtBHqOrmtVj3X7RaML69HvUdjcdDwU KR30IsvSEtcf8ZSFT2TM+H8xaZT6it/5N+Y7iqzQRNNyH2WQa8+Kr7aTiLrhWwO7zRgeer 8LyPmQnsQLPOKgxxmetZF50S5NC7mVwRdMN0RadDZSBzqF5l2cea91029BGcNSa7l0X7IX aUZwrKied9YhVyGXIhqpRypTDNxg4SLFmX2pU+Pjymev4aPUi64oq7Ys6nl2Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741064314; a=rsa-sha256; cv=none; b=KnpZRm7Kh4tQy3p/6SXtC6ROxmHc9y8CFYgMnYB3rAl3vBO3Y8hEH74wA9rP3zRrCXFmf8 QB90DD5qQamUWsTkAl1vilZMkl5B4CkL1CYmZESOvns4waOdCUyuz8WVSD7h4xL+kxCb6U DGO2wlSUxb2LJIgphEkDO6Cxy3h77CUO/DOI0IAp5GgcKf6Ka0t33HNd9po6BjqbO4/yXU bzzDM03GAjzcBg3RlaRrQeVzfuN9E+HMI3JSSOZz649ZKJlWs/FNnJd6sQGED/Mqd8Ctp+ HUaPNTHLnSM6067hQXPaFMqtenq8w23rYK8kSDGHp9C6Ag3Ebrto9I1NHpZKlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741064314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnYrnhLhKh/9d1IxFtpGVMwj8dEUpveO9R7BYu+ST8M=; b=UNc5IulsFOTEz9O8dVRDk3jvE5PTqy7I81fRTnS8VjIG7IJsjyBVB9/KZcjrgpjr6Q9wJ2 EmRmozb9Lks5XhspWMtYV/hCCvTt9YsXLH9NlYwZF38QjaFTbBFXe5wVn/1NHIk63g+j7H MFifoyeL6Td+ZPH29Nkf1TUwlslfQEyEyOcZoxb8sZr/XWJeYKF9jLfxQnCsq57UgrKmcN pz026kl816bQ0Po4U9o1bNDdVjNxFoGYx8x4gbrkDt83e3orN84wuaYuGM0KLFe0/4BDLc 6RIvLwPeRdRV9HAqylteTR7U1mseojFxUoleYy/qSfXC1xUXjx4Ugfp8mfoHzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6Nk23HkKz1JBD; Tue, 04 Mar 2025 04:58: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 5244wY7u029664; Tue, 4 Mar 2025 04:58:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5244wY5M029661; Tue, 4 Mar 2025 04:58:34 GMT (envelope-from git) Date: Tue, 4 Mar 2025 04:58:34 GMT Message-Id: <202503040458.5244wY5M029661@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: 85af37e15958 - main - mlx5en: Fix domain set usage in TLS tag import 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85af37e15958bd050093e6368afe6afe8e7a5ced Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=85af37e15958bd050093e6368afe6afe8e7a5ced commit 85af37e15958bd050093e6368afe6afe8e7a5ced Author: Slava Shwartsman AuthorDate: 2025-02-24 18:08:58 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-04 04:58:07 +0000 mlx5en: Fix domain set usage in TLS tag import functions Use the correct device pointer to obtain the domain set for memory allocation. Previously, the functions were incorrectly using the arg parameter directly instead of accessing mlx5_core_dev. Signed-off-by: Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c | 2 +- sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c index 0759cd84c307..6c83de5f3580 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c @@ -118,7 +118,7 @@ mlx5e_tls_tag_import(void *arg, void **store, int cnt, int domain, int flags) for (i = 0; i != cnt; i++) { ptag = malloc_domainset(sizeof(*ptag), M_MLX5E_TLS, - mlx5_dev_domainset(arg), flags | M_ZERO); + mlx5_dev_domainset(priv->mdev), flags | M_ZERO); if (ptag == NULL) return (i); ptag->tls = &priv->tls; diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c index 55768038c20f..8b8f2e570245 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c @@ -388,11 +388,12 @@ static int mlx5e_tls_rx_tag_import(void *arg, void **store, int cnt, int domain, int flags) { struct mlx5e_tls_rx_tag *ptag; + struct mlx5_core_dev *mdev = arg; int i; for (i = 0; i != cnt; i++) { ptag = malloc_domainset(sizeof(*ptag), M_MLX5E_TLS_RX, - mlx5_dev_domainset(arg), flags | M_ZERO); + mlx5_dev_domainset(mdev), flags | M_ZERO); mtx_init(&ptag->mtx, "mlx5-tls-rx-tag-mtx", NULL, MTX_DEF); INIT_WORK(&ptag->work, mlx5e_tls_rx_work); store[i] = ptag; From nobody Tue Mar 4 05:35: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 4Z6PXm4xZ1z5pYyJ; Tue, 04 Mar 2025 05:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6PXm3jq4z3wCs; Tue, 04 Mar 2025 05:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741066536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zm+oJqimgo9SNG3b+x1GQNY00fuY0bfHksiRkqaG8z8=; b=FGN4YTcaI9bWoajSR2ch1LsFmuiCxIEFX5KVJDmD3BYxEHdtr2hZwIE8laQhMxnJCGHOPn 9K/K9xGJHIaYnuq8RnkGZdDp+9tR6x3i0FuCJGJgymU68H75Y+OWIgHnOw1QxCIEhYJMCD DJeJ575AOWpQROE7pNPbH1sxH6fhJpp/6tkAf9t3vpAiV8XhB9DGfTLF09dnkM25NVR5Ho spF+OnP0cBWDvpjDAt0QtrKnetYpdZ5zqX4LJPzMGMI/5ba9F/3dCUSfocg6mPBBp4Kz4z WGs0qpLMZ2FupORHYZ5OyL39QAHJeMysqkag3TE1KyoRWu8fuT7kERR9l8P6xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741066536; a=rsa-sha256; cv=none; b=NGCBYu6Xrtubnx7EedtOfkVj+Z7JiEKdWpfNo3IwiM6uRjN3qV1V11ss7NOjUtuqN8rxOP dLBBWGkAWGs/Ly5qfiP3GCr19ajtsuZGeOUOyF514QJcTapTSXxSkAxUFe/wjOKZ5Vf3cx JEZdeD3Q14x15TgFFZrFH48Ee/Zvbg4p2SNCAHSlFlLma0Lv/By6VZN0MSCiT9XwWtIwxG k8HZ4fBKoYmCQZ/yFtxAoJ0Sk8jn2RfFKFVgtgSsIfopLhjlWvkjhf4Uhncfh0pjV/hSeE Q7YoN75HEKb+u0RAfUAwegfHZ5qN4nXjxIBnr+lQRTQa9XacnaGzC2qse5D6SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741066536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zm+oJqimgo9SNG3b+x1GQNY00fuY0bfHksiRkqaG8z8=; b=UKqq/Ucl6wT9TK4uUaScbnXjqWn/bYlxZ3ziAl+1AgRkmftHqW2Uzw7+9BgqZ/AuNjaGRm 9q5fMI9XxAAmXx0qLl5W/3rWryf0o8C87NfjOrDShOFr43AMesZDU1MrkfO1HDiTdT3cvu xbsTAyUgP8xdQX11jdQZlr7vMOoDr/iFPlMYLDu8jgc03JLguleU82g41BDnNl6ByvTCab KJFprZZArbG78P88xmgQY45EqAoupmjBnOLrCVpW4Lja4qSK7e4bhHyWIccFheQ6dIb7Yr HXqHHOD5YpySInyFa/tikDGcMkvsn9i+wt6e63O1Al4tp8kEV0QmgAcy8m9WIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6PXm3J5vz1KD0; Tue, 04 Mar 2025 05:35: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 5245Za1u003708; Tue, 4 Mar 2025 05:35:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5245Zamm003705; Tue, 4 Mar 2025 05:35:36 GMT (envelope-from git) Date: Tue, 4 Mar 2025 05:35:36 GMT Message-Id: <202503040535.5245Zamm003705@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: c6c63b92effd - main - vm_object: don't reset new iterator List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c6c63b92effd6d0662977f11bf429127b9dc4407 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=c6c63b92effd6d0662977f11bf429127b9dc4407 commit c6c63b92effd6d0662977f11bf429127b9dc4407 Author: Doug Moore AuthorDate: 2025-03-04 05:31:18 +0000 Commit: Doug Moore CommitDate: 2025-03-04 05:31:18 +0000 vm_object: don't reset new iterator Don't call pctrie_iter_reset on a just-initialized iterator. Let the code jumping back up do the resetting. Add an assertion at the jump destination to check that a reset happened. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49207 --- sys/sys/pctrie.h | 6 ++++++ sys/vm/device_pager.c | 2 ++ sys/vm/vm_object.c | 9 +++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/sys/sys/pctrie.h b/sys/sys/pctrie.h index 42473dc8e632..dac18b58498b 100644 --- a/sys/sys/pctrie.h +++ b/sys/sys/pctrie.h @@ -47,6 +47,12 @@ pctrie_iter_reset(struct pctrie_iter *it) it->node = NULL; } +static __inline bool +pctrie_iter_is_reset(struct pctrie_iter *it) +{ + return (it->node == NULL); +} + static __inline void pctrie_iter_init(struct pctrie_iter *it, struct pctrie *ptree) { diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 0691d43a5946..0b3a2eb54d75 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -293,6 +293,8 @@ cdev_mgtdev_pager_free_pages(vm_object_t object) vm_page_iter_init(&pages, object); VM_OBJECT_WLOCK(object); retry: + KASSERT(pctrie_iter_is_reset(&pages), + ("%s: pctrie_iter not reset for retry", __func__)); for (m = vm_radix_iter_lookup_ge(&pages, 0); m != NULL; m = vm_radix_iter_step(&pages)) { if (!vm_page_busy_acquire(m, VM_ALLOC_WAITFAIL)) { diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 9269103d8d91..79a28c4d77b0 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1576,7 +1576,8 @@ vm_object_split(vm_map_entry_t entry) vm_object_set_flag(orig_object, OBJ_SPLIT); vm_page_iter_limit_init(&pages, orig_object, offidxstart + size); retry: - pctrie_iter_reset(&pages); + KASSERT(pctrie_iter_is_reset(&pages), + ("%s: pctrie_iter not reset for retry", __func__)); for (m = vm_radix_iter_lookup_ge(&pages, offidxstart); m != NULL; m = vm_radix_iter_step(&pages)) { /* @@ -1590,6 +1591,7 @@ retry: VM_OBJECT_WUNLOCK(new_object); if (vm_page_busy_sleep(m, "spltwt", 0)) VM_OBJECT_WLOCK(orig_object); + pctrie_iter_reset(&pages); VM_OBJECT_WLOCK(new_object); goto retry; } @@ -1611,6 +1613,7 @@ retry: VM_OBJECT_WUNLOCK(new_object); VM_OBJECT_WUNLOCK(orig_object); vm_radix_wait(); + pctrie_iter_reset(&pages); VM_OBJECT_WLOCK(orig_object); VM_OBJECT_WLOCK(new_object); goto retry; @@ -1996,7 +1999,8 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, vm_object_pip_add(object, 1); vm_page_iter_limit_init(&pages, object, end); again: - pctrie_iter_reset(&pages); + KASSERT(pctrie_iter_is_reset(&pages), + ("%s: pctrie_iter not reset for retry", __func__)); for (p = vm_radix_iter_lookup_ge(&pages, start); p != NULL; p = vm_radix_iter_step(&pages)) { /* @@ -2025,6 +2029,7 @@ again: if (vm_page_tryxbusy(p) == 0) { if (vm_page_busy_sleep(p, "vmopar", 0)) VM_OBJECT_WLOCK(object); + pctrie_iter_reset(&pages); goto again; } if ((options & OBJPR_VALIDONLY) != 0 && vm_page_none_valid(p)) { From nobody Tue Mar 4 08:05: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 4Z6St7467fz5pnWn; Tue, 04 Mar 2025 08:05:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6St73Vy3z3SZs; Tue, 04 Mar 2025 08:05:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741075551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/xcR1fPTKjSZL/MkKCUGYlSczA5zLfYx0F06Ieop4I=; b=PrPBzSjleXDsvMLKrqkkSiWIzCLTj6GmF+4PmDTzW+nIyRRTjh4Z+9FE2zNygy5iUIhkmr 7WVN5lix5ZPDNl7/I1aVNVEN/b+PxFXn+eh/T5KzX1e+VeG24+emUcr/R/u8W65mSsQg3M 4WkW69/qUxTwSvlM0AJNiuSFT6HUy1xExMUf1qBPVCgjPWDEXOrTUjvE/vzDSR8CMapRgl lz3yX4jsjtsKNxah9LpoHjOvdK0w31IaN2en4Wh29R7OY90ut7ABlN5U9zowAMf8icyQvU wf1D3mAqgF4NtmcFkmtPmbjNpZQioQU+gikiAprNPkTE0legM0Mf6wb4nMjnww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741075551; a=rsa-sha256; cv=none; b=NJ5T2v6MpI8AIfnNycxdsiv3nR+BOumHu/72qf15Tgw4AG1p+vVUfH9PUa85humHeFBJY0 gciopY4pM9lKiGur3E2i/wSRYfsByjaibzQdWiJJDfzDqYiBAZpU6ai6YYFOB4R4omnrcR DObY6Q8K+P3AZlzAIDpLrLleVe/EmGBMgP0n/NGDIwYzRMj4DXDxPZ6YVUIRXL2ICoVNWL bu7RwOp2FCqnYGGOatwmnuHZfn8tUhDEVUQv+ncUIMupOdvCbBkwcS/tD/nSMtRIY4LcR5 bh9d23QIw9VT9manMbx3d3xdboBD0/df1Gix1v1YVfAdCL+46+1jZnIeA0mEDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741075551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/xcR1fPTKjSZL/MkKCUGYlSczA5zLfYx0F06Ieop4I=; b=FJyMbOzUtTvYOYed/+o/UGlZ6RQde6oeBknYu0VCdgxiYzDHEDQeFWF0U+6+DCKQfV1lzf ENimi9AmBGO0P1Cpe2aH9fpatv29pvuQX1h5RrUeR1Zn6br9RA+ur8K9n7fAFvLbPGufej wLR2rOr2qgpz513pq1v82j2tmbn63S8hI4DFXWOB0ncuNsFQ/Q843Z7Uag4LCvc6cWeQ1/ dNa4o4re7ilImfyqMTRcVB8Fje0aecpzM9hF+PKTJpIQ09Sn+7X5EvbhBdt4udENGJhg7/ Q/5uSgmuKPhDTwZla0h767HUHI5vx/M7I8a5ZOCV7OMltLWGYvDoLQCqaZjiVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6St72yshz1Nv3; Tue, 04 Mar 2025 08:05: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 52485pDT088636; Tue, 4 Mar 2025 08:05:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52485pYn088632; Tue, 4 Mar 2025 08:05:51 GMT (envelope-from git) Date: Tue, 4 Mar 2025 08:05:51 GMT Message-Id: <202503040805.52485pYn088632@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: 7e51bc6cdd5c - main - pf: Introduce unhandled_af() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7e51bc6cdd5c317109e25b0b64230d00d68dceb3 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7e51bc6cdd5c317109e25b0b64230d00d68dceb3 commit 7e51bc6cdd5c317109e25b0b64230d00d68dceb3 Author: Kristof Provost AuthorDate: 2025-03-03 16:26:39 +0000 Commit: Kristof Provost CommitDate: 2025-03-04 08:05:37 +0000 pf: Introduce unhandled_af() For cases where code conditionally does something based on an address family and later assumes one of the paths was taken. This was initially just calls to panic until guenther suggested a function to reduce the amount of strings needed. This reduces the amount of noise with static analysers and acts as a sanity check. ok guenther@ bluhm@ Obtained from: OpenBSD, jsg , ba4138390b Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 38 +++++++++++++++++++++++++++++++++++++- sys/netpfil/pf/pf_ioctl.c | 6 ++++++ sys/netpfil/pf/pf_table.c | 37 +++++++++++++++++++++++++++++-------- sys/netpfil/pf/pflow.c | 4 ++-- 5 files changed, 75 insertions(+), 11 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index b9b7f71c07d1..2aaef12e3431 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2280,6 +2280,7 @@ VNET_DECLARE(struct pf_krule *, pf_rulemarker); #define V_pf_rulemarker VNET(pf_rulemarker) #endif +void unhandled_af(int) __dead2; int pf_start(void); int pf_stop(void); void pf_initialize(void); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 72e648b84b2f..ad6be0c67c2a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -601,6 +601,8 @@ pf_addr_cmp(struct pf_addr *a, struct pf_addr *b, sa_family_t af) return (-1); break; #endif /* INET6 */ + default: + unhandled_af(af); } return (0); } @@ -616,7 +618,7 @@ pf_is_loopback(sa_family_t af, struct pf_addr *addr) case AF_INET6: return IN6_IS_ADDR_LOOPBACK(&addr->v6); default: - panic("Unknown af %d", af); + unhandled_af(af); } } @@ -696,6 +698,8 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, case AF_INET6: PF_ACPY(pd->src, &nk->addr[pd->sidx], pd->af); break; + default: + unhandled_af(pd->af); } } if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) { @@ -708,6 +712,8 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, case AF_INET6: PF_ACPY(pd->dst, &nk->addr[pd->didx], pd->af); break; + default: + unhandled_af(pd->af); } } break; @@ -740,6 +746,8 @@ pf_hashsrc(struct pf_addr *addr, sa_family_t af) h = murmur3_32_hash32((uint32_t *)&addr->v6, sizeof(addr->v6)/sizeof(uint32_t), V_pf_hashseed); break; + default: + unhandled_af(af); } return (h & V_pf_srchashmask); @@ -803,6 +811,8 @@ pf_addrcpy(struct pf_addr *dst, const struct pf_addr *src, sa_family_t af) case AF_INET6: memcpy(&dst->v6, &src->v6, sizeof(dst->v6)); break; + default: + unhandled_af(af); } } #endif /* INET6 */ @@ -931,6 +941,8 @@ pf_overload_task(void *v, int pending) p.pfra_ip6addr = pfoe->addr.v6; break; #endif + default: + unhandled_af(pfoe->af); } PF_RULES_WLOCK(); @@ -2174,6 +2186,8 @@ pf_isforlocal(struct mbuf *m, int af) return (! (ia->ia6_flags & IN6_IFF_NOTREADY)); } #endif + default: + unhandled_af(af); } return (false); @@ -2335,6 +2349,8 @@ pf_icmp_mapping(struct pf_pdesc *pd, u_int8_t type, } break; #endif /* INET6 */ + default: + unhandled_af(pd->af); } HTONS(*virtual_type); return (0); /* These types match to their own state */ @@ -2960,6 +2976,8 @@ pf_print_host(struct pf_addr *addr, u_int16_t p, sa_family_t af) break; } #endif /* INET6 */ + default: + unhandled_af(af); } } @@ -3333,6 +3351,8 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, } break; #endif /* INET6 */ + default: + unhandled_af(af); } if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | @@ -3639,6 +3659,8 @@ pf_change_icmp_af(struct mbuf *m, int off, struct pf_pdesc *pd, ip6->ip6_src = src->v6; ip6->ip6_dst = dst->v6; break; + default: + unhandled_af(naf); } /* adjust payload offset and total packet length */ @@ -3877,6 +3899,8 @@ pf_translate_icmp_af(int af, void *arg) icmp4->icmp_void = htonl(ptr); } break; + default: + unhandled_af(af); } #endif /* INET && INET6 */ @@ -3983,6 +4007,8 @@ pf_build_tcp(const struct pf_krule *r, sa_family_t af, len = sizeof(struct ip6_hdr) + tlen; break; #endif /* INET6 */ + default: + unhandled_af(af); } m = m_gethdr(M_NOWAIT, MT_DATA); @@ -4148,6 +4174,8 @@ pf_send_sctp_abort(sa_family_t af, struct pf_pdesc *pd, off += sizeof(struct ip6_hdr); break; #endif /* INET6 */ + default: + unhandled_af(af); } /* SCTP header */ @@ -4231,6 +4259,8 @@ pf_send_tcp(const struct pf_krule *r, sa_family_t af, pfse->pfse_type = PFSE_IP6; break; #endif /* INET6 */ + default: + unhandled_af(af); } pfse->pfse_m = m; @@ -7648,6 +7678,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, icmpsum = &pd->hdr.icmp6.icmp6_cksum; break; #endif /* INET6 */ + default: + panic("unhandled proto %d", pd->proto); } if (pf_icmp_mapping(pd, icmptype, &icmp_dir, &virtual_id, @@ -7849,6 +7881,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd2.ip_sum = NULL; break; #endif /* INET6 */ + default: + unhandled_af(pd->af); } if (PF_ANEQ(pd->dst, pd2.src, pd->af)) { @@ -8052,6 +8086,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, (caddr_t )&h2_6); break; #endif /* INET6 */ + default: + unhandled_af(pd->af); } m_copyback(pd->m, pd2.off, 8, (caddr_t)&th); } diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index e622186f671f..787715412fc2 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2406,6 +2406,12 @@ relock_DIOCKILLSTATES: return (killed); } +void +unhandled_af(int af) +{ + panic("unhandled af %d", af); +} + int pf_start(void) { diff --git a/sys/netpfil/pf/pf_table.c b/sys/netpfil/pf/pf_table.c index 666ec18ec377..462b8c3aa782 100644 --- a/sys/netpfil/pf/pf_table.c +++ b/sys/netpfil/pf/pf_table.c @@ -754,12 +754,17 @@ pfr_lookup_addr(struct pfr_ktable *kt, struct pfr_addr *ad, int exact) PF_RULES_ASSERT(); bzero(&sa, sizeof(sa)); - if (ad->pfra_af == AF_INET) { + switch (ad->pfra_af) { + case AF_INET: FILLIN_SIN(sa.sin, ad->pfra_ip4addr); head = &kt->pfrkt_ip4->rh; - } else if ( ad->pfra_af == AF_INET6 ) { + break; + case AF_INET6: FILLIN_SIN6(sa.sin6, ad->pfra_ip6addr); head = &kt->pfrkt_ip6->rh; + break; + default: + unhandled_af(ad->pfra_af); } if (ADDR_NETWORK(ad)) { pfr_prepare_network(&mask, ad->pfra_af, ad->pfra_net); @@ -957,10 +962,16 @@ pfr_route_kentry(struct pfr_ktable *kt, struct pfr_kentry *ke) PF_RULES_WASSERT(); bzero(ke->pfrke_node, sizeof(ke->pfrke_node)); - if (ke->pfrke_af == AF_INET) + switch (ke->pfrke_af) { + case AF_INET: head = &kt->pfrkt_ip4->rh; - else if (ke->pfrke_af == AF_INET6) + break; + case AF_INET6: head = &kt->pfrkt_ip6->rh; + break; + default: + unhandled_af(ke->pfrke_af); + } if (KENTRY_NETWORK(ke)) { pfr_prepare_network(&mask, ke->pfrke_af, ke->pfrke_net); @@ -978,10 +989,16 @@ pfr_unroute_kentry(struct pfr_ktable *kt, struct pfr_kentry *ke) struct radix_node *rn; struct radix_head *head = NULL; - if (ke->pfrke_af == AF_INET) + switch (ke->pfrke_af) { + case AF_INET: head = &kt->pfrkt_ip4->rh; - else if (ke->pfrke_af == AF_INET6) + break; + case AF_INET6: head = &kt->pfrkt_ip6->rh; + break; + default: + unhandled_af(ke->pfrke_af); + } if (KENTRY_NETWORK(ke)) { pfr_prepare_network(&mask, ke->pfrke_af, ke->pfrke_net); @@ -1051,7 +1068,7 @@ pfr_sockaddr_to_pf_addr(const union sockaddr_union *sa, struct pf_addr *a) memcpy(&a->v6, &sa->sin6.sin6_addr, sizeof(a->v6)); break; default: - panic("Unknown AF"); + unhandled_af(sa->sa.sa_family); } } @@ -2079,6 +2096,8 @@ pfr_match_addr(struct pfr_ktable *kt, struct pf_addr *a, sa_family_t af) break; } #endif /* INET6 */ + default: + unhandled_af(af); } match = (ke && !ke->pfrke_not); if (match) @@ -2131,7 +2150,7 @@ pfr_update_stats(struct pfr_ktable *kt, struct pf_addr *a, sa_family_t af, } #endif /* INET6 */ default: - panic("%s: unknown address family %u", __func__, af); + unhandled_af(af); } if ((ke == NULL || ke->pfrke_not) != notrule) { if (op_pass != PFR_OP_PASS) @@ -2261,6 +2280,8 @@ pfr_pool_get(struct pfr_ktable *kt, int *pidx, struct pf_addr *counter, uaddr.sin6.sin6_family = AF_INET6; addr = (struct pf_addr *)&uaddr.sin6.sin6_addr; break; + default: + unhandled_af(af); } if (!(kt->pfrkt_flags & PFR_TFLAG_ACTIVE) && kt->pfrkt_root != NULL) diff --git a/sys/netpfil/pf/pflow.c b/sys/netpfil/pf/pflow.c index ae9d162bb6bf..00890589814d 100644 --- a/sys/netpfil/pf/pflow.c +++ b/sys/netpfil/pf/pflow.c @@ -1216,7 +1216,7 @@ pflow_sendout_ipfix(struct pflow_softc *sc, enum pflow_family_t af) + sc->sc_count_nat4 * sizeof(struct pflow_ipfix_nat4); break; default: - panic("Unsupported AF %d", af); + unhandled_af(af); } pflowstat_inc(pflow_packets); @@ -1444,7 +1444,7 @@ nlattr_add_sockaddr(struct nl_writer *nw, int attr, const struct sockaddr *s) break; } default: - panic("Unknown address family %d", s->sa_family); + unhandled_af(s->sa_family); } nlattr_set_len(nw, off); From nobody Tue Mar 4 12: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 4Z6ZQv5Pw1z5phZD; Tue, 04 Mar 2025 12: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6ZQv3CMbz3DyL; Tue, 04 Mar 2025 12: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=1741090567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KeRyk0ovGCdGLKanMiEuRndhimURQVH/3sbXhrl2ixA=; b=lrPLvfk2wkdS/BtWGcWxkqhYUUmpTsCsE0r9Y8nLzqFudnwZwEIXe1YE/32QeMElffC9dI 5+DvpExEaktx1u6uhE6EmweOGL+/mvrKZ1RJnNo+HUWj3CRYxzp7T4pUmLwosIB3+Zp9Sb a7kiH1MPDjLdHrNKJTOBnrIIWMfLZm9QY8HiSTRYa5UZ9gZ1KJMIj6tqGpNci9+Axszdoc C8WgHxYTifbg4/WASCQK0T9KO+QY8PJoS7z9eX4oDc22vNi/7v7OXp3bG0XwRt1p3kQCh2 Vjw2dNeBNXT/80L8q/UxbXVMEmUMKw1TcVqAoQSYYLu0BPL3Np25nAUOJV4HeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741090567; a=rsa-sha256; cv=none; b=vmkf1LBaZgUcm1r8pkjO399cD3gdN8sLwI/+ExFdOs2l0SRSYX7pucXoWL0cwusTsX7Gnd 8LRkOU+ajkj14laqbpKd6mdVI9WUPLg92d/vQz1eYsTpUPTu1039XVA+SGND5xbmGjE8JH EM1vL9veTCTEQg7VXzjQozj/EdZfPUc0QTOEbUeJ+ZjKosbyZzGrxpjcDAgWF4HTpdmcCN 8yoWiMYq0yXjYw+4bJC7v+g7NgBSAEyG7sLNPyK/2ZAnU2nEXHptB83b4Noz+t8Nf7NgRw hr+uP2hLYZtl8OtZg4KT+OtbMrWc5pqtM7OmbDkxN0u84q44Snq4xE6aYwp+4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741090567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KeRyk0ovGCdGLKanMiEuRndhimURQVH/3sbXhrl2ixA=; b=Iz/oBYqMWB3zWA8ZzIHFFhBygo8voi7FrI4+fKrnEWVmfuCAYfVXvmihJJ6YQ01RYR77AU 9Ibv6VRL5o2TIBhwFCQFh0IfH3X135fpI1szxD2kKdrODA9jzCKNP3wnQqqmNluLw+x8ux 45WHrrhkH0ltexKTkb/Oq3iGaSzb7IeOMNqLUEpnl8HRs9l6GwWBm8haDrHDon3+HsyH+y AmdcNZWcmdnBwqK1DcTGp0DKZyHajm+tXiPZ8uW7oGazSbIfpE88dw34KZotaJ1JfUMy9C 0asifyie+B9kx4QL5e2nYn2afOX0m0dIS4Km2cNOk+3gNuPaffY9oZyAAAe2Qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6ZQv2pqnz30w; Tue, 04 Mar 2025 12: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 524CG7kA055807; Tue, 4 Mar 2025 12: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 524CG7pB055804; Tue, 4 Mar 2025 12:16:07 GMT (envelope-from git) Date: Tue, 4 Mar 2025 12:16:07 GMT Message-Id: <202503041216.524CG7pB055804@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kajetan Staszkiewicz Subject: git: 2624ba37e633 - main - pfctl: Fix printing af-to "to" pool List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2624ba37e6336febb40ab6317d8e4ea63b60fa44 Auto-Submitted: auto-generated The branch main has been updated by ks: URL: https://cgit.FreeBSD.org/src/commit/?id=2624ba37e6336febb40ab6317d8e4ea63b60fa44 commit 2624ba37e6336febb40ab6317d8e4ea63b60fa44 Author: Kajetan Staszkiewicz AuthorDate: 2025-03-03 10:43:21 +0000 Commit: Kajetan Staszkiewicz CommitDate: 2025-03-04 12:14:07 +0000 pfctl: Fix printing af-to "to" pool We can't depend on pool->cur, that is used only inside of kernel for iterating over members of the pool, it is not filled in during loading of ruleset. Reviewed by: kp Approved by: kp (mentor) Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D49213 --- sbin/pfctl/pfctl_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index bb458bce24fb..eb3a0826578e 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -1245,7 +1245,7 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int verbose, int numer printf(" af-to %s from ", r->naf == AF_INET ? "inet" : "inet6"); print_pool(&r->nat, r->nat.proxy_port[0], r->nat.proxy_port[1], r->naf ? r->naf : r->af, PF_NAT); - if (r->rdr.cur != NULL && !TAILQ_EMPTY(&r->rdr.list)) { + if (!TAILQ_EMPTY(&r->rdr.list)) { printf(" to "); print_pool(&r->rdr, r->rdr.proxy_port[0], r->rdr.proxy_port[1], r->naf ? r->naf : r->af, From nobody Tue Mar 4 13:53: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 4Z6cbh5Mbbz5pr8X; Tue, 04 Mar 2025 13:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6cbh4n5wz3yBg; Tue, 04 Mar 2025 13:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741096432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=768GkO8PiVtJhQ2HRatc19vHRtfkdF4FEDsiBklbJt8=; b=ZZ/3jnmleimPaTa4aSd3zZ9XqV6a/lB1tnrePkORYbHZlpNA7E7a5xw4YBoyH558luD9VF 5He+qqve1uksbgW0PWJCEzQ02xd23aJ71SJSUf8OeTp8kS6ZSrsJs2xHDE7P3rYwbLapgu 1vH6kwVc7C0aaQ6WfPfsfFOrW0XXWIYFUP1cdrGA1XEBsdoTUg/Rg9vQyimMvrQnUBktxn bgKA316wAFJkwNgNwkhXbTZDVBZqqTfJZI85QiuEYooCcdJMePObbMW6PO6sn6+wdUH1fi 1cfw07j+l2JVpo9uLqZplu1tcHRCIxxJmDy3fgxO/MyD3lFYiEEu94C87H4Hig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741096432; a=rsa-sha256; cv=none; b=ImIwCc39C9SKniyBPQCb8dBY100PLMnG3e/SJK6hvc4xGImh4+JsJafY+7yNNed57EGO3N LAzidmRBGJFB+Qm1ng33r2pakwihdkL+ejsYddzMM1vcBMiXwnzSV7UzZlLrsk5zpW4c0V yrrN3BxdqXL35CiuGXCLU1CDGpLC06+P4PXuXXGQM0Asu6lIsSYNSsseHDBBNiXw3cwIF0 tdfDEtdzsHJH7kRZm/IulKPtVts/bd4buO5Bns10dznWFU0AMbYr8/JTD9S8vrT35AoLOP Ar75JJ9k1i6Cj7cN96yl+M6eLOWtUJa/zYOcy/K7ic5tHBkdQ7xHITENVX4p6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741096432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=768GkO8PiVtJhQ2HRatc19vHRtfkdF4FEDsiBklbJt8=; b=ceGqM1977CWf9+OS+/WtMvioRslxjn+XjrFcKZCFA1LZkzREhw9o3xSev0a5aQh36eaatF foeIRWMuTcJTlxGfFGCwlRrlNOOBjao8W0IMlrN/vxlIlInGW1Dr5Rqzz+uhgQuLkIXVn5 VGgMc8WxGiwd+6DVIeosRsO0lHP9tld45+ePQT3T2oI752Q6I1I9lgiH1SHes55iuwwmqM PP+Wigk1k9C6aMb4FhhaTysohiO5O+Jau8veHKPrNPI9pFN/qfj+giFUNOpQ3ndXnMHf+F hIdm6c42dzOe+a2tEHYBNE+W6hF1HRqZvap8FZnUKlP6l9foz8FSsjwGx1simQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6cbh4LXbz5lh; Tue, 04 Mar 2025 13:53: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 524DrqNT041655; Tue, 4 Mar 2025 13:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524DrqPO041652; Tue, 4 Mar 2025 13:53:52 GMT (envelope-from git) Date: Tue, 4 Mar 2025 13:53:52 GMT Message-Id: <202503041353.524DrqPO041652@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 49a4838a0d94 - main - vmm: Emulate testb imm8,r/m8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49a4838a0d94e145a826abf02aa03ff444e614e3 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=49a4838a0d94e145a826abf02aa03ff444e614e3 commit 49a4838a0d94e145a826abf02aa03ff444e614e3 Author: Jose Luis Duran AuthorDate: 2025-03-04 13:51:47 +0000 Commit: Jose Luis Duran CommitDate: 2025-03-04 13:51:47 +0000 vmm: Emulate testb imm8,r/m8 Add support for "testb imm8,r/m8" emulation. PR: 261940 PR: 282852 Reviewed by: markj, emaste Approved by: emaste (mentor) Obtained from: Illumos (https://www.illumos.org/issues/14483) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49208 --- sys/amd64/vmm/vmm_instruction_emul.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/amd64/vmm/vmm_instruction_emul.c b/sys/amd64/vmm/vmm_instruction_emul.c index 51769faf5893..c53e32889000 100644 --- a/sys/amd64/vmm/vmm_instruction_emul.c +++ b/sys/amd64/vmm/vmm_instruction_emul.c @@ -236,6 +236,12 @@ static const struct vie_op one_byte_opcodes[256] = { .op_byte = 0x8F, .op_type = VIE_OP_TYPE_POP, }, + [0xF6] = { + /* XXX Group 3 extended opcode - not just TEST */ + .op_byte = 0xF6, + .op_type = VIE_OP_TYPE_TEST, + .op_flags = VIE_OP_F_IMM8, + }, [0xF7] = { /* XXX Group 3 extended opcode - not just TEST */ .op_byte = 0xF7, @@ -1284,6 +1290,12 @@ emulate_test(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, error = EINVAL; switch (vie->op.op_byte) { + case 0xF6: + /* + * F6 /0 test r/m8, imm8 + */ + size = 1; /* override for byte operation */ + /* FALLTHROUGH */ case 0xF7: /* * F7 /0 test r/m16, imm16 From nobody Tue Mar 4 14:10:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6czy19rnz5pt1Q; Tue, 04 Mar 2025 14:11:26 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from mail.bsd4all.net (mail.bsd4all.net [IPv6:2a01:4f8:13b:240c::25]) (using TLSv1.3 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 (secp384r1) client-digest SHA384) (Client CN "mail.bsd4all.net", Issuer "E6" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6czw6k2hz48vd; Tue, 04 Mar 2025 14:11:24 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gojira.at header.s=mail202005 header.b=g3IpmSY3; dmarc=none; spf=pass (mx1.freebsd.org: domain of herbert@gojira.at designates 2a01:4f8:13b:240c::25 as permitted sender) smtp.mailfrom=herbert@gojira.at Date: Tue, 04 Mar 2025 15:10:30 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gojira.at; s=mail202005; t=1741097474; bh=9pd6x0nmd3rEU44Bp4DuYjDeIK4H5A9kT3dS7TK4ux4=; h=Date:Message-ID:From:To:Cc:Subject:MIME-Version:Content-Type; b=g3IpmSY3sE9KGmD0CRXetpJAX0dOo0nxaV2OQ/smwkVoPIcAy+h7Rxy7PMNN/h5Dr 8qxhScdkzXt1yLzTZIw89Ggn6JKZVHgjwR7qHbZ7vZkQwHUvPzQT0rclQV+yji+V0K Znj3SF80+yj5YT6ZfH5V6dcXZMNG7b44t/585ZRUSXp29kLcgtZaddSTgSZl1T2Roj 4DKVajvj4uzv7A5ar6eoU9AeRrUstV/OIXHdHDT0vtK627gry4shW7fEgh/l/gTbDj Pel51sfXWXvw6mt5R13CXb8ikM29T02vy1DXRM4iY02Ldo5QTCi70ZzyuRNhkFcA52 fl4uXIBnmvQjA== Message-ID: <87bjugsx7t.wl-herbert@gojira.at> From: "Herbert J. Skuhra" To: Alexander Ziaee Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency In-Reply-To: <202502272222.51RMM0fg033513@gitrepo.freebsd.org> References: <202502272222.51RMM0fg033513@gitrepo.freebsd.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/31.0 Mule/6.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 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spamd-Result: default: False [-2.35 / 15.00]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-0.85)[-0.850]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:13b:240c::25]; R_DKIM_ALLOW(-0.20)[gojira.at:s=mail202005]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_ZERO(0.00)[0]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[gojira.at]; DKIM_TRACE(0.00)[gojira.at:+] X-Rspamd-Queue-Id: 4Z6czw6k2hz48vd X-Spamd-Bar: -- On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: > > The branch main has been updated by ziaee: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4262dbc57982383eb61a8b7806de6dd4b7802da8 > > commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 > Author: Alexander Ziaee > AuthorDate: 2025-02-19 15:54:27 +0000 > Commit: Alexander Ziaee > CommitDate: 2025-02-27 22:20:22 +0000 > > wifi manuals: Mlink + document description consistency > > Interfaces all have an mlink to if_$foo. Add these for the missing ones > and remove an incorrect one from rtwn_pci. Wireless network drivers are > all accessible via `apropos -s4 "wireless network driver", except two > which are "wireless network device". I actually prefer the latter, but > make them all consistent upon the more common parlance. Tag SPDX on one > of the files I touched, while here. > > MFC after: 3 days > Reviewed by: bz, carlavilla, mhorne > Approved by: carlavilla, mhorne (mentors) > Differential Revision: https://reviews.freebsd.org/D49063 > --- > share/man/man4/Makefile | 4 +++- > share/man/man4/uath.4 | 4 +++- > share/man/man4/upgt.4 | 2 +- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile > index 13afc9b8d399..8e0af19eec3d 100644 > --- a/share/man/man4/Makefile > +++ b/share/man/man4/Makefile > @@ -764,7 +764,9 @@ MLINKS+=ptnet.4 if_ptnet.4 > MLINKS+=ral.4 if_ral.4 > MLINKS+=re.4 if_re.4 > MLINKS+=rl.4 if_rl.4 > -MLINKS+=rtwn_pci.4 if_rtwn_pci.4 > +MLINKS+=rtw88.4 if_rtw89.4 > +MLINKS+=rtw89.4 if_rtw89.4 > +MLINKS+=rtwn.4 if_rtwn.4 ^^^^^^^^^ $ grep if_rtwn.4 ObsoleteFiles.inc OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz From nobody Tue Mar 4 14:25:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6dJT17TPz5q8Gl; Tue, 04 Mar 2025 14:25:45 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6dJT0DZ2z3H95; Tue, 04 Mar 2025 14:25:45 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741098345; 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=lY6nLzjOi5KGoF4mv5yH3VlNw2s8CzryzXFH+hHcaGY=; b=u9nap6HupjzMAIpG7H2sH1KTZCT1UC7teTS3FfLGDZgmxTtsKiUVnbUF9ZXH9/L1HpA6Zy xK/7IQvQarUcgpt5Dp0aRzAJWntN+j7+lFZlokwMSwRLV9CfQWpJ0ilPV0G91X8zULxvNR zozcHXtijGc3jDlHZYbVOP0WGtvaHpeQaP/3kAdgPY0+cx5XUJepLTWgIOrWR0t4ZMgtF9 73WvpW4GkUyb86C6k9qDhqGhSwo2E7NFiNLLqp1TU8konflibKAIcDvTog4mtHI3mL1bls +ZXjbjyVI/IqUbZRc7gCtOt6WEBk8LAJp7pf+zSrC2RcaTFZwH7j/3EvnwqAIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741098345; a=rsa-sha256; cv=none; b=UB7RtaI30RU+6uGyJXDHCE4740MofJvTX1KJFgo7rzTqldPNVJ9TeiGi8B92y3GJt3qWRd tusy11PT/A/VXPkxvAifhjC1M47bRuJmu+Rz7ERRTwC8Ab6V+bhRyslm2pvX+QSqteVhkU ZKA7v5W6MhvMYYt2xeO5fIa6P/1gl+7vAIE09HfXiMHczT5OnNWHpS169AidRBRl4KGb0R Splc1mKourxnNueRKWQZmSklgmyk+UvAe4Z57J8u0EtlGPi3oHn8AAsZM0I6gp9uJGYSOl zjVmwmIa/K1t3w++ErEUb5IXQ0M2uweWy0ljoBut3lin8UQrqeUI7VHhmJE/Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741098345; 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=lY6nLzjOi5KGoF4mv5yH3VlNw2s8CzryzXFH+hHcaGY=; b=yrPdYmn35NAQMr5GEA0lX/VsF8b6rO63SdJ9w0A4OV7ay8PlyS47F9McR6T5yAogPGPkKM 6hBpVO1UNNH0sMAaXPttwEoI5pnFfrDglOgWhTU+pLE1k/2idCJWnjMtQsomjFPaYPuCYf LZgghfrt58SOZ693fJle+CF9rXs3OhGjIaItrVPwX9nKZVIM+dbHYgIo95XrGWQYZnR4xC S247NshOrZIhAWEMs3WEg4ptEvEN2TaZiGJtMCaSzklemy6DDX4Q3QdO77RTQG+YFDInFh d+nugpit80lEV0xwl+Seaeb3rx6oXwJuPq23iuqfiAortxm756Z1KrsMnybsog== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E5" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z6dJS5qk0z17Dc; Tue, 04 Mar 2025 14:25:44 +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 45968A64805; Tue, 04 Mar 2025 14:25:41 +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 DE35A2D029E0; Tue, 4 Mar 2025 14:25:42 +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 UGyPDWbrHWPv; Tue, 4 Mar 2025 14:25:41 +0000 (UTC) Received: from strong-rtwn0.sbone.de (strong-rtwn0.sbone.de [IPv6:fde9:577b:c1a9:4902:da44:89ff:fedd:d5ab]) (using 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 A2C292D029D8; Tue, 4 Mar 2025 14:25:41 +0000 (UTC) Date: Tue, 4 Mar 2025 14:25:40 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Herbert J. Skuhra" cc: Alexander Ziaee , Adrian Chadd , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency In-Reply-To: <87bjugsx7t.wl-herbert@gojira.at> Message-ID: <95401978-p196-n4n8-4458-98qs07n2162n@SerrOFQ.bet> References: <202502272222.51RMM0fg033513@gitrepo.freebsd.org> <87bjugsx7t.wl-herbert@gojira.at> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Tue, 4 Mar 2025, Herbert J. Skuhra wrote: > On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: >> >> The branch main has been updated by ziaee: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=4262dbc57982383eb61a8b7806de6dd4b7802da8 >> >> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 >> Author: Alexander Ziaee >> AuthorDate: 2025-02-19 15:54:27 +0000 >> Commit: Alexander Ziaee >> CommitDate: 2025-02-27 22:20:22 +0000 >> >> wifi manuals: Mlink + document description consistency >> >> Interfaces all have an mlink to if_$foo. Add these for the missing ones >> and remove an incorrect one from rtwn_pci. Wireless network drivers are >> all accessible via `apropos -s4 "wireless network driver", except two >> which are "wireless network device". I actually prefer the latter, but >> make them all consistent upon the more common parlance. Tag SPDX on one >> of the files I touched, while here. >> >> MFC after: 3 days >> Reviewed by: bz, carlavilla, mhorne >> Approved by: carlavilla, mhorne (mentors) >> Differential Revision: https://reviews.freebsd.org/D49063 >> --- >> share/man/man4/Makefile | 4 +++- >> share/man/man4/uath.4 | 4 +++- >> share/man/man4/upgt.4 | 2 +- >> 3 files changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile >> index 13afc9b8d399..8e0af19eec3d 100644 >> --- a/share/man/man4/Makefile >> +++ b/share/man/man4/Makefile >> @@ -764,7 +764,9 @@ MLINKS+=ptnet.4 if_ptnet.4 >> MLINKS+=ral.4 if_ral.4 >> MLINKS+=re.4 if_re.4 >> MLINKS+=rl.4 if_rl.4 >> -MLINKS+=rtwn_pci.4 if_rtwn_pci.4 >> +MLINKS+=rtw88.4 if_rtw89.4 >> +MLINKS+=rtw89.4 if_rtw89.4 >> +MLINKS+=rtwn.4 if_rtwn.4 > ^^^^^^^^^ > $ grep if_rtwn.4 ObsoleteFiles.inc > OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz In fact that is probably correct but things are confusing. The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those should have the man page and links (so contrary to what was done). rtwn.ko is just the common code if I am not mistaken (Adrian should know better). But everyone is just referring to the driver as rtwn and I fear if there is no man page to be found as man rtwn / man if_rtwn people will be confused. I wanted to do the same with rtw88 but was told to keep it all together as one so rtwn is an excemption. That all said, yes, it needs a further cleanup. -- Bjoern A. Zeeb r15:7 From nobody Tue Mar 4 15:25: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 4Z6fct2RKPz5qDj5; Tue, 04 Mar 2025 15:25:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6fct0hmnz3pBX; Tue, 04 Mar 2025 15:25:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741101902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=deI8bh15sX2iTg7jW5FF39oFVK+8sg/AzxDhiwdwSMc=; b=N7Vtg7iCjnRo7ZDCZZc4s84V3we5euKYdVZAMyviNURSjGWUFVHfCmZhq8SDw73khTAtaU c+50+kiX2DPgeE9weB7xIW+aFihE5WkQFdt5PqGhMoCNo9bNo4IKb9K4WvfZ9SIbQ3cIJ6 TiOCyKZLg72oAWm6hSDxqLEHWKcCsT78LaZjYzuVM8jxc8gAY+sd2WsHxPwvisUOkJPx7m X9sAZrIBOTXMZwy+FWsFviuZF4coB/lTem5wUoG/pKRSbl513SXv+R0E4VI3eCPxOQG4TV 5tantGDLZ2T1NtkH9xbu+YK8LorVWy6KwUbuA7Yu90o+Tcem0RuxgJ5HuHdzEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741101902; a=rsa-sha256; cv=none; b=ecWTMVlGaHkBIaavoeZced6sZlfZqRtTOJheaf5Hi722NGwTc6MxCM6QReG/F9yY2M+lXa 4k1ni7xm5qUJxGDO5KW9ri3g0BI17OEB0Uzb8hHeRKDit4V5xtOgCIcdglETOFpuB5XIAi L43rjoWu+Lq1UtABPbBlfeftiHLxwjPAJxdwuGJ67+LkMBvlRLfrN9zoeBJv/jSzbcXJfR bRR+Ey9bGfpl5gBdqOGlPBPqslVVa8R4JDbcBegEKK4uiwGvokRUVqH4IHzHOu/e8kJgZ2 ECnWs/yqyev8+6GYpx+PqHRkP75sx59X1q6YHn8eQsFTb3O+Xvedt2oWuM4w/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741101902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=deI8bh15sX2iTg7jW5FF39oFVK+8sg/AzxDhiwdwSMc=; b=KEc2LjvO6S3DnvfjotmqRPLksM8L1qsYTRnEGzt554VrJUx+BoqdXlBCEDNj1cTBv825Uc d6+U/Sva6bYqYp1Z1xAx0d0PtnQOelmdziiOvMB+n/oJCtQRiFTPdQBZV4J256GjKM+m2i E597zZSSyHHkJMf1301RMjd75hjXje6Ibw3lkzriSnB7UhwHfKYVbvn2XhjXylXaZWB1dd 2YI7bh0cYe96ewFV98p1a8/Id/zFwXBUQPrnkmY6iFqbsVYZKeFiGbITlwrFQ8k/nhOzqO qcayDRGFHIofu1tcdT+FktR5VJbWx3h8r1Y4f6FgkDiYXImryXEhGMBvb+pGxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6fct0FXrz7w5; Tue, 04 Mar 2025 15:25: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 524FP1vE011567; Tue, 4 Mar 2025 15:25:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524FP1gm011564; Tue, 4 Mar 2025 15:25:01 GMT (envelope-from git) Date: Tue, 4 Mar 2025 15:25:01 GMT Message-Id: <202503041525.524FP1gm011564@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: d1a37f280be4 - main - LinuxKPI: 802.11: remove ieee80211_node_get_txrate_dot11rate() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d1a37f280be46a707b42c3eca5f8b6a38ecf726b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d1a37f280be46a707b42c3eca5f8b6a38ecf726b commit d1a37f280be46a707b42c3eca5f8b6a38ecf726b Author: Bjoern A. Zeeb AuthorDate: 2025-03-04 15:20:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-04 15:24:05 +0000 LinuxKPI: 802.11: remove ieee80211_node_get_txrate_dot11rate() net80211 ieee80211_node_get_txrate_dot11rate() does not yet support VHT and that means we get a lot of log lines when doing VHT for a debugging statement even if it's not active. Remove the calls to ieee80211_node_get_txrate_dot11rate() as with hw/fw based rate control (modern iwlwifi) they are pointless anyway as they are currently. Sponsored by: The FreeBSD Foundation X-MFC: only if net80211 gets MFCed Reported by: J.R. Oldroyd (jr opal.com) Fixes: 706745001093 (I should have noticed during review) --- sys/compat/linuxkpi/common/src/linux_80211.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 14c7bab163b6..33b33651b6ad 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6921,12 +6921,6 @@ linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *hw, } if (ni != NULL) { -#ifdef LINUXKPI_DEBUG_80211 - int old_rate; - - old_rate = - ieee80211_node_get_txrate_dot11rate(ni->ni_vap->iv_bss); -#endif txs.pktlen = skb->len; txs.flags |= IEEE80211_RATECTL_STATUS_PKTLEN; if (info->status.rates[0].count > 1) { @@ -6943,16 +6937,13 @@ linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *hw, txs.flags |= IEEE80211_RATECTL_STATUS_RSSI; } - IMPROVE("only update of rate matches but that requires us to get a proper rate"); + IMPROVE("only update rate if needed but that requires us to get a proper rate from mo_sta_statistics"); ieee80211_ratectl_tx_complete(ni, &txs); ieee80211_ratectl_rate(ni->ni_vap->iv_bss, NULL, 0); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) { - printf("TX-RATE: %s: old %d new %d " - "long_retries %d\n", __func__, - old_rate, - ieee80211_node_get_txrate_dot11rate(ni->ni_vap->iv_bss), + printf("TX-RATE: %s: long_retries %d\n", __func__, txs.long_retries); } #endif From nobody Tue Mar 4 15:26: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 4Z6ff33Fkqz5qDfl; Tue, 04 Mar 2025 15:26:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6ff31DwSz3pXt; Tue, 04 Mar 2025 15:26:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741101963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mGrRmOVLPokIjf16xaqzl+xLJIVIw7+L047syGI4c8=; b=hXlcDJqlIdRZbuZ9xIroDpw6l92vbMJhdNmpimuN5+h3QHWPbD0q5yRRyftnQikeuEiuin Rv1fONg5NEJb2oGrRRFXh8NhhBj+wWxnIlGnviakNYTkA+QnIPfW0PoSZKo8yDrRc6vbaR cbh0cMnFqKKeiUJJKDb0SSwfkyOD8cKtnrv7mtHfQExLHX2l0gcqMSWLJ05wEM4ouyn/cj jRNMJY9Ni6XxAqAn6UO3POcC7Rc/0oMVJaZ6a26hZ2H94B8+UUoErjMUYfyzGFElIkDG6j c76eLGNmo/qo+Z2MzW3fk9c8lD5M7KrqxYY0BbSnqukRYpLbrVRuAmCcKFTzvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741101963; a=rsa-sha256; cv=none; b=q0KW9U/cwRL8lOYipYFK1zM3Vj8FHEpiVSgPoCF4C7+w5yhVsAat7VLV4zeVCOEXmVwo6o xvA4TGLw2sEOWGTPw5qGaDzvumhWbIMvV10jwuJWm2FAJru7h8qsEjpQMvLDItP6i+aUbs gtboF33ZeW90WYKhiyqfatb+LCf3vhDg2046pAJcRAHS6dvjEHj5XA3po80M4B3SoPWyBm 7hq7+f5JAba4wW589m2qqt19WbPWS9dUz/dcW9dDs8n87cOLUqUrNPV2GBHlGvYZQ4EbB+ jHimrmaJNUyzZPHAmklUXhuGMAy4Ih0XS0GUm/ezxnYqBu46tDVuwrM4Yptl2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741101963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mGrRmOVLPokIjf16xaqzl+xLJIVIw7+L047syGI4c8=; b=ppipdjqRxAqIEvIjjPAuzPAfqDnW18fBo5/p+hUHGv4xPr7p5qFdfqv5jQumtYIVdUukA6 6SVtRg8aRGw71kRzSDigGrH10v34/SnOrvhs2pSsNhr4Qm+xdNvSxDslmq4b/yIqaT1R1J 4PznI0R+1iL7g9r4BVt+s19dMroIIfppNfMn5B7aaSBvuGmEjrv9QYgAna6x6ObhiTpFPl kmtzK99D1Q49EV0NYCFWNOgFZM56DcW/B5LfLaNTMjDKQm+KqylbJM8ka3iyYbxSTncCD5 LKq2UVJNFjU4sHLMatoVzgKqQ88II9t+N5HJbqJ0Ave77IwFLgD60c3h/j8XdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6ff30lCGz86h; Tue, 04 Mar 2025 15:26: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 524FQ3DS011978; Tue, 4 Mar 2025 15:26:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524FQ2OA011975; Tue, 4 Mar 2025 15:26:02 GMT (envelope-from git) Date: Tue, 4 Mar 2025 15:26:02 GMT Message-Id: <202503041526.524FQ2OA011975@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 3816452ecac6 - main - Revert "riscv: enable allwinner RTC" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3816452ecac64dcd2708c67fe0a1193d5e06feac Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=3816452ecac64dcd2708c67fe0a1193d5e06feac commit 3816452ecac64dcd2708c67fe0a1193d5e06feac Author: Mitchell Horne AuthorDate: 2025-03-04 15:20:55 +0000 Commit: Mitchell Horne CommitDate: 2025-03-04 15:25:56 +0000 Revert "riscv: enable allwinner RTC" It caused a regression on A10/A20 platforms. Revert until the proper fix can be determined. This reverts commit 9ddd516b886218af809dbf40eeda1ed388e2879c. PR: 285054 Reported by: mmel --- sys/arm/allwinner/aw_rtc.c | 24 ++++++++---------------- sys/riscv/allwinner/files.allwinner | 1 - sys/riscv/conf/std.allwinner | 1 - 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/sys/arm/allwinner/aw_rtc.c b/sys/arm/allwinner/aw_rtc.c index a13c0e7d926e..9938601f17ce 100644 --- a/sys/arm/allwinner/aw_rtc.c +++ b/sys/arm/allwinner/aw_rtc.c @@ -134,7 +134,6 @@ static struct ofw_compat_data compat_data[] = { { "allwinner,sun7i-a20-rtc", (uintptr_t) &a20_conf }, { "allwinner,sun6i-a31-rtc", (uintptr_t) &a31_conf }, { "allwinner,sun8i-h3-rtc", (uintptr_t) &h3_conf }, - { "allwinner,sun20i-d1-rtc", (uintptr_t) &h3_conf }, { "allwinner,sun50i-h5-rtc", (uintptr_t) &h3_conf }, { "allwinner,sun50i-h6-rtc", (uintptr_t) &h3_conf }, { NULL, 0 } @@ -148,13 +147,11 @@ struct aw_rtc_softc { static struct clk_fixed_def aw_rtc_osc32k = { .clkdef.id = 0, - .clkdef.name = "osc32k", .freq = 32768, }; static struct clk_fixed_def aw_rtc_iosc = { .clkdef.id = 2, - .clkdef.name = "iosc", }; static void aw_rtc_install_clocks(struct aw_rtc_softc *sc, device_t dev); @@ -252,29 +249,24 @@ aw_rtc_install_clocks(struct aw_rtc_softc *sc, device_t dev) { phandle_t node; int nclocks; - /* - * If the device tree gives us specific output names for the clocks, - * use them. - */ node = ofw_bus_get_node(dev); nclocks = ofw_bus_string_list_to_array(node, "clock-output-names", &clknames); - if (nclocks > 0) { - if (nclocks != 3) { - device_printf(dev, - "Found %d clocks instead of 3, aborting\n", - nclocks); - return; - } + /* No clocks to export */ + if (nclocks <= 0) + return; - aw_rtc_osc32k.clkdef.name = clknames[0]; - aw_rtc_iosc.clkdef.name = clknames[2]; + if (nclocks != 3) { + device_printf(dev, "Having only %d clocks instead of 3, aborting\n", nclocks); + return; } clkdom = clkdom_create(dev); + aw_rtc_osc32k.clkdef.name = clknames[0]; if (clknode_fixed_register(clkdom, &aw_rtc_osc32k) != 0) device_printf(dev, "Cannot register osc32k clock\n"); + aw_rtc_iosc.clkdef.name = clknames[2]; aw_rtc_iosc.freq = sc->conf->iosc_freq; if (clknode_fixed_register(clkdom, &aw_rtc_iosc) != 0) device_printf(dev, "Cannot register iosc clock\n"); diff --git a/sys/riscv/allwinner/files.allwinner b/sys/riscv/allwinner/files.allwinner index 73fa9660e2d2..423a89c10c78 100644 --- a/sys/riscv/allwinner/files.allwinner +++ b/sys/riscv/allwinner/files.allwinner @@ -1,6 +1,5 @@ arm/allwinner/aw_gpio.c optional gpio aw_gpio fdt -arm/allwinner/aw_rtc.c optional aw_rtc fdt arm/allwinner/aw_syscon.c optional syscon arm/allwinner/aw_sid.c optional aw_sid nvmem arm/allwinner/aw_timer.c optional aw_timer fdt diff --git a/sys/riscv/conf/std.allwinner b/sys/riscv/conf/std.allwinner index 2b1e0d4e09dc..1bf6b027a4cb 100644 --- a/sys/riscv/conf/std.allwinner +++ b/sys/riscv/conf/std.allwinner @@ -7,7 +7,6 @@ options SOC_ALLWINNER_D1 device aw_ccu # Allwinner clock controller device aw_gpio # Allwinner GPIO controller -device aw_rtc # Allwinner Real-time Clock device aw_sid # Allwinner Secure ID EFUSE device aw_timer # Allwinner Timer device aw_usbphy # Allwinner USB PHY From nobody Tue Mar 4 15:57: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 4Z6gL20227z5qHcs; Tue, 04 Mar 2025 15:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6gL16XBHz3FZQ; Tue, 04 Mar 2025 15:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741103833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wK//iu4tV3nuWBNx71Bigigq0YiDElacAyoox2qKKnE=; b=wLSrHXiLhU41gaEk6Tp+tZrWXDGIGYxJOlW/KfuPJBwExTJKEtK1Zr8EgNKTZ3lY99a0zP FNe9HDEwbNevKFdBofbMridDIelCsYkHBxpOVfAabpDvRnDYzeY0zF776AcIqjyyZK3JSP OGHONROR6KpkTOhzlcXZunCIdv2dH0hjf496mULvRzQbIIEbHhBbRSlRdAG940hkcmxEHV R/noflrTz1obnldpTvqac4FnpKHsnZOWZMa85JKU4tyf+dxIXKGaD0IQW1/m9IRIXYqv7J vhcBc/h3XjRKOtnRFF0fBBMCeBhdSDEyz7Y9ahLttsu30ZKSwSSCDOWaiWrQRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741103833; a=rsa-sha256; cv=none; b=rXxh7yDtv9EtO9uZdfFwHknejG+IIaxn6RgDrFsLhUVSdnsZzaEjaHlraYnA04qCEJ/ogZ Qqosp95Pskd4KvccTmhn0t+Y8tMHfiA+oo9Zi7KsyBqtGhZ5FgB9X2Zio61bs00nkuW2Mv g3vRHamGPsBNx0Yzc31NLtISBlwC6T34bblP6NwsfRp4Ro6Fiz0zkIFe43pwQCZwaxn9sG e6KzbdcOpWLBw2jJ0eI6DiGVekXRxq1/E1lfPa0Zcg+CH7A6RPZCdJjRk3PtHsp5LJv+j0 o/1mMOhWR+cHneqtJe66RPmUxcvoa9pt8YEnDCg8Ikai5Me1MmU2qCboU0gwvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741103833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wK//iu4tV3nuWBNx71Bigigq0YiDElacAyoox2qKKnE=; b=x0U44mFiJW2RugEIPR6k0fIh7vLAwrM/+XEHmc/kfuVYq12UwYuVxyzaHDBfstVvmQzIAO xhufpwzgMjirFxqB2/hre9I0ZvJdXvvY0Nc8kOI6wA8+gu2/pmpRkhJXKi0SkuWNRE60t/ x8SEUa+RsiwvmOAm34ga0soGfrCcVOHs/MUPWzlBNo1yc0Qv8ZI4D3i0zkshLbe8jgwtJV txr8moIOxKU+LfPFxq3YVHxeqdhfMoXch/qVrZ+hmLRq4h8gl0Z3uXGddMdSQkPwNJ2VMV lx4VbfZKSoV4jq2xdfPL7CyDg8XsGHq19/JpWQRW11CoTiCN7uR87xUZXQalJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6gL167ZRz8rs; Tue, 04 Mar 2025 15:57: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 524FvDnt069058; Tue, 4 Mar 2025 15:57:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524FvDjv069055; Tue, 4 Mar 2025 15:57:13 GMT (envelope-from git) Date: Tue, 4 Mar 2025 15:57:13 GMT Message-Id: <202503041557.524FvDjv069055@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: 394a9a5b1c2a - main - net80211: LinuxKPI 802.11: clean up MIC vs. MMIC rx flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 394a9a5b1c2ad7b679a00c3087c41378abfa74a1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=394a9a5b1c2ad7b679a00c3087c41378abfa74a1 commit 394a9a5b1c2ad7b679a00c3087c41378abfa74a1 Author: Bjoern A. Zeeb AuthorDate: 2025-03-03 11:43:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-04 15:56:49 +0000 net80211: LinuxKPI 802.11: clean up MIC vs. MMIC rx flags net80211 used MMIC flags for CCMP instead of only for TKIP. LinuxKPI 802.11 compat code (and later net80211) had a comment about this. Given LinuxKPI seems to be the only consumer for these flags currently outside of net80211 itself, clean them up before implementing TKIP in LinuxKPI after all and before GCMP comes into the tree. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49219 --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 ++++------ sys/net80211/_ieee80211.h | 5 +++-- sys/net80211/ieee80211_crypto.c | 7 ++++--- sys/net80211/ieee80211_crypto_ccmp.c | 11 +++-------- sys/net80211/ieee80211_crypto_tkip.c | 2 +- 5 files changed, 15 insertions(+), 20 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 33b33651b6ad..be0006769e33 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6224,14 +6224,12 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, } if (rx_status->flag & RX_FLAG_MMIC_STRIPPED) rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; - if (rx_status->flag & RX_FLAG_MIC_STRIPPED) { - /* net80211 re-uses M[ichael]MIC for MIC too. Confusing. */ - rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; - } + if (rx_status->flag & RX_FLAG_MMIC_ERROR) + rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_MMIC; + if (rx_status->flag & RX_FLAG_MIC_STRIPPED) + rx_stats->c_pktflags |= IEEE80211_RX_F_MIC_STRIP; if (rx_status->flag & RX_FLAG_IV_STRIPPED) rx_stats->c_pktflags |= IEEE80211_RX_F_IV_STRIP; - if (rx_status->flag & RX_FLAG_MMIC_ERROR) - rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_MIC; if (rx_status->flag & RX_FLAG_FAILED_FCS_CRC) rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; #endif diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 8d5583a826e5..2db2fabac3a9 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -585,16 +585,17 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_AMPDU 0x00000010 /* This is the start of an decap AMPDU list */ #define IEEE80211_RX_F_AMPDU_MORE 0x00000020 /* This is another decap AMPDU frame in the batch */ #define IEEE80211_RX_F_FAIL_FCSCRC 0x00000040 /* Failed CRC/FCS */ -#define IEEE80211_RX_F_FAIL_MIC 0x00000080 /* Failed MIC check */ +#define IEEE80211_RX_F_FAIL_MMIC 0x00000080 /* Failed Michael MIC (MMIC) check */ #define IEEE80211_RX_F_DECRYPTED 0x00000100 /* Hardware decrypted */ #define IEEE80211_RX_F_IV_STRIP 0x00000200 /* Decrypted; IV stripped */ -#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; [Micheal] MIC ([M]MIC) stripped */ +#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; Micheal MIC (MMIC) stripped */ #define IEEE80211_RX_F_SHORTGI 0x00000800 /* This is a short-GI frame */ #define IEEE80211_RX_F_CCK 0x00001000 #define IEEE80211_RX_F_OFDM 0x00002000 #define IEEE80211_RX_F_HT 0x00004000 #define IEEE80211_RX_F_VHT 0x00008000 #define IEEE80211_RX_F_PN_VALIDATED 0x00010000 /* Decrypted; PN validated */ +#define IEEE80211_RX_F_MIC_STRIP 0x00020000 /* Decrypted; MIC stripped */ /* Channel width */ #define IEEE80211_RX_FW_20MHZ 1 diff --git a/sys/net80211/ieee80211_crypto.c b/sys/net80211/ieee80211_crypto.c index e1fac3a624e8..daa2e0c1d6ec 100644 --- a/sys/net80211/ieee80211_crypto.c +++ b/sys/net80211/ieee80211_crypto.c @@ -791,9 +791,9 @@ ieee80211_crypto_demic(struct ieee80211vap *vap, struct ieee80211_key *k, * Handle demic / mic errors from hardware-decrypted offload devices. */ if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_DECRYPTED)) { - if (rxs->c_pktflags & IEEE80211_RX_F_FAIL_MIC) { + if ((rxs->c_pktflags & IEEE80211_RX_F_FAIL_MMIC) != 0) { /* - * Hardware has said MIC failed. We don't care about + * Hardware has said MMIC failed. We don't care about * whether it was stripped or not. * * Eventually - teach the demic methods in crypto @@ -804,7 +804,8 @@ ieee80211_crypto_demic(struct ieee80211vap *vap, struct ieee80211_key *k, return (0); } - if (rxs->c_pktflags & IEEE80211_RX_F_MMIC_STRIP) { + if ((rxs->c_pktflags & + (IEEE80211_RX_F_MIC_STRIP|IEEE80211_RX_F_MMIC_STRIP)) != 0) { /* * Hardware has decrypted and not indicated a * MIC failure and has stripped the MIC. diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c index 404996b1cbca..87730679c47f 100644 --- a/sys/net80211/ieee80211_crypto_ccmp.c +++ b/sys/net80211/ieee80211_crypto_ccmp.c @@ -295,11 +295,7 @@ finish: m_adj(m, ccmp.ic_header); } - /* - * XXX TODO: see if MMIC_STRIP also covers CCMP MIC trailer. - * Well no as it's a MIC not MMIC but we re-use the same flag for now. - */ - if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_MMIC_STRIP) == 0) + if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_MIC_STRIP) == 0) m_adj(m, -ccmp.ic_trailer); /* @@ -683,10 +679,9 @@ ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen } /* - * If the MIC (we use MMIC despite not being Micheal) was stripped - * by HW/driver we are done. + * If the MIC was stripped by HW/driver we are done. */ - if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_MMIC_STRIP) != 0) + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_MIC_STRIP) != 0) return (1); if (memcmp(mic, a, ccmp.ic_trailer) != 0) { diff --git a/sys/net80211/ieee80211_crypto_tkip.c b/sys/net80211/ieee80211_crypto_tkip.c index 4cfb7542f8ff..bba413f3eb28 100644 --- a/sys/net80211/ieee80211_crypto_tkip.c +++ b/sys/net80211/ieee80211_crypto_tkip.c @@ -394,7 +394,7 @@ tkip_demic(struct ieee80211_key *k, struct mbuf *m, int force) * directly notify as a michael failure to the upper * layers. */ - if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_FAIL_MIC)) { + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_FAIL_MMIC)) { struct ieee80211vap *vap = ctx->tc_vap; ieee80211_notify_michael_failure(vap, wh, k->wk_rxkeyix != IEEE80211_KEYIX_NONE ? From nobody Tue Mar 4 16: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 4Z6gPK2vD7z5qHkV; Tue, 04 Mar 2025 16:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6gPJ58w7z3H42; Tue, 04 Mar 2025 16: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=1741104004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iMmUSKyKsLy7+G5ISTYgMMShd2aXqCY86fi/oivrqdc=; b=naBXIiGNV/0ikkvlbgxML7CnvTNc8ckdYvFTi+wHkGhCxrl5acBIDrV3FVp/XiKaJBN70S 0IGoJTRL5N8nKhlPCmnor+NtVouZIJ5sgEY3YwQZwFpkDrjfdylByvWBK+tSvdN+XyyODZ R/NUwBiVmQCdjF3j1CD6y3yX4TsFj9noPYJtHM+C6LK8yg1fnnCkGvzMIuDw/qM/zlCXqR bHZZNPb8jsSIHiEdyzp8cuq7d3IOMVV7/wBPXRm0b+F7ncKanBVZ3ssdDbdE4CFEb94OoM D9LTkbg2OljZ+GqCbisabVZYA/6Z8/edZziz42X0IFmC5H4K7Q5+iUrxz9qxSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741104004; a=rsa-sha256; cv=none; b=loWIHjj1NeWFwqywxXCHvDtMQf36lUYptnWK3sSGu4Yzdt+Q1fLcoaRgICCOhdamKw4H/C GtdHBcONicmfVdB+NgTxu9lJ0abSSnSmnPsMG8X5U6OHzo1rF49aRLrYkNDaSA80piHKZT /dZp7phhRJUVemuGfqOXUqQxpPJiHz7O6Gx64AtkQyeUvd5UjQHiqv0r+QNaLo2U+TnSlf Ec6i6L6tckXJKU1EkDxr+MsZZwpzBL6iId24yopg554ugqAm19mTygH+yrku+xwVdKM/ba Lp7oKw4qMCCL4WZRXKfeaayAxUZJBX7I1VRR7NIS4MBXqCLVKBNcIZWXbJg1wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741104004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iMmUSKyKsLy7+G5ISTYgMMShd2aXqCY86fi/oivrqdc=; b=mmfODVwQaOa3F0fNruLil2JHBAuh1yzDfCkd9KAZNmylvk13/tBWER5DlLlKEuKKcrkGzv Lb8FrHk0iKDOtlF5ao4ecLnLnmhxyGEV0MXVyz4LN+J53e+j9uH+aOG4iNDJtEx/s7rApd QydeOFoEyp3anv5KCf7DL4wJTTXQ82YgR9U++MQMxkZdERlMehdt9G7fC7dZdRJlTNfIOn fG9gUroG1h+/FVHepTTLfUcf8gHLUI+dMcxyJ2kcbos5mFE6QbuR41GSP5RjKh1QAYO7IC tOutq/puQgBt9EEE6a8nOFWt0jRwMlPZRDLes0QeoI8cKYnHYiex0SNV5JXK8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6gPJ4mQLz8tQ; Tue, 04 Mar 2025 16: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 524G04lh073575; Tue, 4 Mar 2025 16: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 524G04dc073569; Tue, 4 Mar 2025 16:00:04 GMT (envelope-from git) Date: Tue, 4 Mar 2025 16:00:04 GMT Message-Id: <202503041600.524G04dc073569@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: 80b64ef0a10b - main - pf: don't assert on address family in pf_addrcpy() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 80b64ef0a10b87ff2f79d1a6e18ecdf3e3bee1b1 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=80b64ef0a10b87ff2f79d1a6e18ecdf3e3bee1b1 commit 80b64ef0a10b87ff2f79d1a6e18ecdf3e3bee1b1 Author: Kristof Provost AuthorDate: 2025-03-04 11:56:08 +0000 Commit: Kristof Provost CommitDate: 2025-03-04 15:59:49 +0000 pf: don't assert on address family in pf_addrcpy() This gets called (through PF_ACPY()) on user supplied input, so we can't assume that the address family must be AF_INET or AF_INET6. Reported-by: syzbot+14dec0c55b8f512e271c@syzkaller.appspotmail.com Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ad6be0c67c2a..349b10c346a7 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -811,8 +811,6 @@ pf_addrcpy(struct pf_addr *dst, const struct pf_addr *src, sa_family_t af) case AF_INET6: memcpy(&dst->v6, &src->v6, sizeof(dst->v6)); break; - default: - unhandled_af(af); } } #endif /* INET6 */ From nobody Tue Mar 4 16:23: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 4Z6gwl4D6fz5qKPR; Tue, 04 Mar 2025 16:23:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6gwl3Z0Lz3S6Q; Tue, 04 Mar 2025 16:23:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741105431; 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=91otFGb4OcAEX1OgzppYTkOQKphw9FXfBRzl/Y5UeGI=; b=S5v/w/PZXAUmWDR7QObjzoG9XkkZiSWgoFM0zKq+GBDKZwIERacreMYr3bVE9Q61eBiNHV RpAvuimzHQ1e6mJUlgqyyVAVeI6lvfWFTU7uK00uFK+kRC9CbMYkDQp7nZXlCG6WdUNXbZ lrLZw4q/S04HRrpYa+VsfvS5PavU2U2GjE/DESSdC1JsjUMKXwiyFIlv8I2EZaeFccPQzS 9a9UoIFdMLaNDP5lABpgzdhzgKqga9jbqtj3CMjtWPsNKnhyh42z/CMZnP2VS/pmUXAhtL zZ+GP7oxcMI2O4R4rt/dnahkVlpHCps9nrKNhuCxspMeXXQ/f1kTPTEfqYvycA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741105431; a=rsa-sha256; cv=none; b=qaL3JaSoUVAeLVx7Dn6x0ARN5TYa6hm87p/JnN8ba59nxGAWFQncZZ9MJF16Nh8QgF/ukQ Q3IWxP3JX4Z06BraJ95XgkoPvR99excRC+ec9NJxIL014s0css2w5c1szDYTTqLjbUqPPD RJJnOeRCZO6SqEfhsmDPwzNkIinUcfCg1BZKps/3p7NQvfJ6f3phW1+fka5kyofbEzTkEu dyi211UyE6Q/kzc8XN1s1k/U1K1LD0nKDR6/fHJUe8tkVOuT6afZlhe1CDUIkuqlAQUl85 ZvlNdeao8WHXYx7pA7xqteza9C201g2ZFq7ivjGN2WRFMzJVhAd8g/TQZMsPKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741105431; 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=91otFGb4OcAEX1OgzppYTkOQKphw9FXfBRzl/Y5UeGI=; b=sicdSCAijyc4BCoAR0FxhK+kvmjdYY5j/mk7mkp1MReRYe5PpmvEsKI54f4bX+BZYRLTKE cKy9xR1OOmXDUoHuTiq8loGGm4lSs5HPsSOMPuQ4UM4+r0o7Qsdg5vghrkfR7IBMQMj5kh np+yMFMlryXjmcCcIA/jIhMWL4YMX/PUKclCvPCvDYY7ihLCkUbd/ersNCSnFb19hrfDts Lzr22YRUeXCJymTs2O/Hg2LJGQw1GaiwsYgohMh8MzInGw8JKuf3vTNZ/N9wsYcmV3Vp7Y vj1/0LN/ZNLul60VsJLoeUBrKZwjpZUW02XJPsNTM/nM9IHeFMkT5QLRnWA/AA== Received: from [IPV6:2601:5c0:4200:b830:540:c3c7:ff75:4b22] (unknown [IPv6:2601:5c0:4200:b830:540:c3c7:ff75:4b22]) (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 4Z6gwl0G89z19nh; Tue, 04 Mar 2025 16:23:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Tue, 4 Mar 2025 11:23:50 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency Content-Language: en-US To: "Bjoern A. Zeeb" , "Herbert J. Skuhra" Cc: Alexander Ziaee , Adrian Chadd , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202502272222.51RMM0fg033513@gitrepo.freebsd.org> <87bjugsx7t.wl-herbert@gojira.at> <95401978-p196-n4n8-4458-98qs07n2162n@SerrOFQ.bet> From: John Baldwin In-Reply-To: <95401978-p196-n4n8-4458-98qs07n2162n@SerrOFQ.bet> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/4/25 09:25, Bjoern A. Zeeb wrote: > On Tue, 4 Mar 2025, Herbert J. Skuhra wrote: > >> On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: >>> >>> The branch main has been updated by ziaee: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=4262dbc57982383eb61a8b7806de6dd4b7802da8 >>> >>> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 >>> Author: Alexander Ziaee >>> AuthorDate: 2025-02-19 15:54:27 +0000 >>> Commit: Alexander Ziaee >>> CommitDate: 2025-02-27 22:20:22 +0000 >>> >>> wifi manuals: Mlink + document description consistency >>> >>> Interfaces all have an mlink to if_$foo. Add these for the missing ones >>> and remove an incorrect one from rtwn_pci. Wireless network drivers are >>> all accessible via `apropos -s4 "wireless network driver", except two >>> which are "wireless network device". I actually prefer the latter, but >>> make them all consistent upon the more common parlance. Tag SPDX on one >>> of the files I touched, while here. >>> >>> MFC after: 3 days >>> Reviewed by: bz, carlavilla, mhorne >>> Approved by: carlavilla, mhorne (mentors) >>> Differential Revision: https://reviews.freebsd.org/D49063 >>> --- >>> share/man/man4/Makefile | 4 +++- >>> share/man/man4/uath.4 | 4 +++- >>> share/man/man4/upgt.4 | 2 +- >>> 3 files changed, 7 insertions(+), 3 deletions(-) >>> >>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile >>> index 13afc9b8d399..8e0af19eec3d 100644 >>> --- a/share/man/man4/Makefile >>> +++ b/share/man/man4/Makefile >>> @@ -764,7 +764,9 @@ MLINKS+=ptnet.4 if_ptnet.4 >>> MLINKS+=ral.4 if_ral.4 >>> MLINKS+=re.4 if_re.4 >>> MLINKS+=rl.4 if_rl.4 >>> -MLINKS+=rtwn_pci.4 if_rtwn_pci.4 >>> +MLINKS+=rtw88.4 if_rtw89.4 >>> +MLINKS+=rtw89.4 if_rtw89.4 >>> +MLINKS+=rtwn.4 if_rtwn.4 >> ^^^^^^^^^ >> $ grep if_rtwn.4 ObsoleteFiles.inc >> OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz > > In fact that is probably correct but things are confusing. > > The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those > should have the man page and links (so contrary to what was done). > rtwn.ko is just the common code if I am not mistaken (Adrian should know > better). > > But everyone is just referring to the driver as rtwn and I fear if there > is no man page to be found as man rtwn / man if_rtwn people will be > confused. > > I wanted to do the same with rtw88 but was told to keep it all together > as one so rtwn is an excemption. > > That all said, yes, it needs a further cleanup. The manpages should just be rtwn/if_rtwn. The bus attachment doesn't matter. We don't have separate manpages when a storage adapter has been supported on both PCI and ISA in the past, you just had the ahc(4) driver (for example). USB vs PCI is the same. It should just be a single manpage for the driver regardless of the attachment. If the driver has separate modules that can be documented in the one manpage, but the list of supported chipsets, etc. is presumably shared hence the shared driver name and common code. In particular, the thing a user sees in dmesg is 'rtwn0', not 'rtwn_pci0' so the manpage needs to be tied to what a user sees as a device name in dmesg. -- John Baldwin From nobody Tue Mar 4 16:55: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 4Z6hcy0hQkz5qMPZ; Tue, 04 Mar 2025 16:55:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6hcy081xz3fd6; Tue, 04 Mar 2025 16:55:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741107314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=joVJDB8M7OUwiQPzFn/WhOUvOLUkxRemNpjK51AAb/k=; b=eYeUZvUGzhWuI3Tn7431gtImabGOaa03tLiJwX6WLzEwkiVLeMnrrcfbg7MQ+im1byM6db KBUVOVRXSn5TRc3uuy2N8c2zLg+AlOmicsPOgiRVL8WxRJQqd+zZynBNyFCSP6pA+U8Lfd gisVoiRlc+FHhK9327GOoMsWtFMsh4me2heg9o/i3hDJTo4+amXVz6OSX/RlxECaopA5vI 1R5bm24YlzYGuyYgVAOK/cCCfv/Cq1U4wb4f/CYbAfuF/VBZSo/joUQWyfaO+9oJVmo9s3 QaeH1bHokeJ7eMqxOYLmhVLtzK/YlGjSshvDeQTmePw+7IZ5BgD7jjA5AWUJrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741107314; a=rsa-sha256; cv=none; b=Y9vsN4g36KUo9dUGSKkI+NCwriI4ptRzv75HyBwziWRZHnhnyJE9+BpsWgroIehhe7nNAW 9OUefPwzub61QBDM9a1v6vSzTAKTOd4/u6cEhF+cqvKG9KlDCwv5rSVE9Qbksmjt1HLZeR vOk8xeAThk60IRAJIdOW6x4VF9qGD2VEwdtzWX66IZoCpTs8YGOFbAayeEPeUAEByKYDiM gDMYAwgB4/EDrz2/jcFlsvhKoZeIsH2dE+Y/HGpbYP0qNwk0pcufNO2KMxnQ/D/4DbpfKq d2JPRrpN8W/BxO4wZDiiy3LVZo7XXF3Mi/BjuecWOe4LgqgDuZ5IR3U63SSOTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741107314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=joVJDB8M7OUwiQPzFn/WhOUvOLUkxRemNpjK51AAb/k=; b=xAlUuuo0oY9/JKGEw6cpuhnNr8rzOBN7llahWax/OkMc04PnH0XDDYj3PYJZOmThVe1X5P u5NbSTGaspGeqiYzzh3N5KesoQhrGweoXVn6KXvCjSzJ/A+T6KRQWfUBhsRe+VKhVDc5u8 jHBtVfeCeC0MP92i/rG7FX6cuvbVSpSXsQzorgXDQo0FnReo1K2YS+aT15R0M6WDFAUZkq BHMFq220ZsjPKKOBWGK5TVAdjMIxVIC9tgS0BiTQKaOyuAXUG2KgVk/uRnBybMrlLXIav6 XoczbY1BPgZoXwewW91BC5axymkTEb18bV99fXSuHTbrH1ky/96Unfhxt6pONQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6hcx6rjfzBBs; Tue, 04 Mar 2025 16:55: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 524GtDq5081169; Tue, 4 Mar 2025 16:55:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524GtDBw081164; Tue, 4 Mar 2025 16:55:13 GMT (envelope-from git) Date: Tue, 4 Mar 2025 16:55:13 GMT Message-Id: <202503041655.524GtDBw081164@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: 70703aa922b4 - main - netinet: allow per protocol random IP id control, single out IPSEC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 70703aa922b41faedfd72211633884bb580ceeac Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=70703aa922b41faedfd72211633884bb580ceeac commit 70703aa922b41faedfd72211633884bb580ceeac Author: acazuc AuthorDate: 2025-03-03 13:21:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-04 16:45:32 +0000 netinet: allow per protocol random IP id control, single out IPSEC A globally enabled random IP id generation maybe useful in most IP contexts, but it may be unnecessary in the case of IPsec encapsulated packets because IPsec can be configured to use anti-replay windows. This commit adds a new net.inet.ipsec.random_id sysctl to control whether or not IPsec packets should use random IP id generation. Rest of the protocols/modules are still controlled by the global net.inet.ip.random_id, but can be easily augmented with a knob. Reviewed by: glebius Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D49164 --- share/man/man4/ipsec.4 | 6 +++++- sys/netinet/ip_carp.c | 4 ++-- sys/netinet/ip_gre.c | 2 +- sys/netinet/ip_id.c | 22 +++++++++++----------- sys/netinet/ip_mroute.c | 2 +- sys/netinet/ip_output.c | 2 +- sys/netinet/ip_var.h | 4 +++- sys/netinet/raw_ip.c | 2 +- sys/netinet/sctp_output.c | 4 ++-- sys/netipsec/ipsec.c | 4 ++++ sys/netipsec/ipsec.h | 3 +++ sys/netipsec/ipsec_output.c | 2 +- sys/netpfil/ipfilter/netinet/fil.c | 2 +- sys/netpfil/ipfilter/netinet/ip_nat.c | 4 ++-- sys/netpfil/ipfw/nat64/nat64_translate.c | 4 ++-- sys/netpfil/pf/if_pfsync.c | 2 +- sys/netpfil/pf/pf.c | 4 ++-- sys/netpfil/pf/pf_norm.c | 2 +- 18 files changed, 44 insertions(+), 31 deletions(-) diff --git a/share/man/man4/ipsec.4 b/share/man/man4/ipsec.4 index 96a10dfb7700..9fd6207c2f14 100644 --- a/share/man/man4/ipsec.4 +++ b/share/man/man4/ipsec.4 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 6, 2017 +.Dd March 4, 2025 .Dt IPSEC 4 .Os .Sh NAME @@ -239,6 +239,7 @@ for tweaking the kernel's IPsec behavior: .It "net.inet.ipsec.debug integer yes" .It "net.inet.ipsec.natt_cksum_policy integer yes" .It "net.inet.ipsec.check_policy_history integer yes" +.It "net.inet.ipsec.random_id integer yes" .It "net.inet6.ipsec6.ecn integer yes" .It "net.inet6.ipsec6.debug integer yes" .El @@ -298,6 +299,9 @@ have been decrypted and authenticated. If this variable is set to a non-zero value, each packet handled by IPsec is checked against the history of IPsec security associations. The IPsec security protocol, mode, and SA addresses must match. +.It Li ipsec.random_id +Enables randomization of encapsulated IPv4 packets ID. +By default, ID randomization is not enabled. .El .Pp Variables under the diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 6fde7bd70c6b..c01d1bdd8cff 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1256,7 +1256,7 @@ carp_send_ad_locked(struct carp_softc *sc) ip->ip_ttl = CARP_DFLTTL; ip->ip_p = IPPROTO_CARP; ip->ip_sum = 0; - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); ifa = carp_best_ifa(AF_INET, sc->sc_carpdev); if (ifa != NULL) { @@ -1395,7 +1395,7 @@ vrrp_send_ad_locked(struct carp_softc *sc) ip->ip_ttl = CARP_DFLTTL; ip->ip_p = IPPROTO_CARP; ip->ip_sum = 0; - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); ifa = carp_best_ifa(AF_INET, sc->sc_carpdev); if (ifa != NULL) { diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index c9356edb0608..01a6ef4cd670 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -534,7 +534,7 @@ in_gre_output(struct mbuf *m, int af, int hlen) #ifdef INET6 case AF_INET6: gi->gi_ip.ip_tos = 0; /* XXX */ - ip_fillid(&gi->gi_ip); + ip_fillid(&gi->gi_ip, V_ip_random_id); break; #endif } diff --git a/sys/netinet/ip_id.c b/sys/netinet/ip_id.c index 12dd6c8bf972..738b7eceb448 100644 --- a/sys/netinet/ip_id.c +++ b/sys/netinet/ip_id.c @@ -97,9 +97,9 @@ * user wants to, we can turn on random ID generation. */ VNET_DEFINE_STATIC(int, ip_rfc6864) = 1; -VNET_DEFINE_STATIC(int, ip_do_randomid) = 0; #define V_ip_rfc6864 VNET(ip_rfc6864) -#define V_ip_do_randomid VNET(ip_do_randomid) + +VNET_DEFINE(int, ip_random_id) = 0; /* * Random ID state engine. @@ -126,7 +126,7 @@ VNET_DEFINE_STATIC(struct mtx, ip_id_mtx); VNET_DEFINE_STATIC(counter_u64_t, ip_id); #define V_ip_id VNET(ip_id) -static int sysctl_ip_randomid(SYSCTL_HANDLER_ARGS); +static int sysctl_ip_random_id(SYSCTL_HANDLER_ARGS); static int sysctl_ip_id_change(SYSCTL_HANDLER_ARGS); static void ip_initid(int); static uint16_t ip_randomid(void); @@ -136,7 +136,7 @@ static void ipid_sysuninit(void); SYSCTL_DECL(_net_inet_ip); SYSCTL_PROC(_net_inet_ip, OID_AUTO, random_id, CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_RW | CTLFLAG_MPSAFE, - &VNET_NAME(ip_do_randomid), 0, sysctl_ip_randomid, "IU", + &VNET_NAME(ip_random_id), 0, sysctl_ip_random_id, "IU", "Assign random ip_id values"); SYSCTL_INT(_net_inet_ip, OID_AUTO, rfc6864, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip_rfc6864), 0, @@ -151,22 +151,22 @@ SYSCTL_INT(_net_inet_ip, OID_AUTO, random_id_total, CTLFLAG_RD | CTLFLAG_VNET, &VNET_NAME(random_id_total), 0, "Count of IP IDs created"); static int -sysctl_ip_randomid(SYSCTL_HANDLER_ARGS) +sysctl_ip_random_id(SYSCTL_HANDLER_ARGS) { int error, new; - new = V_ip_do_randomid; + new = V_ip_random_id; error = sysctl_handle_int(oidp, &new, 0, req); if (error || req->newptr == NULL) return (error); if (new != 0 && new != 1) return (EINVAL); - if (new == V_ip_do_randomid) + if (new == V_ip_random_id) return (0); - if (new == 1 && V_ip_do_randomid == 0) + if (new == 1 && V_ip_random_id == 0) ip_initid(8192); /* We don't free memory when turning random ID off, due to race. */ - V_ip_do_randomid = new; + V_ip_random_id = new; return (0); } @@ -238,7 +238,7 @@ ip_randomid(void) } void -ip_fillid(struct ip *ip) +ip_fillid(struct ip *ip, bool do_randomid) { /* @@ -249,7 +249,7 @@ ip_fillid(struct ip *ip) */ if (V_ip_rfc6864 && (ip->ip_off & htons(IP_DF)) == htons(IP_DF)) ip->ip_id = 0; - else if (V_ip_do_randomid) + else if (do_randomid) ip->ip_id = ip_randomid(); else { counter_u64_add(V_ip_id, 1); diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index e224d2e6daf5..d30bd42ec578 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2466,7 +2466,7 @@ pim_register_send_rp(struct ip *ip, struct vif *vifp, struct mbuf *mb_copy, ip_outer->ip_tos = ip->ip_tos; if (ip->ip_off & htons(IP_DF)) ip_outer->ip_off |= htons(IP_DF); - ip_fillid(ip_outer); + ip_fillid(ip_outer, V_ip_random_id); pimhdr = (struct pim_encap_pimhdr *)((caddr_t)ip_outer + sizeof(pim_encap_iphdr)); *pimhdr = pim_encap_pimhdr; diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 35aaf85d6a4e..9d72300e8b68 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -368,7 +368,7 @@ ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags, if ((flags & (IP_FORWARDING|IP_RAWOUTPUT)) == 0) { ip->ip_v = IPVERSION; ip->ip_hl = hlen >> 2; - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); } else { /* Header already set, fetch hlen from there */ hlen = ip->ip_hl << 2; diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h index 0f2ed8c43e64..18ca5861a40e 100644 --- a/sys/netinet/ip_var.h +++ b/sys/netinet/ip_var.h @@ -204,6 +204,7 @@ extern int (*legal_vif_num)(int); extern u_long (*ip_mcast_src)(int); VNET_DECLARE(int, rsvp_on); VNET_DECLARE(int, drop_redirect); +VNET_DECLARE(int, ip_random_id); #define V_ip_id VNET(ip_id) #define V_ip_defttl VNET(ip_defttl) @@ -216,6 +217,7 @@ VNET_DECLARE(int, drop_redirect); #define V_ip_mrouter VNET(ip_mrouter) #define V_rsvp_on VNET(rsvp_on) #define V_drop_redirect VNET(drop_redirect) +#define V_ip_random_id VNET(ip_random_id) void inp_freemoptions(struct ip_moptions *); int inp_getmoptions(struct inpcb *, struct sockopt *); @@ -235,7 +237,7 @@ struct mbuf * ip_reass(struct mbuf *); void ip_savecontrol(struct inpcb *, struct mbuf **, struct ip *, struct mbuf *); -void ip_fillid(struct ip *); +void ip_fillid(struct ip *, bool); int rip_ctloutput(struct socket *, struct sockopt *); int ipip_input(struct mbuf **, int *, int); int rsvp_input(struct mbuf **, int *, int); diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 0d677d954f11..7b6104da5402 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -601,7 +601,7 @@ rip_send(struct socket *so, int pruflags, struct mbuf *m, struct sockaddr *nam, * but we got this limitation from the beginning of history. */ if (ip->ip_id == 0) - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); /* * XXX prevent ip_output from overwriting header fields. diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 02ad901259f4..e4bdb4291972 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -4071,7 +4071,7 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, ip->ip_off = htons(0); } /* FreeBSD has a function for ip_id's */ - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); ip->ip_ttl = inp->ip_inp.inp.inp_ip_ttl; ip->ip_len = htons(packet_length); @@ -11197,7 +11197,7 @@ sctp_send_resp_msg(struct sockaddr *src, struct sockaddr *dst, ip->ip_hl = (sizeof(struct ip) >> 2); ip->ip_tos = 0; ip->ip_off = htons(IP_DF); - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); ip->ip_ttl = MODULE_GLOBAL(ip_defttl); if (port) { ip->ip_p = IPPROTO_UDP; diff --git a/sys/netipsec/ipsec.c b/sys/netipsec/ipsec.c index 8d604a24eeea..6bacc68b7441 100644 --- a/sys/netipsec/ipsec.c +++ b/sys/netipsec/ipsec.c @@ -119,6 +119,7 @@ VNET_DEFINE(int, ip4_ah_trans_deflev) = IPSEC_LEVEL_USE; VNET_DEFINE(int, ip4_ah_net_deflev) = IPSEC_LEVEL_USE; /* ECN ignore(-1)/forbidden(0)/allowed(1) */ VNET_DEFINE(int, ip4_ipsec_ecn) = 0; +VNET_DEFINE(int, ip4_ipsec_random_id) = 0; VNET_DEFINE_STATIC(int, ip4_filtertunnel) = 0; #define V_ip4_filtertunnel VNET(ip4_filtertunnel) @@ -201,6 +202,9 @@ SYSCTL_INT(_net_inet_ipsec, IPSECCTL_MIN_PMTU, min_pmtu, SYSCTL_INT(_net_inet_ipsec, IPSECCTL_ECN, ecn, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip4_ipsec_ecn), 0, "Explicit Congestion Notification handling."); +SYSCTL_INT(_net_inet_ipsec, IPSECCTL_RANDOM_ID, random_id, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip4_ipsec_random_id), 0, + "Assign random ip_id values."); SYSCTL_INT(_net_inet_ipsec, OID_AUTO, crypto_support, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(crypto_support), 0, "Crypto driver selection."); diff --git a/sys/netipsec/ipsec.h b/sys/netipsec/ipsec.h index f8c5b10e7bd6..3acb6a4044f1 100644 --- a/sys/netipsec/ipsec.h +++ b/sys/netipsec/ipsec.h @@ -260,6 +260,7 @@ struct ipsecstat { #define IPSECCTL_DEBUG 12 #define IPSECCTL_ESP_RANDPAD 13 #define IPSECCTL_MIN_PMTU 14 +#define IPSECCTL_RANDOM_ID 15 #ifdef _KERNEL #include @@ -293,6 +294,7 @@ VNET_DECLARE(int, ip4_ah_net_deflev); VNET_DECLARE(int, ip4_ipsec_dfbit); VNET_DECLARE(int, ip4_ipsec_min_pmtu); VNET_DECLARE(int, ip4_ipsec_ecn); +VNET_DECLARE(int, ip4_ipsec_random_id); VNET_DECLARE(int, crypto_support); VNET_DECLARE(int, async_crypto); VNET_DECLARE(int, natt_cksum_policy); @@ -310,6 +312,7 @@ VNET_DECLARE(int, natt_cksum_policy); #define V_ip4_ipsec_dfbit VNET(ip4_ipsec_dfbit) #define V_ip4_ipsec_min_pmtu VNET(ip4_ipsec_min_pmtu) #define V_ip4_ipsec_ecn VNET(ip4_ipsec_ecn) +#define V_ip4_ipsec_random_id VNET(ip4_ipsec_random_id) #define V_crypto_support VNET(crypto_support) #define V_async_crypto VNET(async_crypto) #define V_natt_cksum_policy VNET(natt_cksum_policy) diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c index 8d8a304e7af4..b394ff81d9c6 100644 --- a/sys/netipsec/ipsec_output.c +++ b/sys/netipsec/ipsec_output.c @@ -1200,7 +1200,7 @@ ipsec_encap(struct mbuf **mp, struct secasindex *saidx) ip->ip_src = saidx->src.sin.sin_addr; ip->ip_dst = saidx->dst.sin.sin_addr; ip_ecn_ingress(V_ip4_ipsec_ecn, &ip->ip_tos, &itos); - ip_fillid(ip); + ip_fillid(ip, V_ip4_ipsec_random_id); break; #endif /* INET */ #ifdef INET6 diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c index c1b49196b712..2a75190a3ec7 100644 --- a/sys/netpfil/ipfilter/netinet/fil.c +++ b/sys/netpfil/ipfilter/netinet/fil.c @@ -5952,7 +5952,7 @@ ipf_updateipid(fr_info_t *fin) id = (u_short)sum; ip->ip_id = htons(id); } else { - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); id = ntohs(ip->ip_id); if ((fin->fin_flx & FI_FRAG) != 0) (void) ipf_frag_ipidnew(fin, (u_32_t)id); diff --git a/sys/netpfil/ipfilter/netinet/ip_nat.c b/sys/netpfil/ipfilter/netinet/ip_nat.c index b8a0e7d2075b..a13c6129a287 100644 --- a/sys/netpfil/ipfilter/netinet/ip_nat.c +++ b/sys/netpfil/ipfilter/netinet/ip_nat.c @@ -5117,7 +5117,7 @@ ipf_nat_out(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags) } ip = MTOD(m, ip_t *); - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); s2 = ntohs(ip->ip_id); s1 = ip->ip_len; @@ -5560,7 +5560,7 @@ ipf_nat_in(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags) } ip = MTOD(m, ip_t *); - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); sum1 = ntohs(ip->ip_len); ip->ip_len = ntohs(ip->ip_len); ip->ip_len += fin->fin_plen; diff --git a/sys/netpfil/ipfw/nat64/nat64_translate.c b/sys/netpfil/ipfw/nat64/nat64_translate.c index 2924a9b2d19a..393780c969fe 100644 --- a/sys/netpfil/ipfw/nat64/nat64_translate.c +++ b/sys/netpfil/ipfw/nat64/nat64_translate.c @@ -520,7 +520,7 @@ nat64_init_ip4hdr(const struct ip6_hdr *ip6, const struct ip6_frag *frag, ip->ip_ttl -= IPV6_HLIMDEC; ip->ip_sum = 0; ip->ip_p = (proto == IPPROTO_ICMPV6) ? IPPROTO_ICMP: proto; - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); if (frag != NULL) { ip->ip_off = htons(ntohs(frag->ip6f_offlg) >> 3); if (frag->ip6f_offlg & IP6F_MORE_FRAG) @@ -845,7 +845,7 @@ nat64_icmp_reflect(struct mbuf *m, uint8_t type, oip->ip_len = htons(n->m_pkthdr.len); oip->ip_ttl = V_ip_defttl; oip->ip_p = IPPROTO_ICMP; - ip_fillid(oip); + ip_fillid(oip, V_ip_random_id); oip->ip_off = htons(IP_DF); oip->ip_src = ip->ip_dst; oip->ip_dst = ip->ip_src; diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 98a2367b79b0..b2aaf3add25c 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -1900,7 +1900,7 @@ pfsync_sendout(int schedswi, int c) len -= sizeof(union inet_template) - sizeof(struct ip); ip->ip_len = htons(len); - ip_fillid(ip); + ip_fillid(ip, V_ip_random_id); break; } #endif diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 349b10c346a7..e0b664772544 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3527,7 +3527,7 @@ pf_translate_af(struct pf_pdesc *pd) ip4->ip_hl = hlen >> 2; ip4->ip_tos = pd->tos; ip4->ip_len = htons(hlen + (pd->tot_len - pd->off)); - ip_fillid(ip4); + ip_fillid(ip4, V_ip_random_id); ip4->ip_ttl = pd->ttl; ip4->ip_p = pd->proto; ip4->ip_src = pd->nsaddr.v4; @@ -3630,7 +3630,7 @@ pf_change_icmp_af(struct mbuf *m, int off, struct pf_pdesc *pd, ip4->ip_v = IPVERSION; ip4->ip_hl = sizeof(*ip4) >> 2; ip4->ip_len = htons(sizeof(*ip4) + pd2->tot_len - olen); - ip_fillid(ip4); + ip_fillid(ip4, V_ip_random_id); ip4->ip_off = htons(IP_DF); ip4->ip_ttl = pd2->ttl; if (pd2->proto == IPPROTO_ICMPV6) diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 98539be8c6ce..fd72fec62a3b 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -2254,7 +2254,7 @@ pf_scrub(struct pf_pdesc *pd) pd->act.flags & PFSTATE_RANDOMID && !(h->ip_off & ~htons(IP_DF))) { uint16_t ip_id = h->ip_id; - ip_fillid(h); + ip_fillid(h, V_ip_random_id); h->ip_sum = pf_cksum_fixup(h->ip_sum, ip_id, h->ip_id, 0); } #endif From nobody Tue Mar 4 17:07: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 4Z6hvT03THz5qNXF for ; Tue, 04 Mar 2025 17:07:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (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 4Z6hvQ4JJ8z3kkb for ; Tue, 04 Mar 2025 17:07:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-2fea795bafeso9260226a91.1 for ; Tue, 04 Mar 2025 09:07:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1741108063; x=1741712863; 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=wuMJyCuuAm7PLMzJGqvNmSWAwanhtj73QNSH38kTItA=; b=E58JTO+G9HT+TJG7Ezwj4OTmDp67rVTgM7l/D5mXFR9Zn3+WBexk8Bd+N5jajZ9tms fwXmp/bRgAh3VftOH+nYbXmOe2L8FqxHi3je17gMhBkFcSIyFeXJ3HBFbzJLBSNTv7VB ACgMaqpFQThj7JUf3hUx+lc6Ni7iBCtIKGveL9Ni03vsDLj3Yf6YRlza/YKhbOzDFsyg 8uA5S3zKAkc/DGwyZqhgxxw3TNdoLn3yeqbLXzQN9l4+6zDU2z6/cAz28tBx3WYJYovJ gApb6obBfhOa3UeheZieU0PHybeq5+s3n4+nefCIdFY97YGRcT+5BCQp/YWERS9ybQqx 9fQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741108063; x=1741712863; 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=wuMJyCuuAm7PLMzJGqvNmSWAwanhtj73QNSH38kTItA=; b=r3EEBap3lpIF3rIcVMBKgDzCdux/wv4CCLY8+Z9etG1yKgo7mjhfT27lwofJQUQhFu 1pUleP69UmyTVoTVRDwLpnFinhYvQa+ibjARyfkilll/duMCyoiwPMcAq5M3KH3cdb+z nozZYYsb0ZqTdjx3PPCwnLfE020CSV5jP/Pj1NMoAPbiclVACexZri4IiJYfJDtiobs0 QZ92ZXERXj4KL10Bc4nERULvXJuskHSGWXmUq4StMtY8NuHb/U/QQpYEjLp3jbDpkj6a hwJl9jcQ4bjNyKWMLHFVE6hF4alA1CbDoPX2E3r4K5BaYqEFVVrVf1E1Zj7EOs0t9S5A IP+Q== X-Forwarded-Encrypted: i=1; AJvYcCXIhTztdydRhKZmz6CvAiKKH8hpMCWTye6LffhYFoj94LnTnfSxb4m3vfXl6R9dEujsBB0z4u4ipbK0qDaxlxZTIBZBOw==@freebsd.org X-Gm-Message-State: AOJu0YxPDz1Zs+2LbrMhB6nAzfDmAXewQCXLwFCisQlOQyfsDnd2/jgD o3GvW2bPG9PngGhA+H3sRpL+wzWKDdAIRFyjF3DiPgKjbv6Kt1OhUwf/HmdNkJrl/gK6TDf8DYh 26fg6XE9aEKJanVaKstO1X2UrxAvfqmtR5CnFow== X-Gm-Gg: ASbGncvBxQlcJGtttJFaioGWBmR1lV0FLdM34tIP5fZzQDYmNmE9l3IVDHjPiNxdb/R lSWEoTJVdEA+3+PDPt7NKWwC8+SD2xFIM0nhsnku2xdN5CUJ5hhiCKa/fxvB58KDQho2Oh1zXZh 6LmOeFaL9/KdXCzUav16f8UYVq X-Google-Smtp-Source: AGHT+IFIExQwPpf8Tlj8YMYc5RUeCRkNoHs9kSpEPHZ+ezB8rXHpccVqhyrxwFnZwGUCFV0jGgNp8lwFf8+OiI8lIiU= X-Received: by 2002:a17:90b:2e44:b0:2ee:8cbb:de28 with SMTP id 98e67ed59e1d1-2ff33b9da35mr7155559a91.8.1741108062967; Tue, 04 Mar 2025 09:07:42 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202502272222.51RMM0fg033513@gitrepo.freebsd.org> <87bjugsx7t.wl-herbert@gojira.at> <95401978-p196-n4n8-4458-98qs07n2162n@SerrOFQ.bet> In-Reply-To: From: Warner Losh Date: Tue, 4 Mar 2025 09:07:32 -0800 X-Gm-Features: AQ5f1Jp8wL43PosVCrEhCC83USLxLGtHU82ORCuS_bnpOoEq6Yzzyt0fInwmHzs Message-ID: Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency To: John Baldwin Cc: "Bjoern A. Zeeb" , "Herbert J. Skuhra" , Alexander Ziaee , Adrian Chadd , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000009bf715062f874f5e" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Z6hvQ4JJ8z3kkb X-Spamd-Bar: ---- --0000000000009bf715062f874f5e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 4, 2025 at 8:23=E2=80=AFAM John Baldwin wrote= : > On 3/4/25 09:25, Bjoern A. Zeeb wrote: > > On Tue, 4 Mar 2025, Herbert J. Skuhra wrote: > > > >> On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: > >>> > >>> The branch main has been updated by ziaee: > >>> > >>> URL: > https://cgit.FreeBSD.org/src/commit/?id=3D4262dbc57982383eb61a8b7806de6dd= 4b7802da8 > >>> > >>> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 > >>> Author: Alexander Ziaee > >>> AuthorDate: 2025-02-19 15:54:27 +0000 > >>> Commit: Alexander Ziaee > >>> CommitDate: 2025-02-27 22:20:22 +0000 > >>> > >>> wifi manuals: Mlink + document description consistency > >>> > >>> Interfaces all have an mlink to if_$foo. Add these for the > missing ones > >>> and remove an incorrect one from rtwn_pci. Wireless network > drivers are > >>> all accessible via `apropos -s4 "wireless network driver", excep= t > two > >>> which are "wireless network device". I actually prefer the > latter, but > >>> make them all consistent upon the more common parlance. Tag SPDX > on one > >>> of the files I touched, while here. > >>> > >>> MFC after: 3 days > >>> Reviewed by: bz, carlavilla, mhorne > >>> Approved by: carlavilla, mhorne (mentors) > >>> Differential Revision: https://reviews.freebsd.org/D49063 > >>> --- > >>> share/man/man4/Makefile | 4 +++- > >>> share/man/man4/uath.4 | 4 +++- > >>> share/man/man4/upgt.4 | 2 +- > >>> 3 files changed, 7 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile > >>> index 13afc9b8d399..8e0af19eec3d 100644 > >>> --- a/share/man/man4/Makefile > >>> +++ b/share/man/man4/Makefile > >>> @@ -764,7 +764,9 @@ MLINKS+=3Dptnet.4 if_ptnet.4 > >>> MLINKS+=3Dral.4 if_ral.4 > >>> MLINKS+=3Dre.4 if_re.4 > >>> MLINKS+=3Drl.4 if_rl.4 > >>> -MLINKS+=3Drtwn_pci.4 if_rtwn_pci.4 > >>> +MLINKS+=3Drtw88.4 if_rtw89.4 > >>> +MLINKS+=3Drtw89.4 if_rtw89.4 > >>> +MLINKS+=3Drtwn.4 if_rtwn.4 > >> ^^^^^^^^^ > >> $ grep if_rtwn.4 ObsoleteFiles.inc > >> OLD_FILES+=3Dusr/share/man/man4/if_rtwn.4.gz > > > > In fact that is probably correct but things are confusing. > > > > The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those > > should have the man page and links (so contrary to what was done). > > rtwn.ko is just the common code if I am not mistaken (Adrian should kno= w > > better). > > > > But everyone is just referring to the driver as rtwn and I fear if ther= e > > is no man page to be found as man rtwn / man if_rtwn people will be > > confused. > > > > I wanted to do the same with rtw88 but was told to keep it all together > > as one so rtwn is an excemption. > > > > That all said, yes, it needs a further cleanup. > > The manpages should just be rtwn/if_rtwn. The bus attachment doesn't > matter. > We don't have separate manpages when a storage adapter has been supported > on both PCI and ISA in the past, you just had the ahc(4) driver (for > example). > USB vs PCI is the same. It should just be a single manpage for the drive= r > regardless of the attachment. If the driver has separate modules that ca= n > be documented in the one manpage, but the list of supported chipsets, etc= . > is presumably shared hence the shared driver name and common code. In > particular, the thing a user sees in dmesg is 'rtwn0', not 'rtwn_pci0' so > the manpage needs to be tied to what a user sees as a device name in dmes= g. > Yea, the man page should mention the detail that we have separate .ko's, bu= t otherwise I agree with John here. Warner --0000000000009bf715062f874f5e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Mar 4, = 2025 at 8:23=E2=80=AFAM John Baldwin <jhb@freebsd.org> wrote:
On 3/4/25 09:25, Bjoern A. Zeeb wrote:
> On Tue, 4 Mar 2025, Herbert J. Skuhra wrote:
>
>> On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote:
>>>
>>> The branch main has been updated by ziaee:
>>>
>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4262dbc57982383eb61a8b7806de6dd4b= 7802da8
>>>
>>> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8
>>> Author:=C2=A0 =C2=A0 =C2=A0Alexander Ziaee <ziaee@FreeBSD.o= rg>
>>> AuthorDate: 2025-02-19 15:54:27 +0000
>>> Commit:=C2=A0 =C2=A0 =C2=A0Alexander Ziaee <ziaee@FreeBSD.o= rg>
>>> CommitDate: 2025-02-27 22:20:22 +0000
>>>
>>>=C2=A0 =C2=A0 =C2=A0 wifi manuals: Mlink + document description= consistency
>>>
>>>=C2=A0 =C2=A0 =C2=A0 Interfaces all have an mlink to if_$foo. A= dd these for the missing ones
>>>=C2=A0 =C2=A0 =C2=A0 and remove an incorrect one from rtwn_pci.= Wireless network drivers are
>>>=C2=A0 =C2=A0 =C2=A0 all accessible via `apropos -s4 "wire= less network driver", except two
>>>=C2=A0 =C2=A0 =C2=A0 which are "wireless network device&qu= ot;. I actually prefer the latter, but
>>>=C2=A0 =C2=A0 =C2=A0 make them all consistent upon the more com= mon parlance. Tag SPDX on one
>>>=C2=A0 =C2=A0 =C2=A0 of the files I touched, while here.
>>>
>>>=C2=A0 =C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 3 days
>>>=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 bz, carlavilla, mhorne
>>>=C2=A0 =C2=A0 =C2=A0 Approved by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 carlavilla, mhorne (mentors)
>>>=C2=A0 =C2=A0 =C2=A0 Differential Revision:=C2=A0 http= s://reviews.freebsd.org/D49063
>>> ---
>>>=C2=A0 =C2=A0share/man/man4/Makefile | 4 +++-
>>>=C2=A0 =C2=A0share/man/man4/uath.4=C2=A0 =C2=A0| 4 +++-
>>>=C2=A0 =C2=A0share/man/man4/upgt.4=C2=A0 =C2=A0| 2 +-
>>>=C2=A0 =C2=A03 files changed, 7 insertions(+), 3 deletions(-) >>>
>>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile=
>>> index 13afc9b8d399..8e0af19eec3d 100644
>>> --- a/share/man/man4/Makefile
>>> +++ b/share/man/man4/Makefile
>>> @@ -764,7 +764,9 @@ MLINKS+=3Dptnet.4 if_ptnet.4
>>>=C2=A0 =C2=A0MLINKS+=3Dral.4 if_ral.4
>>>=C2=A0 =C2=A0MLINKS+=3Dre.4 if_re.4
>>>=C2=A0 =C2=A0MLINKS+=3Drl.4 if_rl.4
>>> -MLINKS+=3Drtwn_pci.4 if_rtwn_pci.4
>>> +MLINKS+=3Drtw88.4 if_rtw89.4
>>> +MLINKS+=3Drtw89.4 if_rtw89.4
>>> +MLINKS+=3Drtwn.4 if_rtwn.4
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0^^^^^^^^^
>> $ grep if_rtwn.4 ObsoleteFiles.inc
>> OLD_FILES+=3Dusr/share/man/man4/if_rtwn.4.gz
>
> In fact that is probably correct but things are confusing.
>
> The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those
> should have the man page and links (so contrary to what was done).
> rtwn.ko is just the common code if I am not mistaken (Adrian should kn= ow
> better).
>
> But everyone is just referring to the driver as rtwn and I fear if the= re
> is no man page to be found as man rtwn / man if_rtwn people will be > confused.
>
> I wanted to do the same with rtw88 but was told to keep it all togethe= r
> as one so rtwn is an excemption.
>
> That all said, yes, it needs a further cleanup.

The manpages should just be rtwn/if_rtwn.=C2=A0 The bus attachment doesn= 9;t matter.
We don't have separate manpages when a storage adapter has been support= ed
on both PCI and ISA in the past, you just had the ahc(4) driver (for exampl= e).
USB vs PCI is the same.=C2=A0 It should just be a single manpage for the dr= iver
regardless of the attachment.=C2=A0 If the driver has separate modules that= can
be documented in the one manpage, but the list of supported chipsets, etc.<= br> is presumably shared hence the shared driver name and common code.=C2=A0 In=
particular, the thing a user sees in dmesg is 'rtwn0', not 'rtw= n_pci0' so
the manpage needs to be tied to what a user sees as a device name in dmesg.=

Yea, the man page should mention the d= etail that we have separate .ko's, but
otherwise I agree with= John here.

Warner=C2=A0
--0000000000009bf715062f874f5e-- From nobody Tue Mar 4 17:10:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6hzC5SnSz5qNlf; Tue, 04 Mar 2025 17:11:03 +0000 (UTC) (envelope-from cvs-src@yandex.ru) Received: from forward500d.mail.yandex.net (forward500d.mail.yandex.net [IPv6:2a02:6b8:c41:1300:1:45:d181:d500]) (using TLSv1.3 with cipher TLS_AES_256_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 4Z6hzC2SvPz3n5n; Tue, 04 Mar 2025 17:11:03 +0000 (UTC) (envelope-from cvs-src@yandex.ru) Authentication-Results: mx1.freebsd.org; none Received: from mail-nwsmtp-mxback-production-main-180.klg.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-180.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:3ca7:0:640:87cd:0]) by forward500d.mail.yandex.net (Yandex) with ESMTPS id B25C461730; Tue, 4 Mar 2025 20:10:59 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c42:fe4c:0:640:1a4:0 [2a02:6b8:c42:fe4c:0:640:1a4:0]) by mail-nwsmtp-mxback-production-main-180.klg.yp-c.yandex.net (mxback/Yandex) with HTTPS id qAn2PF8LwqM0-UWueGmDq; Tue, 04 Mar 2025 20:10:59 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1741108259; bh=q4jAcNOOH/JSe9IF0WPpEwVcC5Yx/LcUB/m51Mu06p0=; h=Message-Id:References:Date:Subject:To:In-Reply-To:From; b=AOl3kGCKBwCiA0XXi+Uikoh0DAL+rpzsaha7fOfHMXxxdmjrllilZAN6vWQLaMgz7 4OwIEWsNerTMhf6WktqEDvxOKh47fl22ncM6Yn5k5oWF7Q4ZfAEnw7JN0U8CXf5XNE QOjN16++D2q0ZFYrn6QZ+tRnqYAq1R0FVMMdCnmM= Received: by mail-sendbernar-production-main-33.klg.yp-c.yandex.net with HTTP; Tue, 04 Mar 2025 20:10:59 +0300 From: Ruslan Makhmatkhanov To: Bjoern A. Zeeb , "src-committers@FreeBSD.org" , "dev-commits-src-all@FreeBSD.org" , "dev-commits-src-main@FreeBSD.org" In-Reply-To: <202503041557.524FvDjv069055@gitrepo.freebsd.org> References: <202503041557.524FvDjv069055@gitrepo.freebsd.org> Subject: Re: git: 394a9a5b1c2a - main - net80211: LinuxKPI 802.11: clean up MIC vs. MMIC rx flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Tue, 04 Mar 2025 20:10:59 +0300 Message-Id: <735281741108147@mail.yandex.ru> Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13238, ipnet:2a02:6b8::/32, country:RU] X-Rspamd-Queue-Id: 4Z6hzC2SvPz3n5n X-Spamd-Bar: ---- PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2Pi0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2 PtCa0L7QvNGDOiBzcmMtY29tbWl0dGVyc0BmcmVlYnNkLm9yZyAoc3JjLWNvbW1pdHRlcnNAZnJl ZWJzZC5vcmcpLCBkZXYtY29tbWl0cy1zcmMtYWxsQGZyZWVic2Qub3JnIChkZXYtY29tbWl0cy1z cmMtYWxsQGZyZWVic2Qub3JnKSwgZGV2LWNvbW1pdHMtc3JjLW1haW5AZnJlZWJzZC5vcmcgKGRl di1jb21taXRzLXNyYy1tYWluQGZyZWVic2Qub3JnKTs8L2Rpdj48ZGl2PtCi0LXQvNCwOiBnaXQ6 IDM5NGE5YTViMWMyYSAtIG1haW4gLSBuZXQ4MDIxMTogTGludXhLUEkgODAyLjExOiBjbGVhbiB1 cCBNSUMgdnMuIE1NSUMgcnggZmxhZ3M7PC9kaXY+PGRpdj4wNC4wMy4yMDI1LCAxODo1NywgIkJq b2VybiBBLiBaZWViIiAmbHQ7YnpAZnJlZWJzZC5vcmcmZ3Q7OjwvZGl2PjxkaXY+PGJyIC8+VGhl IGJyYW5jaCBtYWluIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYno6PGJyIC8+PGJyIC8+VVJMOiBodHRw czovL2NnaXQuRnJlZUJTRC5vcmcvc3JjL2NvbW1pdC8/aWQ9Mzk0YTlhNWIxYzJhZDdiNjc5YTAw YzMwODdjNDEzNzhhYmZhNzRhMTxiciAvPjxiciAvPmNvbW1pdCAzOTRhOWE1YjFjMmFkN2I2Nzlh MDBjMzA4N2M0MTM3OGFiZmE3NGExPGJyIC8+QXV0aG9yOiBCam9lcm4gQS4gWmVlYiAmbHQ7YnpA RnJlZUJTRC5vcmcmZ3Q7PGJyIC8+QXV0aG9yRGF0ZTogMjAyNS0wMy0wMyAxMTo0MzowMCArMDAw MDxiciAvPkNvbW1pdDogQmpvZXJuIEEuIFplZWIgJmx0O2J6QEZyZWVCU0Qub3JnJmd0OzxiciAv PkNvbW1pdERhdGU6IDIwMjUtMDMtMDQgMTU6NTY6NDkgKzAwMDA8YnIgLz48YnIgLz7CoMKgwqDC oG5ldDgwMjExOiBMaW51eEtQSSA4MDIuMTE6IGNsZWFuIHVwIE1JQyB2cy4gTU1JQyByeCBmbGFn czxiciAvPsKgwqDCoMKgPGRpdj5bc2tpcHBlZF08L2Rpdj48YnIgLz4tLS0gYS9zeXMvbmV0ODAy MTEvX2llZWU4MDIxMS5oPGJyIC8+KysrIGIvc3lzL25ldDgwMjExL19pZWVlODAyMTEuaDxiciAv PkBAIC01ODUsMTYgKzU4NSwxNyBAQCBzdHJ1Y3QgaWVlZTgwMjExX21pbW9faW5mbyB7PCEtLSAt LT48YnIgLz7CoCNkZWZpbmUgSUVFRTgwMjExX1JYX0ZfQU1QRFUgMHgwMDAwMDAxMCAvKiBUaGlz IGlzIHRoZSBzdGFydCBvZiBhbiBkZWNhcCBBTVBEVSBsaXN0ICovPGJyIC8+wqAjZGVmaW5lIElF RUU4MDIxMV9SWF9GX0FNUERVX01PUkUgMHgwMDAwMDAyMCAvKiBUaGlzIGlzIGFub3RoZXIgZGVj YXAgQU1QRFUgZnJhbWUgaW4gdGhlIGJhdGNoICovPGJyIC8+wqAjZGVmaW5lIElFRUU4MDIxMV9S WF9GX0ZBSUxfRkNTQ1JDIDB4MDAwMDAwNDAgLyogRmFpbGVkIENSQy9GQ1MgKi88YnIgLz4tI2Rl ZmluZSBJRUVFODAyMTFfUlhfRl9GQUlMX01JQyAweDAwMDAwMDgwIC8qIEZhaWxlZCBNSUMgY2hl Y2sgKi88YnIgLz4rI2RlZmluZSBJRUVFODAyMTFfUlhfRl9GQUlMX01NSUMgMHgwMDAwMDA4MCAv KiBGYWlsZWQgTWljaGFlbCBNSUMgKE1NSUMpIGNoZWNrICovPGRpdj48ZGl2PsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIF5eXl5eXl5ePC9kaXY+PGRpdj5UaGlzIHNwZWxsZWQg TWljaGFlbCwgd2hpbGUgaXQncyBzcGVsbGVkIE1pY2hlYWwgbGF0ZXIuIFdoaWNoIG9uZSBzdXBw b3NlZCB0byBiZSBjb3JyZWN0PzwvZGl2PjwvZGl2PjxkaXY+PGJyIC8+wqAjZGVmaW5lIElFRUU4 MDIxMV9SWF9GX0RFQ1JZUFRFRCAweDAwMDAwMTAwIC8qIEhhcmR3YXJlIGRlY3J5cHRlZCAqLzxi ciAvPsKgI2RlZmluZSBJRUVFODAyMTFfUlhfRl9JVl9TVFJJUCAweDAwMDAwMjAwIC8qIERlY3J5 cHRlZDsgSVYgc3RyaXBwZWQgKi88YnIgLz4tI2RlZmluZSBJRUVFODAyMTFfUlhfRl9NTUlDX1NU UklQIDB4MDAwMDA0MDAgLyogRGVjcnlwdGVkOyBbTWljaGVhbF0gTUlDIChbTV1NSUMpIHN0cmlw cGVkICovPGJyIC8+KyNkZWZpbmUgSUVFRTgwMjExX1JYX0ZfTU1JQ19TVFJJUCAweDAwMDAwNDAw IC8qIERlY3J5cHRlZDsgTWljaGVhbCBNSUMgKE1NSUMpIHN0cmlwcGVkICovPC9kaXY+PGRpdj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoF5eXl5e Xl5ePGJyIC8+wqAjZGVmaW5lIElFRUU4MDIxMV9SWF9GX1NIT1JUR0kgMHgwMDAwMDgwMCAvKiBU aGlzIGlzIGEgc2hvcnQtR0kgZnJhbWUgKi88YnIgLz7CoCNkZWZpbmUgSUVFRTgwMjExX1JYX0Zf Q0NLIDB4MDAwMDEwMDA8YnIgLz7CoCNkZWZpbmUgSUVFRTgwMjExX1JYX0ZfT0ZETSAweDAwMDAy MDAwPGJyIC8+wqA8L2Rpdj48ZGl2Pltza2lwcGVkXTwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2Pjxk aXY+LS3CoDwvZGl2PjxkaXY+UmVnYXJkcyw8L2Rpdj48ZGl2PlJ1c2xhbjwvZGl2PjwvZGl2Pjxk aXY+wqA8L2Rpdj48L2Rpdj4= From nobody Tue Mar 4 19:56: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 4Z6mf019b6z5qcHj; Tue, 04 Mar 2025 19:56:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6mf00KYcz3tdr; Tue, 04 Mar 2025 19:56:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741118184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2njkWt1l/9u7eTFWtu/q/ccACZj/4nXyhKCLEvCkcEY=; b=vYFTk5qRWfHvaen66UzsbtT8i28dGPDVZ8N3fuE/jbHawcsmZp01ncD+po1/G8Rm6OiHGg RXltF7jgoL6Ip3HH7089LjQ5p/zxobz0XnhVjuzitNWXH5FqeS3Etq6q+gM8LXd5zl/zWW GJHwfEV78kfHZ44upx/R53bLLQbwQceSb8YdVQH9jCJT6tHxLXhFi4andRbjjeWEb9spQL yJQ+GJZX39Epuxc+ftEzeTT927vxAx//d7RHjpP8yEbnsFDPo7hR+vxPB3wChSwTrd1o3t Inr2zuqf1KpfLe88iSB+ByxEgRT0hNnQvKmncTuaSmZLU8Y9kBy8s9ctHu7tBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741118184; a=rsa-sha256; cv=none; b=IVC8yN0GigHMfUA56c6GM9XafzUREYGbr4mC6D9HsBOOFXEfagsUOZwasnnBGKzAqTdMiY BtPx2n/hu9FbWUe3UFT993tnxDVKtmP9Xg14Q7V4G2fKM55UIpuAs28lQYXzotQ5zSdHkl DRF+Z5IH50OjxOxXy3MD80wReRaCUis9zc/L0rzU3kWiz2oy3rwKClpAMXiirhfQRXnX0i f7qBJ59dPHoXxMPMkzkLCZMVBtAytjJ6txwdp+loxyeWAfaQ6xGYEg2668AoK/H+F7NSUO alB0RP2K0A0yeqxp2sbOBZmHohZQgIJCjU//uoF42Fp5/4b3vQVJpsoJBUMsyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741118184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2njkWt1l/9u7eTFWtu/q/ccACZj/4nXyhKCLEvCkcEY=; b=tIRQvLGiLP+6b/VjCKg1JM84hswvW+QIKtCBRIK6vHUjf36V/i7or/28YXxTCEb8AeBGCW pLc3WCszao63lKyAL7vTHra5/lFDOBRwcXFTZCZ+xVJAgoHgQS+dyj/vAOo2H+octxKcKJ yKOSNkhOSTac6HkP8OEIIf7BETVu1PIv8gSlFSw031QSls3i61AoEkJuOJcRoiFvPQTX3L Lb4lmI2Hw00wkLasglq0JqacqOfyHGwgZTTddeNpbuqxczEdvju3UzVsL0VU7dMOhiNbhB UF7w0Y+EgtBZnRsRKiu2qjXf9Kge24lnjc5P4hEvzex6KKCFLtq1JtROL/UbdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6mdz72tXzYjB; Tue, 04 Mar 2025 19:56: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 524JuNjg017772; Tue, 4 Mar 2025 19:56:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524JuNZU017769; Tue, 4 Mar 2025 19:56:23 GMT (envelope-from git) Date: Tue, 4 Mar 2025 19:56:23 GMT Message-Id: <202503041956.524JuNZU017769@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: 429b03a00ba7 - main - libc: fix _FORTIFY_SOURCE build on aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 429b03a00ba74ae0188cce3f3064cfac023e18c5 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=429b03a00ba74ae0188cce3f3064cfac023e18c5 commit 429b03a00ba74ae0188cce3f3064cfac023e18c5 Author: Kyle Evans AuthorDate: 2025-03-04 19:53:34 +0000 Commit: Kyle Evans CommitDate: 2025-03-04 19:53:34 +0000 libc: fix _FORTIFY_SOURCE build on aarch64 As with their amd64 counterparts, we need to undef these string funcs that _FORTIFY_SOURCE will have defined macros for to avoid breaking the build. Fixes: bea89d038ac ("lib/libc/aarch64/string: add strlcat SIMD [...]") Fixes: 3dc5429158c ("lib/libc/aarch64/string: add strncat SIMD [...]") --- lib/libc/aarch64/string/strlcat.c | 2 ++ lib/libc/aarch64/string/strncat.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/libc/aarch64/string/strlcat.c b/lib/libc/aarch64/string/strlcat.c index c3c996163ade..fe2e75d091c5 100644 --- a/lib/libc/aarch64/string/strlcat.c +++ b/lib/libc/aarch64/string/strlcat.c @@ -8,6 +8,8 @@ #include +#undef strlcat /* _FORTIFY_SOURCE */ + void *__memchr_aarch64(const void *, int, size_t); size_t __strlcpy(char *restrict, const char *restrict, size_t); diff --git a/lib/libc/aarch64/string/strncat.c b/lib/libc/aarch64/string/strncat.c index 33b278ac5e04..2c63ab50b3c3 100644 --- a/lib/libc/aarch64/string/strncat.c +++ b/lib/libc/aarch64/string/strncat.c @@ -8,6 +8,8 @@ #include +#undef strncat /* _FORTIFY_SOURCE */ + void *__memccpy(void *restrict, const void *restrict, int, size_t); char * From nobody Tue Mar 4 19:57: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 4Z6mgf3ND2z5qchr; Tue, 04 Mar 2025 19:57:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6mgf2l4Sz3vwF; Tue, 04 Mar 2025 19:57:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741118270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Er28Z1+IDYwLp/yMvsLlJuJZS5/GLJRTa5FXTqFyjUA=; b=xwJZtMlapUxZWP+n/G3CkmHak+fVGal/w5M833SsT3+Zl72J7AoCZ6A2fsGFOeTPyiw6bu KGXKug03f9wAMQy+6n/Wj1R+C1owT7OeHDHboTkBCS5oW3VN5qS8HvgPPxkHpZ+0f2GZLU IcCkDHb14xU4hpoVos5Eq4pqstQdzI27homd0ffi23FqQsnFMqCs/XiPsiGP5NPr9KeN0U ZxM7/BnN8JJMJvJHSYClMUGpCSFSlZWFRa2opfUM9jlt11QCwCizLgPtSGuUWB6+DdUlQH LRmj+JkMjSGH19iWsWRtsCo7FanhCYeFp/yrBynwpG0adsyx7+y1HK3r8hDedw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741118270; a=rsa-sha256; cv=none; b=OtFrCLPoYPdyIczb7WdPafX5m4dUeW2WtlPmXKOOQJ9erLRd6eSU3W7fRw+rrjps3+Nkwz Gclis1iRSvDtCaebwQwhH8dPJdFv/Fzg3OFG4UhF7CKXTOMmgNdyWdrrm4/G65rO0eeLQn 0RzNwzdmIkgN2+bBam1KB43zUiyDqUi2mmM2AivfCLd51Zko3SAstFSSWCl1dmOdzB0/AH UfFzADBhlpumek+8JLZ9ucFcqMgAKAucspV5B+SKqS5JRaS27tWDhPXGaBIKAVn4A8o3kf Uwy/bPvB+g4hqY/ILpNRWRXyLvorskCTk0OoFcAS/d14VToKh9n2DmwZsdEFtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741118270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Er28Z1+IDYwLp/yMvsLlJuJZS5/GLJRTa5FXTqFyjUA=; b=SdYD1/7yfGeh/HuEXk6C2cmAzCECx25gqpphW/qzvvWf/X2OGOyq3URrbPHNyk+u4wCIlh dMTuDTnx7np8OdXN8pPyAItSaeiAE0aIJnxWOwSRgygbUuKJP949WdAQmrR+vH8qhcKe/J r3MToO5Hn3BtWJ63YB+gXQ00p5gR7rf5QDMmFotK4CG/Resk72TM5me83YfJY9yxCulqqC G68dcqbw457adoIKrWdCJ0GS8uwjHR0m9N6evPHliFcCb8GI5JE0lJcyaq1ZuLiSWdZVjL EODz8Uu5CDE2z+gxveenlIDrYGas3LQmWHDrrH5j7WmXS/HiAPjJWhbma6ybUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6mgf2FH6zYrk; Tue, 04 Mar 2025 19:57: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 524JvoZD018300; Tue, 4 Mar 2025 19:57:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524Jvouj018297; Tue, 4 Mar 2025 19:57:50 GMT (envelope-from git) Date: Tue, 4 Mar 2025 19:57:50 GMT Message-Id: <202503041957.524Jvouj018297@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: 2bef0d54f74d - main - kern: wg: remove overly-restrictive address family 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2bef0d54f74dad6962ef7d1dfa407e95cb4fb4ad Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2bef0d54f74dad6962ef7d1dfa407e95cb4fb4ad commit 2bef0d54f74dad6962ef7d1dfa407e95cb4fb4ad Author: Kyle Evans AuthorDate: 2025-03-04 19:57:34 +0000 Commit: Kyle Evans CommitDate: 2025-03-04 19:57:34 +0000 kern: wg: remove overly-restrictive address family check IPv4 packets can be routed via an IPv6 nexthop, so the handling of the parsed address family is more strict than it needs to be. If we have a valid header that matches a known peer, then we have no reason to decline the packet. Convert it to an assertion that it matches the destination as viewed by the stack below it, instead. `dst` may be the gateway instead of the destination in the case of a nexthop, so the `af` assignment must be switched to use the destination in all cases. Add a test case that approximates a setup like in the PR and demonstrates the issue. PR: 284857 Reviewed by: markj (earlier version), zlei Differential Revision: https://reviews.freebsd.org/D49172 --- sys/dev/wg/if_wg.c | 8 ++--- tests/sys/net/if_wg.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 5 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 6683d0505b26..83e5d9e5ceb3 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -2335,7 +2335,7 @@ wg_output(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro if (dst->sa_family == AF_UNSPEC || dst->sa_family == pseudo_AF_HDRCMPLT) memcpy(&af, dst->sa_data, sizeof(af)); else - af = dst->sa_family; + af = RO_GET_FAMILY(ro, dst); if (af == AF_UNSPEC) { xmit_err(ifp, m, NULL, af); return (EAFNOSUPPORT); @@ -2360,10 +2360,8 @@ wg_output(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro xmit_err(ifp, m, NULL, AF_UNSPEC); return (ret); } - if (parsed_af != af) { - xmit_err(ifp, m, NULL, AF_UNSPEC); - return (EAFNOSUPPORT); - } + + MPASS(parsed_af == af); mtu = (ro != NULL && ro->ro_mtu > 0) ? ro->ro_mtu : if_getmtu(ifp); return (wg_xmit(ifp, m, parsed_af, mtu)); } diff --git a/tests/sys/net/if_wg.sh b/tests/sys/net/if_wg.sh index b43b40f25018..e5df6afface1 100644 --- a/tests/sys/net/if_wg.sh +++ b/tests/sys/net/if_wg.sh @@ -92,6 +92,84 @@ wg_basic_cleanup() vnet_cleanup } +atf_test_case "wg_basic_crossaf" "cleanup" +wg_basic_crossaf_head() +{ + atf_set descr 'Create a wg(4) tunnel and pass IPv4 traffic over an IPv6 nexthop' + atf_set require.user root +} + +wg_basic_crossaf_body() +{ + local epair pri1 pri2 pub1 pub2 wg1 wg2 + local endpoint1 endpoint2 tunnel1 tunnel2 + local testnet testlocal testremote + + kldload -n if_wg || atf_skip "This test requires if_wg and could not load it" + + pri1=$(wg genkey) + pri2=$(wg genkey) + + endpoint1=192.168.2.1 + endpoint2=192.168.2.2 + tunnel1=2001:db8:1::1 + tunnel2=2001:db8:1::2 + + testnet=192.168.3.0/24 + testlocal=192.168.3.1 + testremote=192.168.3.2 + + epair=$(vnet_mkepair) + + vnet_init + + vnet_mkjail wgtest1 ${epair}a + vnet_mkjail wgtest2 ${epair}b + + jexec wgtest1 ifconfig ${epair}a ${endpoint1}/24 up + jexec wgtest2 ifconfig ${epair}b ${endpoint2}/24 up + + wg1=$(jexec wgtest1 ifconfig wg create) + echo "$pri1" | jexec wgtest1 wg set $wg1 listen-port 12345 \ + private-key /dev/stdin + pub1=$(jexec wgtest1 wg show $wg1 public-key) + wg2=$(jexec wgtest2 ifconfig wg create) + echo "$pri2" | jexec wgtest2 wg set $wg2 listen-port 12345 \ + private-key /dev/stdin + pub2=$(jexec wgtest2 wg show $wg2 public-key) + + atf_check -s exit:0 -o ignore \ + jexec wgtest1 wg set $wg1 peer "$pub2" \ + endpoint ${endpoint2}:12345 allowed-ips ${tunnel2}/128,${testnet} + atf_check -s exit:0 \ + jexec wgtest1 ifconfig $wg1 inet6 ${tunnel1}/64 up + + atf_check -s exit:0 -o ignore \ + jexec wgtest2 wg set $wg2 peer "$pub1" \ + endpoint ${endpoint1}:12345 allowed-ips ${tunnel1}/128,${testnet} + atf_check -s exit:0 \ + jexec wgtest2 ifconfig $wg2 inet6 ${tunnel2}/64 up + + atf_check -s exit:0 jexec wgtest1 ifconfig $wg1 inet ${testlocal}/32 + atf_check -s exit:0 jexec wgtest2 ifconfig $wg2 inet ${testremote}/32 + + # Generous timeout since the handshake takes some time. + atf_check -s exit:0 -o ignore jexec wgtest1 ping -c 1 -t 5 "$tunnel2" + + # Setup our IPv6 endpoint and routing + atf_check -s exit:0 -o ignore \ + jexec wgtest1 route add -inet ${testnet} -inet6 "$tunnel2" + atf_check -s exit:0 -o ignore \ + jexec wgtest2 route add -inet ${testnet} -inet6 "$tunnel1" + # Now ping an address on the other side + atf_check -s exit:0 -o ignore jexec wgtest1 ping -c 1 -t 3 ${testremote} +} + +wg_basic_crossaf_cleanup() +{ + vnet_cleanup +} + atf_test_case "wg_basic_netmap" "cleanup" wg_basic_netmap_head() { @@ -349,6 +427,7 @@ wg_vnet_parent_routing_cleanup() atf_init_test_cases() { atf_add_test_case "wg_basic" + atf_add_test_case "wg_basic_crossaf" atf_add_test_case "wg_basic_netmap" atf_add_test_case "wg_key_peerdev_shared" atf_add_test_case "wg_key_peerdev_makeshared" From nobody Tue Mar 4 20:39: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 4Z6nbt6jb6z5qgRG; Tue, 04 Mar 2025 20:39:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6nbt5pFXz3R58; Tue, 04 Mar 2025 20:39:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741120778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvgUDn3j0bsX+17rsebOHsdRMQFzVjpkgnRGUTU7bOU=; b=kSnNwFoFPIun9/BWwVzadek6IhlP0vXuwYUewfSjx/pK/vqR4ENB1MNOX7pnJyi/q/7PL9 NWf+fQxbY+PGEQgYgptiH5uZrGfKeRnC3jotfj+LhobKfGnhzGL1Yxx11JNOe2epjg3yLb y/oYJgn2d38o8dp9yN+2XksNpXIWXiD7+4SzhyfmZDWRSgwN8yzlDdkIGFQsEqn5RI+DuT lu7g4TjouMIiAkpJ3tbK+mbfKl4yhBXbF1pv3X3TvDk2uXm5Wrfy9CYVVx5kNFeExw3SMJ jA0Xro0P/m5vZQ16570reoBZ9uPJyjLDY/yFJrxQ4Y6CzjtcFURxOBCJvpBHkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741120778; a=rsa-sha256; cv=none; b=D0JOPT35XxkkiQ/DW24rD5Hlk28sw7eQVYE1Hnu+fvRMVYLlzWQgfgI9Ri4Vh2DlZhHt/7 w5rcBQuTrwbgwezCePtrT3ouOJicHMJalGVG4sr36rqOkLhQBFuySD+ikWsojctSxMlwYf aE3ax4ISGTj0jD2wsWQb2yLl0j4RUtJhDTBRExAj+86/ucVnIQjCRdDLuTm/8IOFau6XPF Z4zvk9OX7neqbJnQmFCV9FCDwYPJonKD/J+xM18Q198cKuxKr7JyNSibfuGCdwPjgW1DPR oqJQZQI2wEwiS9FitzyvLqtzK6+EIOm437v9H7c0HjzKK+CwnW18pDgANe0jGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741120778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvgUDn3j0bsX+17rsebOHsdRMQFzVjpkgnRGUTU7bOU=; b=sIxlzP+bIsdUHjUt5S8PBuvHTbrBGaWumHMrsnTOlIlwfKpbaCx0atLx8iEKkMlALmQqWB wmvDyhQlw9bn6dwVrK/Ixn0271ntfRza1+Ojfh7l2gbf/cMYD1kRaClOqk06t0GCN9AlNi duCijFyGXuvgYIVCQ8LRyKH2z/w74gLrxPTLUNrorfJuBcLoype+bILyEfUV7hm1XiL+Gz N7xVpRjXBmSEyoA8iVm67/NzXtpfxNDbMnQ3xmUkyh8K9D7aLfSr6ovlk+jsWK7DMrXphT TVZtkYuGrOJtzLrwW9vSm/5wcLoFCUgdnwTQ+/73lVQBVTKb5iwrBMqF5RLdiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6nbt5LcJzZf7; Tue, 04 Mar 2025 20:39: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 524KdcMB093572; Tue, 4 Mar 2025 20:39:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524Kdcu3093569; Tue, 4 Mar 2025 20:39:38 GMT (envelope-from git) Date: Tue, 4 Mar 2025 20:39:38 GMT Message-Id: <202503042039.524Kdcu3093569@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 278a726eec5a - main - ipf: Correct ippool.5 man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 278a726eec5a49284df1f54a586be0fe0ce2e0cf Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=278a726eec5a49284df1f54a586be0fe0ce2e0cf commit 278a726eec5a49284df1f54a586be0fe0ce2e0cf Author: Cy Schubert AuthorDate: 2025-03-04 20:37:20 +0000 Commit: Cy Schubert CommitDate: 2025-03-04 20:39:07 +0000 ipf: Correct ippool.5 man page The file URL must be enclosed in quotes. MFC after: 3 days --- sbin/ipf/ippool/ippool.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ipf/ippool/ippool.5 b/sbin/ipf/ippool/ippool.5 index d631de355a0e..b45675bea069 100644 --- a/sbin/ipf/ippool/ippool.5 +++ b/sbin/ipf/ippool/ippool.5 @@ -121,7 +121,7 @@ addresses from. To do this simply use a "file://" URL where you would specify an actual IP address. .PP .nf -pool ipf/tree (name rfc1918;) { file:///etc/ipf/rfc1918; }; +pool ipf/tree (name rfc1918;) { "file:///etc/ipf/rfc1918;" }; .fi .PP The contents of the file might look something like this: From nobody Tue Mar 4 20:51: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 4Z6nsk44r1z5qhBL; Tue, 04 Mar 2025 20:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6nsk241cz3cpZ; Tue, 04 Mar 2025 20:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741121498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yL1W5PdkPipn0bwnj/1Weyn7QIi65v1e1iXids91eRQ=; b=bmdSwvdGTYwQZFcSxLH4xVa18z9gzmJtStdbFKlMsp1fAJ2Zn7W9CcfJGTOuIzOmayLJjE ehT+NoUJBQm5DW70jFRyOjte0J5jpGiFojI+C87O1ruOyqTbpNIcndhDs3WgkDLThZlqHz uQrjwwZ4myEauDVCf1VFnM2XLdRnoLDowNRjKXMw9yZ0UWh3yXDRFg6eZhcXfY7nBhp2Cb 4of4a2Kp2hIFAe41mY4TtI3eMKQLFGhFwR4+ht+qkto/5tTCVQ0J2bBrRwkNAp5Y/kxaE2 boZO11SkLQpGiapXcUoCLLiwolx5pJWhHAMWT72zXPagdRslKnznF10IbsAfgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741121498; a=rsa-sha256; cv=none; b=f1BVcwpXTsX45/j161APheN2bXMz8H9R4juc5S8KY+Hbz86zkFMyKVDsLcaoFWfO2f04Eh iWnm6SG3fzKrmCkHHTkls7deAAQykYbJDG35G/9b3Gcbcgc/s98pjn+hQ+AOvx0ek0k75o Kesc6vdLvA8gukOSd14RyD2/sGMuuQS57fJZT5J4QfkByuQwTblJxVGOLZW4wOOE/WR4z8 T0cq2sb2LIo4ytoqW5V1JpwYKhl3LgkrqLFO9auxpHnbNw2NuMhUNBfZ03h0GuMnsxnwA/ KARLqCJ8+iYbCZSIgjYh5pkqGtKTEFicJNhvxbu99/Nvvd8DfENFdynndu9hkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741121498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yL1W5PdkPipn0bwnj/1Weyn7QIi65v1e1iXids91eRQ=; b=INCH+egj76DCL+MleBmzwk4OxgEWeW4kcCyBl/+pELRkcPOh2bboQkwyB8mAnJA4lB4cAT 2BpOHebEfZs0NJo2UQpv0DJW4lAQzu8eqIpIgBw/EUqhcu/soo6NxaPEctzMHfkMpiwwWb l5mwc4tYAIGNFTcWio+e30nl6h8BuqQGS7XlI83NA2aaiv1x2c9q+zVz1IZ5Eo67fyfPju QrTq4MNJTjZQm3UZe8iTNnx5E8p05nFqnfofoYjy3hKRDq8eZG5S0KEmUD4I/4+aBMLpI4 XRnNQa9j61ykfhXVC4co+RDdHeiwU+2YUShOBJYfT/g2KZlgHzGn6C7lz6I+0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6nsk1dvWzZqZ; Tue, 04 Mar 2025 20:51: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 524Kpcoe025683; Tue, 4 Mar 2025 20:51:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524KpcoG025676; Tue, 4 Mar 2025 20:51:38 GMT (envelope-from git) Date: Tue, 4 Mar 2025 20:51:38 GMT Message-Id: <202503042051.524KpcoG025676@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: e62ff34a6761 - main - sys.mk: Improve ports compatibility hack guard List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e62ff34a6761025203b77ffb241c926ac8d218c8 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=e62ff34a6761025203b77ffb241c926ac8d218c8 commit e62ff34a6761025203b77ffb241c926ac8d218c8 Author: Brooks Davis AuthorDate: 2025-03-04 20:50:32 +0000 Commit: Brooks Davis CommitDate: 2025-03-04 20:51:10 +0000 sys.mk: Improve ports compatibility hack guard Back in 9ca543438039 and include of bsd.cpu.mk in sys.mk was added as a hack for ports Makefiles. This works fine in general (for values of fine that include not being able to use MK_ variables in bsd.cpu.mk), but has surprising effects on MacOS with a case insensitive filesystems. There we build things in paths like share/docs/IPv6 where ../../Mk/bsd.port.mk matches share/mk/bsd.port.mk. Fix this issue by checking for ../../Mk/Uses which seems highly unlikely to match something in share/mk. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D49232 --- share/mk/sys.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 44db9266784f..26f31c104088 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -321,7 +321,7 @@ __MAKE_SHELL?=/bin/sh # the ports files are modernized, and a reasonable transition # period has passed, include it while we're in a ports tree here # to preserve historic behavior. -.if exists(${.CURDIR}/../../Mk/bsd.port.mk) +.if exists(${.CURDIR}/../../Mk/Uses) .include .endif From nobody Tue Mar 4 21:44: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 4Z6q2r0t8rz5qm6K; Tue, 04 Mar 2025 21:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6q2q5B7Tz3HW9; Tue, 04 Mar 2025 21:44:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741124675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rC6O/vwvxS+ACax/wt/CE+pICQ4+wCgb8N87vm0HniU=; b=C2i+pEAWwNxRkdiRo6lkP2J1yPVpWesxra2YlFPCh9YougB5UTNnrOz7DVD3lry2fVmnj4 DlhwA4Wns6SOYe8kl2QRyhFahhNgxAYkpO29qj/f7vDWlnKDI1VugJK5HyeLTuX8oXFVI5 WtoyBLXn/G+F7FwEck6ljCtPlKMA3E55t8S/PMW1lgDPCWnLQVy85tggxL3irgxJN5qaUZ HMyvQ5WAaJ/+82vwvtQxpQ01DltqI9fyaW82Cxyaq3TBlj5t/+cdogy1v4/DJ9a2aKCkaZ Nawvl1h2ICkppWOyIpgbZIqGjJOZiYsY7bF4Ebd582huWKlhy+5PamkiG5f65g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741124675; a=rsa-sha256; cv=none; b=OU86n7tcQ0LjxQDiFJWrv5eWFc8A3Z9aES9KX7da4VFDKVRd5DPWPoQ8PzEBtKlBUZiEGV Z0ZxGZXtPgehWcYM11iqrPk1qNL7OIsyP6NlVcvXQrO2rc0NAvYZ5vhENn3DnT/6qKNwS8 Z4lkNwNnTioYp0+7oTN3tos6IDHstAnsPCqHxJ1cukVs4Ro26qlXJLcU/mA3jEt8yDMST5 cWwLPmsjaGmLAtMEwMvnafZwbvmhtNSBi6+2W5TL7OzK+rTzLETdGQJLD3Bbly1gcnS1d4 LKJw0olaTYolpLHAzsFYyvg1aqmilny//SEtE/iASc0PYoNg4IT2SBKX2xOOww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741124675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rC6O/vwvxS+ACax/wt/CE+pICQ4+wCgb8N87vm0HniU=; b=O16oKy7RVeDTxUD4VJy/pWrbfVuW+v44biey2ThEcz6oZbVDi7Ij7Jkhv4sKvKc3Ci57vm ISPbNK6I629dnJzys9psKgWvLGKiX04sLh7X1af2eLvkAH6CF42Eb2IfyIw4Ddu0pfZPYg Y0zXml1EhWTIXo0oYQL/q3gktCrV0xEdEk0vH5yQSnu4wtPp8jgAGUiFToYiKUL8ilzYsS 2DLkrL++ae23sKcyJTH/MNa6W7jsZsBBScM6u1iUZk9p48WRoryENMywQWohJID/6+3TRc vLdj6q6Uuxvr/LFDVRONRydX5q93/FiFThL7S1xJi4jUCCgfzR/ZBo2QBpHeng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6q2q4Cdgzc3f; Tue, 04 Mar 2025 21:44: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 524LiZF9022240; Tue, 4 Mar 2025 21:44:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524LiZ9T022237; Tue, 4 Mar 2025 21:44:35 GMT (envelope-from git) Date: Tue, 4 Mar 2025 21:44:35 GMT Message-Id: <202503042144.524LiZ9T022237@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: ca48e43ba9ee - main - usb: Kill left-over cdefs.h includes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca48e43ba9ee73a07cdbad8365117793b01273bb Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ca48e43ba9ee73a07cdbad8365117793b01273bb commit ca48e43ba9ee73a07cdbad8365117793b01273bb Author: Warner Losh AuthorDate: 2025-03-04 21:42:28 +0000 Commit: Warner Losh CommitDate: 2025-03-04 21:44:22 +0000 usb: Kill left-over cdefs.h includes These includes were for __FBSD_RCSID() macro. They weren't formatted like the rest of the tree so weren't trimmed automatically when that script was run. Trim them now. MFC After: 1 week Sponsored by: Netflix --- sys/dev/usb/controller/dwc3/dwc3.c | 1 - sys/dev/usb/controller/dwc_otg_acpi.c | 1 - sys/dev/usb/controller/ehci_fsl.c | 1 - sys/dev/usb/controller/ehci_imx.c | 1 - sys/dev/usb/controller/ehci_msm.c | 1 - sys/dev/usb/controller/ehci_mv.c | 1 - sys/dev/usb/controller/ehci_pci.c | 1 - sys/dev/usb/controller/generic_ehci.c | 1 - sys/dev/usb/controller/generic_ehci_acpi.c | 1 - sys/dev/usb/controller/generic_ehci_fdt.c | 1 - sys/dev/usb/controller/generic_xhci.c | 1 - sys/dev/usb/controller/generic_xhci_acpi.c | 1 - sys/dev/usb/controller/generic_xhci_fdt.c | 1 - sys/dev/usb/controller/ohci_pci.c | 1 - sys/dev/usb/controller/uhci_pci.c | 1 - sys/dev/usb/controller/xhci_pci.c | 1 - sys/dev/usb/controller/xlnx_dwc3.c | 2 -- sys/dev/usb/input/atp.c | 1 - sys/dev/usb/input/uhid.c | 1 - sys/dev/usb/input/ukbd.c | 1 - sys/dev/usb/input/ums.c | 1 - sys/dev/usb/input/usbhid.c | 1 - sys/dev/usb/input/wmt.c | 1 - sys/dev/usb/input/wsp.c | 1 - sys/dev/usb/misc/udbp.c | 1 - sys/dev/usb/misc/ugold.c | 1 - sys/dev/usb/misc/uled.c | 1 - sys/dev/usb/net/if_aue.c | 1 - sys/dev/usb/net/if_axe.c | 1 - sys/dev/usb/net/if_axge.c | 1 - sys/dev/usb/net/if_cdce.c | 1 - sys/dev/usb/net/if_cdceem.c | 1 - sys/dev/usb/net/if_cue.c | 1 - sys/dev/usb/net/if_ipheth.c | 1 - sys/dev/usb/net/if_kue.c | 1 - sys/dev/usb/net/if_mos.c | 1 - sys/dev/usb/net/if_muge.c | 1 - sys/dev/usb/net/if_rue.c | 1 - sys/dev/usb/net/if_smsc.c | 1 - sys/dev/usb/net/if_udav.c | 1 - sys/dev/usb/net/if_urndis.c | 1 - sys/dev/usb/net/ruephy.c | 1 - sys/dev/usb/serial/ubsa.c | 1 - sys/dev/usb/serial/ubser.c | 1 - sys/dev/usb/serial/uchcom.c | 1 - sys/dev/usb/serial/ucycom.c | 1 - sys/dev/usb/serial/ufoma.c | 1 - sys/dev/usb/serial/uftdi.c | 1 - sys/dev/usb/serial/uipaq.c | 1 - sys/dev/usb/serial/ulpt.c | 1 - sys/dev/usb/serial/umcs.c | 1 - sys/dev/usb/serial/umct.c | 1 - sys/dev/usb/serial/umodem.c | 1 - sys/dev/usb/serial/uplcom.c | 1 - sys/dev/usb/serial/usb_serial.c | 1 - sys/dev/usb/serial/uslcom.c | 1 - sys/dev/usb/serial/uvscom.c | 1 - sys/dev/usb/storage/umass.c | 1 - sys/dev/usb/storage/urio.c | 1 - sys/dev/usb/template/usb_template_multi.c | 1 - sys/dev/usb/template/usb_template_serialnet.c | 1 - sys/dev/usb/wlan/if_rsu.c | 1 - sys/dev/usb/wlan/if_rum.c | 1 - sys/dev/usb/wlan/if_run.c | 1 - sys/dev/usb/wlan/if_uath.c | 1 - sys/dev/usb/wlan/if_ural.c | 1 - sys/dev/usb/wlan/if_urtw.c | 1 - sys/dev/usb/wlan/if_zyd.c | 1 - 68 files changed, 69 deletions(-) diff --git a/sys/dev/usb/controller/dwc3/dwc3.c b/sys/dev/usb/controller/dwc3/dwc3.c index 7ba6165431ac..39b5d3ae4cb1 100644 --- a/sys/dev/usb/controller/dwc3/dwc3.c +++ b/sys/dev/usb/controller/dwc3/dwc3.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include "opt_platform.h" #include "opt_acpi.h" diff --git a/sys/dev/usb/controller/dwc_otg_acpi.c b/sys/dev/usb/controller/dwc_otg_acpi.c index 5d509911a54a..d8deaa80e94e 100644 --- a/sys/dev/usb/controller/dwc_otg_acpi.c +++ b/sys/dev/usb/controller/dwc_otg_acpi.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include "opt_acpi.h" #include diff --git a/sys/dev/usb/controller/ehci_fsl.c b/sys/dev/usb/controller/ehci_fsl.c index ed3d4c64f4f8..ce1749775ab2 100644 --- a/sys/dev/usb/controller/ehci_fsl.c +++ b/sys/dev/usb/controller/ehci_fsl.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/ehci_imx.c b/sys/dev/usb/controller/ehci_imx.c index caba6b7da85a..149b26f04760 100644 --- a/sys/dev/usb/controller/ehci_imx.c +++ b/sys/dev/usb/controller/ehci_imx.c @@ -31,7 +31,6 @@ * SUCH DAMAGE. */ -#include /* * EHCI driver for Freescale i.MX SoCs which incorporate the USBOH3 controller. */ diff --git a/sys/dev/usb/controller/ehci_msm.c b/sys/dev/usb/controller/ehci_msm.c index 7f06ad6a1600..2586df634b3c 100644 --- a/sys/dev/usb/controller/ehci_msm.c +++ b/sys/dev/usb/controller/ehci_msm.c @@ -31,7 +31,6 @@ * SUCH DAMAGE. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/ehci_mv.c b/sys/dev/usb/controller/ehci_mv.c index 817cd68257c8..5dc72d4af3d8 100644 --- a/sys/dev/usb/controller/ehci_mv.c +++ b/sys/dev/usb/controller/ehci_mv.c @@ -35,7 +35,6 @@ * FDT attachment driver for the USB Enhanced Host Controller. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/ehci_pci.c b/sys/dev/usb/controller/ehci_pci.c index bc75669a8d20..d7298ab89df7 100644 --- a/sys/dev/usb/controller/ehci_pci.c +++ b/sys/dev/usb/controller/ehci_pci.c @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * USB Enhanced Host Controller Driver, a.k.a. USB 2.0 controller. * diff --git a/sys/dev/usb/controller/generic_ehci.c b/sys/dev/usb/controller/generic_ehci.c index 35a9564631e0..bd7dc32b1ea8 100644 --- a/sys/dev/usb/controller/generic_ehci.c +++ b/sys/dev/usb/controller/generic_ehci.c @@ -32,7 +32,6 @@ * Generic EHCI driver based on the Allwinner A10 EHCI driver */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/generic_ehci_acpi.c b/sys/dev/usb/controller/generic_ehci_acpi.c index f565590fa09a..d947215ad355 100644 --- a/sys/dev/usb/controller/generic_ehci_acpi.c +++ b/sys/dev/usb/controller/generic_ehci_acpi.c @@ -28,7 +28,6 @@ * SUCH DAMAGE. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/generic_ehci_fdt.c b/sys/dev/usb/controller/generic_ehci_fdt.c index af22d0bdef73..df2dc7fba4b9 100644 --- a/sys/dev/usb/controller/generic_ehci_fdt.c +++ b/sys/dev/usb/controller/generic_ehci_fdt.c @@ -28,7 +28,6 @@ * SUCH DAMAGE. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/generic_xhci.c b/sys/dev/usb/controller/generic_xhci.c index f64e1fd01ba0..16bda77e043d 100644 --- a/sys/dev/usb/controller/generic_xhci.c +++ b/sys/dev/usb/controller/generic_xhci.c @@ -27,7 +27,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/sys/dev/usb/controller/generic_xhci_acpi.c b/sys/dev/usb/controller/generic_xhci_acpi.c index 2cb5977e0cf1..e24fe1b1bcc3 100644 --- a/sys/dev/usb/controller/generic_xhci_acpi.c +++ b/sys/dev/usb/controller/generic_xhci_acpi.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include "opt_acpi.h" #include diff --git a/sys/dev/usb/controller/generic_xhci_fdt.c b/sys/dev/usb/controller/generic_xhci_fdt.c index 66fc1ab65a23..8aab938cbc77 100644 --- a/sys/dev/usb/controller/generic_xhci_fdt.c +++ b/sys/dev/usb/controller/generic_xhci_fdt.c @@ -27,7 +27,6 @@ * SUCH DAMAGE. */ -#include #include "opt_bus.h" #include diff --git a/sys/dev/usb/controller/ohci_pci.c b/sys/dev/usb/controller/ohci_pci.c index 027be4ce9588..0edcebcb0b38 100644 --- a/sys/dev/usb/controller/ohci_pci.c +++ b/sys/dev/usb/controller/ohci_pci.c @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * USB Open Host Controller driver. * diff --git a/sys/dev/usb/controller/uhci_pci.c b/sys/dev/usb/controller/uhci_pci.c index 0dc2763aed8d..97f6d09f9e65 100644 --- a/sys/dev/usb/controller/uhci_pci.c +++ b/sys/dev/usb/controller/uhci_pci.c @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* Universal Host Controller Interface * * UHCI spec: http://www.intel.com/ diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c index c436f60aefcf..b50e33ea36ce 100644 --- a/sys/dev/usb/controller/xhci_pci.c +++ b/sys/dev/usb/controller/xhci_pci.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/sys/dev/usb/controller/xlnx_dwc3.c b/sys/dev/usb/controller/xlnx_dwc3.c index ab2e9b899b2a..c450734e4225 100644 --- a/sys/dev/usb/controller/xlnx_dwc3.c +++ b/sys/dev/usb/controller/xlnx_dwc3.c @@ -29,8 +29,6 @@ * Xilinx DWC3 glue */ -#include - #include #include #include diff --git a/sys/dev/usb/input/atp.c b/sys/dev/usb/input/atp.c index fa78f7d7221b..41ab37c6f1cc 100644 --- a/sys/dev/usb/input/atp.c +++ b/sys/dev/usb/input/atp.c @@ -58,7 +58,6 @@ * giving me an opportunity to do this work. */ -#include #include #include #include diff --git a/sys/dev/usb/input/uhid.c b/sys/dev/usb/input/uhid.c index 098ec4364df7..a31081663f0c 100644 --- a/sys/dev/usb/input/uhid.c +++ b/sys/dev/usb/input/uhid.c @@ -4,7 +4,6 @@ * $NetBSD: uhid.c,v 1.54 2002/09/23 05:51:21 simonb Exp $ */ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 9ff093628312..57e9beac34b6 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -1,4 +1,3 @@ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/input/ums.c b/sys/dev/usb/input/ums.c index 067feed13e92..523ec4d05db9 100644 --- a/sys/dev/usb/input/ums.c +++ b/sys/dev/usb/input/ums.c @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf */ diff --git a/sys/dev/usb/input/usbhid.c b/sys/dev/usb/input/usbhid.c index e88588182ae5..3bb7d5e594e3 100644 --- a/sys/dev/usb/input/usbhid.c +++ b/sys/dev/usb/input/usbhid.c @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * HID spec: https://www.usb.org/sites/default/files/documents/hid1_11.pdf */ diff --git a/sys/dev/usb/input/wmt.c b/sys/dev/usb/input/wmt.c index 23692e77a0fa..03e4da35a9fe 100644 --- a/sys/dev/usb/input/wmt.c +++ b/sys/dev/usb/input/wmt.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * MS Windows 7/8/10 compatible USB HID Multi-touch Device driver. * https://msdn.microsoft.com/en-us/library/windows/hardware/jj151569(v=vs.85).aspx diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index a8d6c14c7421..4c41dcdbba8f 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include "opt_evdev.h" #include diff --git a/sys/dev/usb/misc/udbp.c b/sys/dev/usb/misc/udbp.c index 61f77837ffbd..1d348557e1a1 100644 --- a/sys/dev/usb/misc/udbp.c +++ b/sys/dev/usb/misc/udbp.c @@ -30,7 +30,6 @@ * */ -#include /* Driver for arbitrary double bulk pipe devices. * The driver assumes that there will be the same driver on the other side. * diff --git a/sys/dev/usb/misc/ugold.c b/sys/dev/usb/misc/ugold.c index d322348ee333..1b5f54bc679b 100644 --- a/sys/dev/usb/misc/ugold.c +++ b/sys/dev/usb/misc/ugold.c @@ -19,7 +19,6 @@ /* Driver for Microdia's HID based TEMPer Temperature sensor */ -#include #include #include #include diff --git a/sys/dev/usb/misc/uled.c b/sys/dev/usb/misc/uled.c index 6fc325522f20..7608524cddee 100644 --- a/sys/dev/usb/misc/uled.c +++ b/sys/dev/usb/misc/uled.c @@ -25,7 +25,6 @@ * */ -#include #include #include #include diff --git a/sys/dev/usb/net/if_aue.c b/sys/dev/usb/net/if_aue.c index 3bd6dd50f7b7..84268c60a780 100644 --- a/sys/dev/usb/net/if_aue.c +++ b/sys/dev/usb/net/if_aue.c @@ -35,7 +35,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * ADMtek AN986 Pegasus and AN8511 Pegasus II USB to ethernet driver. * Datasheet is available from http://www.admtek.com.tw. diff --git a/sys/dev/usb/net/if_axe.c b/sys/dev/usb/net/if_axe.c index ed40a1e415c3..117a3daa170f 100644 --- a/sys/dev/usb/net/if_axe.c +++ b/sys/dev/usb/net/if_axe.c @@ -32,7 +32,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * ASIX Electronics AX88172/AX88178/AX88778 USB 2.0 ethernet driver. * Used in the LinkSys USB200M and various other adapters. diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index cae1d61feb34..cb8f0fafff45 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include /* * ASIX Electronics AX88178A/AX88179/AX88179A USB 2.0/3.0 gigabit ethernet * driver. diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c index cbb6ae76ef0c..25697c8ec4c9 100644 --- a/sys/dev/usb/net/if_cdce.c +++ b/sys/dev/usb/net/if_cdce.c @@ -47,7 +47,6 @@ * http://www.usb.org/developers/devclass_docs/NCM10.zip */ -#include #include #include #include diff --git a/sys/dev/usb/net/if_cdceem.c b/sys/dev/usb/net/if_cdceem.c index 07ce7328a3ca..b4978e5ea394 100644 --- a/sys/dev/usb/net/if_cdceem.c +++ b/sys/dev/usb/net/if_cdceem.c @@ -37,7 +37,6 @@ * https://usb.org/sites/default/files/CDC_EEM10.pdf */ -#include #include #include #include diff --git a/sys/dev/usb/net/if_cue.c b/sys/dev/usb/net/if_cue.c index e7b6d6cbbca4..a65bafee066f 100644 --- a/sys/dev/usb/net/if_cue.c +++ b/sys/dev/usb/net/if_cue.c @@ -32,7 +32,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * CATC USB-EL1210A USB to ethernet driver. Used in the CATC Netmate * adapters and others. diff --git a/sys/dev/usb/net/if_ipheth.c b/sys/dev/usb/net/if_ipheth.c index dfb9463cf024..f70113c53eb4 100644 --- a/sys/dev/usb/net/if_ipheth.c +++ b/sys/dev/usb/net/if_ipheth.c @@ -31,7 +31,6 @@ * the Apple iPhone Ethernet driver. */ -#include #include #include #include diff --git a/sys/dev/usb/net/if_kue.c b/sys/dev/usb/net/if_kue.c index 9398b7ac98ee..55c531e278fb 100644 --- a/sys/dev/usb/net/if_kue.c +++ b/sys/dev/usb/net/if_kue.c @@ -32,7 +32,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * Kawasaki LSI KL5KUSB101B USB to ethernet adapter driver. * diff --git a/sys/dev/usb/net/if_mos.c b/sys/dev/usb/net/if_mos.c index b0ad55e726b5..442bfb27d83f 100644 --- a/sys/dev/usb/net/if_mos.c +++ b/sys/dev/usb/net/if_mos.c @@ -80,7 +80,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * Moschip MCS7730/MCS7830/MCS7832 USB to Ethernet controller * The datasheet is available at the following URL: diff --git a/sys/dev/usb/net/if_muge.c b/sys/dev/usb/net/if_muge.c index dd4a89aa8b05..a39343b2e3c9 100644 --- a/sys/dev/usb/net/if_muge.c +++ b/sys/dev/usb/net/if_muge.c @@ -29,7 +29,6 @@ * SUCH DAMAGE. */ -#include /* * USB-To-Ethernet adapter driver for Microchip's LAN78XX and related families. * diff --git a/sys/dev/usb/net/if_rue.c b/sys/dev/usb/net/if_rue.c index 1c11e70e63a6..d1b46887cd20 100644 --- a/sys/dev/usb/net/if_rue.c +++ b/sys/dev/usb/net/if_rue.c @@ -58,7 +58,6 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * RealTek RTL8150 USB to fast ethernet controller driver. * Datasheet is available from diff --git a/sys/dev/usb/net/if_smsc.c b/sys/dev/usb/net/if_smsc.c index 58809de4ad3a..0ebbf8482446 100644 --- a/sys/dev/usb/net/if_smsc.c +++ b/sys/dev/usb/net/if_smsc.c @@ -26,7 +26,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* * Microchip LAN9xxx devices (https://www.microchip.com/en-us/product/lan9500a) * diff --git a/sys/dev/usb/net/if_udav.c b/sys/dev/usb/net/if_udav.c index 6517a4a0e7b7..1554f0a4cd57 100644 --- a/sys/dev/usb/net/if_udav.c +++ b/sys/dev/usb/net/if_udav.c @@ -44,7 +44,6 @@ * External PHYs */ -#include #include #include #include diff --git a/sys/dev/usb/net/if_urndis.c b/sys/dev/usb/net/if_urndis.c index 0a7cb3fed953..4b0582442e30 100644 --- a/sys/dev/usb/net/if_urndis.c +++ b/sys/dev/usb/net/if_urndis.c @@ -20,7 +20,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include #include #include #include diff --git a/sys/dev/usb/net/ruephy.c b/sys/dev/usb/net/ruephy.c index 05ed5cc6586a..2b5358ab8d0c 100644 --- a/sys/dev/usb/net/ruephy.c +++ b/sys/dev/usb/net/ruephy.c @@ -27,7 +27,6 @@ * */ -#include /* * driver for RealTek RTL8150 internal PHY */ diff --git a/sys/dev/usb/serial/ubsa.c b/sys/dev/usb/serial/ubsa.c index 5ff207a17c62..38782d5aef11 100644 --- a/sys/dev/usb/serial/ubsa.c +++ b/sys/dev/usb/serial/ubsa.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/usb/serial/ubser.c b/sys/dev/usb/serial/ubser.c index 91fefceb8240..978639a809be 100644 --- a/sys/dev/usb/serial/ubser.c +++ b/sys/dev/usb/serial/ubser.c @@ -64,7 +64,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * BWCT serial adapter driver */ diff --git a/sys/dev/usb/serial/uchcom.c b/sys/dev/usb/serial/uchcom.c index a61b5a92364c..a886b25c89d7 100644 --- a/sys/dev/usb/serial/uchcom.c +++ b/sys/dev/usb/serial/uchcom.c @@ -57,7 +57,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * Driver for WinChipHead CH341/340, the worst USB-serial chip in the * world. diff --git a/sys/dev/usb/serial/ucycom.c b/sys/dev/usb/serial/ucycom.c index 664cb7f05263..5ab1810a0d11 100644 --- a/sys/dev/usb/serial/ucycom.c +++ b/sys/dev/usb/serial/ucycom.c @@ -1,4 +1,3 @@ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/serial/ufoma.c b/sys/dev/usb/serial/ufoma.c index 66002f57e3b9..3fc6a7a609ba 100644 --- a/sys/dev/usb/serial/ufoma.c +++ b/sys/dev/usb/serial/ufoma.c @@ -1,6 +1,5 @@ /* $NetBSD: umodem.c,v 1.45 2002/09/23 05:51:23 simonb Exp $ */ -#include #define UFOMA_HANDSFREE /*- * SPDX-License-Identifier: BSD-2-Clause diff --git a/sys/dev/usb/serial/uftdi.c b/sys/dev/usb/serial/uftdi.c index 3b0400d9b353..b06dc38432be 100644 --- a/sys/dev/usb/serial/uftdi.c +++ b/sys/dev/usb/serial/uftdi.c @@ -31,7 +31,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* * NOTE: all function names beginning like "uftdi_cfg_" can only * be called from within the config thread function ! diff --git a/sys/dev/usb/serial/uipaq.c b/sys/dev/usb/serial/uipaq.c index 2b282009a8bb..f24f1e215767 100644 --- a/sys/dev/usb/serial/uipaq.c +++ b/sys/dev/usb/serial/uipaq.c @@ -43,7 +43,6 @@ * Contact isis@cs.umd.edu if you have any questions/comments about this driver */ -#include #include #include #include diff --git a/sys/dev/usb/serial/ulpt.c b/sys/dev/usb/serial/ulpt.c index b1e4232ff2a3..ec25ad737596 100644 --- a/sys/dev/usb/serial/ulpt.c +++ b/sys/dev/usb/serial/ulpt.c @@ -1,4 +1,3 @@ -#include /* $NetBSD: ulpt.c,v 1.60 2003/10/04 21:19:50 augustss Exp $ */ /*- diff --git a/sys/dev/usb/serial/umcs.c b/sys/dev/usb/serial/umcs.c index 18135e3bf67d..8b9b7807ac61 100644 --- a/sys/dev/usb/serial/umcs.c +++ b/sys/dev/usb/serial/umcs.c @@ -39,7 +39,6 @@ * quad-port mos7840. * */ -#include #include #include #include diff --git a/sys/dev/usb/serial/umct.c b/sys/dev/usb/serial/umct.c index 4329cf293098..bf6c672907e0 100644 --- a/sys/dev/usb/serial/umct.c +++ b/sys/dev/usb/serial/umct.c @@ -1,4 +1,3 @@ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/serial/umodem.c b/sys/dev/usb/serial/umodem.c index 08d3be554915..59aa5b21e85f 100644 --- a/sys/dev/usb/serial/umodem.c +++ b/sys/dev/usb/serial/umodem.c @@ -1,6 +1,5 @@ /* $NetBSD: umodem.c,v 1.45 2002/09/23 05:51:23 simonb Exp $ */ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/serial/uplcom.c b/sys/dev/usb/serial/uplcom.c index 88278ef5790e..1fd73f1f7665 100644 --- a/sys/dev/usb/serial/uplcom.c +++ b/sys/dev/usb/serial/uplcom.c @@ -1,6 +1,5 @@ /* $NetBSD: uplcom.c,v 1.21 2001/11/13 06:24:56 lukem Exp $ */ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index dfae051ecfd6..e62bfdb8ff1d 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -29,7 +29,6 @@ * SUCH DAMAGE. */ -#include /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. * All rights reserved. diff --git a/sys/dev/usb/serial/uslcom.c b/sys/dev/usb/serial/uslcom.c index 1c27788f77ce..26b937d0b200 100644 --- a/sys/dev/usb/serial/uslcom.c +++ b/sys/dev/usb/serial/uslcom.c @@ -1,6 +1,5 @@ /* $OpenBSD: uslcom.c,v 1.17 2007/11/24 10:52:12 jsg Exp $ */ -#include /* * Copyright (c) 2006 Jonathan Gray * diff --git a/sys/dev/usb/serial/uvscom.c b/sys/dev/usb/serial/uvscom.c index ee34f0ad3f3d..b9add5c1b37b 100644 --- a/sys/dev/usb/serial/uvscom.c +++ b/sys/dev/usb/serial/uvscom.c @@ -1,6 +1,5 @@ /* $NetBSD: usb/uvscom.c,v 1.1 2002/03/19 15:08:42 augustss Exp $ */ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c index 9137f3eb895e..58f36e756dce 100644 --- a/sys/dev/usb/storage/umass.c +++ b/sys/dev/usb/storage/umass.c @@ -1,4 +1,3 @@ -#include /*- * SPDX-License-Identifier: BSD-2-Clause * diff --git a/sys/dev/usb/storage/urio.c b/sys/dev/usb/storage/urio.c index e733ae4dfcba..c13aab44e435 100644 --- a/sys/dev/usb/storage/urio.c +++ b/sys/dev/usb/storage/urio.c @@ -30,7 +30,6 @@ * its contributors. */ -#include /* * 2000/3/24 added NetBSD/OpenBSD support (from Alex Nemirovsky) * 2000/3/07 use two bulk-pipe handles for read and write (Dirk) diff --git a/sys/dev/usb/template/usb_template_multi.c b/sys/dev/usb/template/usb_template_multi.c index 2533459be799..be36e5ea70df 100644 --- a/sys/dev/usb/template/usb_template_multi.c +++ b/sys/dev/usb/template/usb_template_multi.c @@ -37,7 +37,6 @@ * USB template for CDC ACM (serial), CDC ECM (network), and CDC MSC (storage). */ -#include #ifdef USB_GLOBAL_INCLUDE_FILE #include USB_GLOBAL_INCLUDE_FILE #else diff --git a/sys/dev/usb/template/usb_template_serialnet.c b/sys/dev/usb/template/usb_template_serialnet.c index adcc561ccd21..6ee43f7f1f28 100644 --- a/sys/dev/usb/template/usb_template_serialnet.c +++ b/sys/dev/usb/template/usb_template_serialnet.c @@ -37,7 +37,6 @@ * This file contains the USB template for USB Networking and Serial */ -#include #ifdef USB_GLOBAL_INCLUDE_FILE #include USB_GLOBAL_INCLUDE_FILE #else diff --git a/sys/dev/usb/wlan/if_rsu.c b/sys/dev/usb/wlan/if_rsu.c index 997a739562f6..35deed163706 100644 --- a/sys/dev/usb/wlan/if_rsu.c +++ b/sys/dev/usb/wlan/if_rsu.c @@ -15,7 +15,6 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /* * Driver for Realtek RTL8188SU/RTL8191SU/RTL8192SU. * diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c index 48674d84ffe3..b822766f0ba5 100644 --- a/sys/dev/usb/wlan/if_rum.c +++ b/sys/dev/usb/wlan/if_rum.c @@ -18,7 +18,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /*- * Ralink Technology RT2501USB/RT2601USB chipset driver * http://www.ralinktech.com.tw/ diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c index 81f4d172241f..00e005fd7d4d 100644 --- a/sys/dev/usb/wlan/if_run.c +++ b/sys/dev/usb/wlan/if_run.c @@ -17,7 +17,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /*- * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver. * http://www.ralinktech.com/ diff --git a/sys/dev/usb/wlan/if_uath.c b/sys/dev/usb/wlan/if_uath.c index e4493ba50a30..28c176df1f14 100644 --- a/sys/dev/usb/wlan/if_uath.c +++ b/sys/dev/usb/wlan/if_uath.c @@ -50,7 +50,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /*- * Driver for Atheros AR5523 USB parts. * diff --git a/sys/dev/usb/wlan/if_ural.c b/sys/dev/usb/wlan/if_ural.c index c47b8cbeb3ae..260d75a9821d 100644 --- a/sys/dev/usb/wlan/if_ural.c +++ b/sys/dev/usb/wlan/if_ural.c @@ -19,7 +19,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /*- * Ralink Technology RT2500USB chipset driver * http://www.ralinktech.com/ diff --git a/sys/dev/usb/wlan/if_urtw.c b/sys/dev/usb/wlan/if_urtw.c index 1a7a1eba4758..439faeefc408 100644 --- a/sys/dev/usb/wlan/if_urtw.c +++ b/sys/dev/usb/wlan/if_urtw.c @@ -14,7 +14,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include #include "opt_wlan.h" #include diff --git a/sys/dev/usb/wlan/if_zyd.c b/sys/dev/usb/wlan/if_zyd.c index 1815dc04cd09..1a698caef3c5 100644 --- a/sys/dev/usb/wlan/if_zyd.c +++ b/sys/dev/usb/wlan/if_zyd.c @@ -18,7 +18,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include /* * ZyDAS ZD1211/ZD1211B USB WLAN driver. */ From nobody Tue Mar 4 22:47: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 4Z6rRv2JBCz5qrWV; Tue, 04 Mar 2025 22:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6rRv19bzz3sMp; Tue, 04 Mar 2025 22:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741128475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ymCRrgBrqlZskM3JQAMz1wUvk2Y6oBFsr4ep6PtKrEQ=; b=HMx73fF5UWxwu4OvR/aOPVAUoCjzhexeLHcfuRPLRVa1kIlKuXfpavEnpsWPqYxooIGQO6 9bRC4UjV47ahpa0ffo564yRuv1SBr4DEaglV2hD/biOPHVRXDJ1hz0kCdXK5tHGl1NYMff 0IufFDoWTCgKk1AwmgtE76K7lSCVRoclBcFKq69L6aCr62ZUnaBmLTfn4NEDTYZjCn5Lxx pfJJZyvyH2gvOnbCMLLHae3s+3MfEM0lI1U58CXGxeJ04XDcG1gUeqNsUXY1yUGoa6Tafq GEgLGXLj59TosnbVtLpyOq2PX4ZSSQTWZmLtTF/MdPeTjYPYsX+XBoV1hXFbpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741128475; a=rsa-sha256; cv=none; b=nF7mZWT7uWWET5Md8KGIM5NiSNFCQ+uC/75etjt4rxCJeCkAnRffHs4gQ7XSJgPzVWOAMI suxaUBq+qdf3DJDiFl4iLX57+0RQnZlVyPtUpZV0F9KuZgAtXQr9DpUFzYoznYCJe8gAmH b71ekM2U64MxzXENO/u+ShGPdsbb/2ipLseXgXSsXYd6u1pr2K8zspaMbTmVcflfCJmtNW 1YOJkxPO5+hcfm59Z8Qw/FVC9j9DpgkY6RxQMkkjZT9p7fAF4O9/kU7/BQen3Qt0KK4uKo Qz8Cpi8nWc0RsQn515MCj1YCTRxynrfRRnfrbJCkeLreTeyIx0W8ZOWs6fK1AQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741128475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ymCRrgBrqlZskM3JQAMz1wUvk2Y6oBFsr4ep6PtKrEQ=; b=LDhK/+6ysvHAiH6p1DPvykSE9JH5J0Qzzi7RPuB6K8t6okEi8+xfycOwwQkxLwu2ZeKZc2 gitc9BMd6s8cBSNVMj89LuVVoXeE6ZUeHA3IacsyT4zMe2wFGhQlxqYg5z8jbNcCqaJVtS JsAhThkabiTALOAgiIctBdhM0Uu8Co7qW0wdh7A0nalLnGOf3F3ff2lhO9g0a6dA0kP3VE H3iQE0drbxhuBsfKi/Q9Exw2tz9qR9kdFq1PAV85tqN4Ex9fdnzL/kmcQbUuoSg3akovT1 9qlVKF+gxqA7Qhx9ZYCgwz/4S6pafAKk1jzm5FuRrMAAg+lqaqQCYQeJMuFgPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6rRv0VVyzdwK; Tue, 04 Mar 2025 22:47: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 524Mlswh036484; Tue, 4 Mar 2025 22:47:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524Mls87036481; Tue, 4 Mar 2025 22:47:54 GMT (envelope-from git) Date: Tue, 4 Mar 2025 22:47:54 GMT Message-Id: <202503042247.524Mls87036481@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: 5f2893553f3c - main - net80211: fix spelling of Michael (MMIC) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5f2893553f3cde7c1529f9ca3987be378a9b7025 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5f2893553f3cde7c1529f9ca3987be378a9b7025 commit 5f2893553f3cde7c1529f9ca3987be378a9b7025 Author: Bjoern A. Zeeb AuthorDate: 2025-03-04 22:46:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-04 22:46:05 +0000 net80211: fix spelling of Michael (MMIC) Sponsored by: The FreeBSD Foundation MFC after: 3 days Reported by: rm Fixes: d688c20395a9f --- sys/net80211/_ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 2db2fabac3a9..a44dff9ec6f6 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -588,7 +588,7 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_FAIL_MMIC 0x00000080 /* Failed Michael MIC (MMIC) check */ #define IEEE80211_RX_F_DECRYPTED 0x00000100 /* Hardware decrypted */ #define IEEE80211_RX_F_IV_STRIP 0x00000200 /* Decrypted; IV stripped */ -#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; Micheal MIC (MMIC) stripped */ +#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; Michael MIC (MMIC) stripped */ #define IEEE80211_RX_F_SHORTGI 0x00000800 /* This is a short-GI frame */ #define IEEE80211_RX_F_CCK 0x00001000 #define IEEE80211_RX_F_OFDM 0x00002000 From nobody Tue Mar 4 23:31: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 4Z6sPv69lMz5nwwL; Tue, 04 Mar 2025 23:31:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6sPv40r2z3NPk; Tue, 04 Mar 2025 23:31:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741131075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JNnR4qHXCV0WVs9+PE8wD8g+CFsX7LuzjkzFiNo/2Co=; b=P+5hFC2lfDixYiQGnXW4BYxB6rt/HzGtly2Fa0E4TS4VoKq7PM+lvQxwwAqWXeaKQs8ifL h68xhZUFIjI48c0gnxH5xVinro4dCyi229KOH1TKGwxgd34K37s2wyjvZsyp/jkmfidH9+ +ylPi1KQn02cEEHs7iFazlMPepe9TbW7u59Kz4Hiw6KmREUfwrsxHFCj7CKq3O7A/U7VAC eEBFNlKhcELxr8CfubdI3T253i2wvcP77/D6kt5o5H5oxYZzZkyXjwfE3PaK7yyKXmkNxO /ZEOv7aTjZs4UE7GlRVI54GIq0jl3JJZweMvehwEkPXNXiJ8XQh0i0P3RQOFhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741131075; a=rsa-sha256; cv=none; b=Ulf5KMNtJ0c+RzAwuHoejKnYPa21SPVRpBD0EPGb9r9fn4iLq126FBmI5KO7edbbgqtb5B ETwuCnzL0SKUmUeyfCwZMOZGsNFAR85ge/EV0oFfbnslT3JjHVaNNrqfj67E+5yl9DncUL t9H7S28zsVTF7B6MdnI8BvMNCGPzh5ZLgbUyMkFLEfTHWg1RIIFfLcb4XaPiKqGtXZDDre ix5QlWL4iSNj91oQwEgVoa5t3svjsm5r3zStC8uPHt7ryf38EV61Zhw65KVcBVS6ZK+B7a rJ7E31+NWcExLyZY9rhqyf/Xbtax2Nv57N4CNdSWffV/FIvL4L7ZUeYLMUXvaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741131075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JNnR4qHXCV0WVs9+PE8wD8g+CFsX7LuzjkzFiNo/2Co=; b=K/OC5dPmdiGBTcmBqFv6hD4+v4Dw3MK1oSywGtJAdGzata+QET+KcLzJwXA2Fo5P1MQ1g+ bHV6W+I/lJwt21ka9IzWGwtp5HU9ZOz+1o4EQpUHZKZh76nQ19SBSlimyttZI5XjExyQhd fJrmLtfn2IPeVHbWyr/2XSTjpHmyvGuamvoF/kxxRrpzx9er6TC7pdhd4MH4Q7ObGmq1UP LGXepnU5uQe1pxiU9aoSTZE+pP3hbtEewcY4K3xDplheYRFDx0YftzblxM4wwFNjH2VXuw yztG9a6auqebEdldlB0Kha12LsKdmsFgXZtH0JXN5T/pnPZtAfRmKLliHL7MeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6sPv3J2VzgBR; Tue, 04 Mar 2025 23:31: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 524NVFqM022416; Tue, 4 Mar 2025 23:31:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524NVF1W022413; Tue, 4 Mar 2025 23:31:15 GMT (envelope-from git) Date: Tue, 4 Mar 2025 23:31:15 GMT Message-Id: <202503042331.524NVF1W022413@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: eaf3ac81cf12 - main - wlanstats: add man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eaf3ac81cf12bbaecb1d6bce3a8bcdef5b9c0ffc Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=eaf3ac81cf12bbaecb1d6bce3a8bcdef5b9c0ffc commit eaf3ac81cf12bbaecb1d6bce3a8bcdef5b9c0ffc Author: Bjoern A. Zeeb AuthorDate: 2025-02-28 23:45:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-04 23:30:12 +0000 wlanstats: add man page After two decades in tools add a basic man page to wlanstats now that it is in usr.sbin. Most users will likely ever only run it without arguments. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-MFC with: 61ce422531805 Reviewed by: adrian, ziaee Differential Revision: https://reviews.freebsd.org/D49186 --- usr.sbin/wlanstats/Makefile | 2 +- usr.sbin/wlanstats/wlanstats.8 | 67 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/usr.sbin/wlanstats/Makefile b/usr.sbin/wlanstats/Makefile index 60c56d24700b..574a9c27137f 100644 --- a/usr.sbin/wlanstats/Makefile +++ b/usr.sbin/wlanstats/Makefile @@ -1,7 +1,7 @@ .include PROG= wlanstats -MAN= +MAN= wlanstats.8 CFLAGS= -I${SRCTOP}/lib/libbsdstat LIBADD= bsdstat diff --git a/usr.sbin/wlanstats/wlanstats.8 b/usr.sbin/wlanstats/wlanstats.8 new file mode 100644 index 000000000000..e032835bac43 --- /dev/null +++ b/usr.sbin/wlanstats/wlanstats.8 @@ -0,0 +1,67 @@ +.\" +.\" Copyright (c) 2025 The FreeBSD Foundation +.\" +.\" This documentation was written by Björn Zeeb under sponsorship from +.\" the FreeBSD Foundation. +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd February 20, 2025 +.Dt WLANSTATS 8 +.Os +.Sh NAME +.Nm wlanstats +.Nd query 802.11 wireless network statistics +.Sh SYNOPSIS +.Nm +.\" .Op Fl a +.Op Fl h +.Op Fl i Ar ifnet +.Op Fl l +.Op Fl m Ar station MAC address +.Op Fl o Ar fmt +.Op interval +.Sh DESCRIPTION +The +.Nm +command is a tool to query 802.11 statistics for +.Xr wlan 4 +interface. +Running +.Nm +without any options will display the current statistics +for the +.Em wlan0 +network interface. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl h +Print usage and exit. +.It Fl i Ar ifnet +Report information for the specified +.Ar ifnet +instead of the default +.Em wlan0 . +.It Fl l +List all fields names and their descriptions. +.It Fl m Ar station MAC address +Request information for the station specified by the given +.Ar MAC address. +.It Fl o Ar fmt +Set format of fields to query. +This can be either on of the pre-defined tags: +.Em default , +.Em ampdu , or +.Em amsdu +or a comma separated list of field names without space. +.El +.Pp +.Sh SEE ALSO +.Xr ifconfig 8 , +.Xr wlandebug 8 +.Pp +The +.Pa /usr/src/tools/tools/net80211 +directory contains more utilities that might be relevant to debug wireless +issues. From nobody Tue Mar 4 23:56:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6syb22ZRz5nysF; Tue, 04 Mar 2025 23:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6syb0H9Lz3ZXQ; Tue, 04 Mar 2025 23:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741132567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79RZNX/qZgh0LYoD+IceEpa58D4UpN9+UYo/Q/yZH2I=; b=wcO9a3G45zKuU3KQMDqSvE1hW1FqzFWP5elgyB5L+L0q2mnZqEdRqf8Bc7Pcl9lCW6EUI8 2YGkKEfa4jMYINxX6VshJI3LDOH739IJXziWF7R7nQY3NbYpexA3vzZG34rvlec9u9S21n FRxt4LFfCrJdpW6ZkFQOxMe8MSRruzAAopeDD3fnEMPjQr9zlk+rO/q25DvuGpENVgqzeJ BYweihv1I/LFV3XpTOtHYMwsS3nZ5tASnMOKn6zjMhVLjG9V3K28pC/fJSWU5kA86CPDOw Rz54CFUOPMuK4Pzmzg0hL1cB5zUuzqf0ZE4qJ3YaUJuzhRAGAjrQ5coYDrbCow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741132567; a=rsa-sha256; cv=none; b=S72Wpcw06PhZhQWeG2NQA05dQrHKZFalPgQgldOkOh2yuDa6lmwyweaKXfgTj00E4rwpRp fjgson+BKButqtdohmHyhxLZiE2LiYMRE2+ExwjwWzu0OfpfrgaoPjOrrC7wm9RdaBXvcL 3R7qX6apfvTtBDMMuQiCWTFjd4C6Ywf9ShSO9Y/vsgZMWy66QD0rEJ92GdlEEzSJW6idK+ thys5EgfLHAtv0QZTRYENaxS8ewwEzIsLI0/QRKoilfO1Pulno773cccl4GhWY52XV6hN8 SOy+1y33jpVkrIrLwMhIaslMEUl/UIVKpPf6dwB1eOBi9mz7gqesewmNHkrfLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741132567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79RZNX/qZgh0LYoD+IceEpa58D4UpN9+UYo/Q/yZH2I=; b=yfojnSfZWdDC22tDdfsJg6o1t2vcYOG4GCSoV43rxrJqEeRwRb2GGrJoued4yWAleXx8YE LcyqusmQY07MsmuhvvNdJCHXXBc6l2C4n3AV+AJjY6uZ6O+J7nnd6k39eYLRSUaWqgehcX 0FAlIRdoIXBD6dresaFt5c2sa8bBRWrluPoufBeXgXn3mboRHadNQfVoBpbrJP8MdTyXtl gDCq+nlNQIn+3gLxh47axK3TURzGuSmRaFrB+/UleA3ZcGb8vPLLWcIB/u9abP+YpsapWQ SOoRNfbM/6wP+vdYOk422juCznWZld2g++CsEMOGLk9/+vzC1Gtp6vA+wkdWmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6syZ6NBNzgY3; Tue, 04 Mar 2025 23:56: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 524Nu6RB066249; Tue, 4 Mar 2025 23:56:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524Nu6jx066246; Tue, 4 Mar 2025 23:56:06 GMT (envelope-from git) Date: Tue, 4 Mar 2025 23:56:06 GMT Message-Id: <202503042356.524Nu6jx066246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dave Cottlehuber Subject: git: 0ce9a414adc3 - main - release: add cloudware oracle targets to package and upload .oci 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: dch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ce9a414adc33af29607adbd81e0760e014fcd76 Auto-Submitted: auto-generated The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=0ce9a414adc33af29607adbd81e0760e014fcd76 commit 0ce9a414adc33af29607adbd81e0760e014fcd76 Author: Dave Cottlehuber AuthorDate: 2025-03-04 23:56:00 +0000 Commit: Dave Cottlehuber CommitDate: 2025-03-04 23:56:00 +0000 release: add cloudware oracle targets to package and upload .oci files - requires base tar & flua, qemu-tools & curl from ports - set ORACLE_PAR_URL to upload to local file:/// dir or cloud buckets Reviewed by: emaste Approved by: cperciva Differential Revision: https://reviews.freebsd.org/D48382 Sponsored by: SkunkWerks, GmbH --- release/Makefile.oracle | 101 +++++++++++++++++++++ release/Makefile.vm | 1 + .../oracle/arm64_shape_compatibilities.json | 24 +++++ .../oracle/default_shape_compatibilities.json | 1 + release/scripts/oracle/generate_metadata.lua | 74 +++++++++++++++ release/scripts/oracle/image_capability_data.json | 96 ++++++++++++++++++++ release/scripts/oracle/image_metadata.json | 21 +++++ 7 files changed, 318 insertions(+) diff --git a/release/Makefile.oracle b/release/Makefile.oracle new file mode 100644 index 000000000000..b4f3bbdf86f2 --- /dev/null +++ b/release/Makefile.oracle @@ -0,0 +1,101 @@ +#D48382 +# Makefile for preparing & uploading Oracle Cloud images from existing +# .raw files created by cloudware-release. +# +# Overview: +# +# The base image is already created by cloudware-release. +# +# Construct the custom OCI metadata, derived from exported official OCI images. +# It is architecture-specific but appears mostly stable over time. +# Compress the raw image and place it in the same directory as the metadata. +# Make a GNU format tarball of these files. +# Upload the tarball to Oracle Cloud via a pre-approved curl URI, into +# the FreeBSD Foundation's Oracle Cloud account. +# +# These images go into the "re" bucket in us-ashburn-1 region, which +# is mounted into the FreeBSD Foundation Oracle Marketplace account. +# Once uploaded, a manual step is needed to import the images as local +# custom images. These can then be tested within the us-ashburn-1 region. +# Once tested, follow the manual Oracle Marketplace import process to +# create a new FreeBSD version, attach the images, and initiate validation +# by Oracle. This can take up to 5 working days. Once complete, a final +# manual step is needed to mark the currently private images, public. +# Syncing to all sites should take 2-3 hours after this final step. + +ORACLE_BASENAME= ${OSRELEASE}-${BUILDDATE}${GITREV:C/^(.+)/-\1/} +ORACLE_PORTS_LIST= ftp/curl emulators/qemu@tools +CLEANFILES+= cw-oracle-portinstall + +cw-oracle-portinstall: .PHONY +.if !exists(/usr/local/bin/curl) || !exists(/usr/local/bin/qemu-img) +. if !exists(${PORTSDIR}/Makefile) +. if !exists(/usr/local/sbin/pkg-static) + env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf +. endif + env ASSUME_ALWAYS_YES=yes pkg install -y ${ORACLE_PORTS_LIST} +. else + env UNAME_r=${UNAME_r} make -C \ + ${PORTSDIR}/ftp/curl \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean + env UNAME_r=${UNAME_r} FLAVOR=tools make -C \ + ${PORTSDIR}/emulators/qemu \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean +. endif +.endif + +.for _FS in ${ORACLE_FSLIST} +ORACLE_OCI_LIST+= cw-oracle-${_FS}.oci +ORACLE_UPLOAD_LIST+= cw-oracle-upload-${_FS} +CLEANFILES+= cw-oracle-${_FS}.oci +ORACLE_TMP_${_FS}= cw-oracle-${_FS}.oci.tmpdir +CLEANDIRS+= ${ORACLE_TMP_${_FS}} +ORACLE_METADATA= ${.CURDIR}/scripts/oracle +ORACLE_CAPABILITY= ${.CURDIR}/scripts/oracle/image_capability_data.json +ORACLE_TEMPLATE= ${.CURDIR}/scripts/oracle/image_metadata.json +ORACLE_OUTPUT_${_FS}= ${ORACLE_TMP_${_FS}}/image_metadata.json +.if ${TARGET} == "arm64" +ORACLE_SHAPES= ${ORACLE_METADATA}/arm64_shape_compatibilities.json +.else +ORACLE_SHAPES= ${ORACLE_METADATA}/default_shape_compatibilities.json +.endif + +cw-oracle-${_FS}.oci: cw-oracle-portinstall cw-oracle-${_FS}-raw + mkdir -p ${ORACLE_TMP_${_FS}} + # create architecture-specific JSON metadata + env TYPE="${TYPE}" \ + OSRELEASE="${OSRELEASE}" \ + ORACLE_CAPABILITY="${ORACLE_CAPABILITY}" \ + ORACLE_SHAPES="${ORACLE_SHAPES}" \ + ORACLE_TEMPLATE="${ORACLE_TEMPLATE}" \ + ORACLE_OUTPUT="${ORACLE_OUTPUT_${_FS}}" \ + ${ORACLE_METADATA}/generate_metadata.lua + + # convert raw to native qcow2 for zstd compression, saves ~ 8GiB + qemu-img convert -S 512b -p -O qcow2 -c -o compression_type=zstd \ + ${.OBJDIR}/${ORACLE${_FS:tu}RAWIMAGE} \ + ${ORACLE_TMP_${_FS}}/output.QCOW2 + + # Create GNU-compatible tarball using BSD tar + tar --format=gnutar -cf ${.TARGET} -C ${ORACLE_TMP_${_FS}} \ + image_metadata.json output.QCOW2 + + echo "Oracle image ${.TARGET} is ready for upload." + +cw-oracle-upload-${_FS}: cw-oracle-${_FS}.oci +.if !defined(ORACLE_PAR_URL) || empty(ORACLE_PAR_URL) + @echo "--------------------------------------------------------------" + @echo ">>> ORACLE_PAR_URL must be set for Oracle image upload" + @echo ">>> for testing, use a file:/// URL to a local directory" + @echo "--------------------------------------------------------------" + @false +.endif + echo "Please wait ... uploading cw-oracle-${_FS}.oci to ${ORACLE_BASENAME}-${_FS}.oci" + curl -s ${ORACLE_PAR_URL}/${ORACLE_BASENAME}-${_FS}.oci --upload-file cw-oracle-${_FS}.oci + echo "Uploaded cw-oracle-${_FS}.oci as ${ORACLE_BASENAME}-${_FS}.oci" + touch ${.TARGET} +.endfor + +cw-oracle-upload: cw-oracle-portinstall ${ORACLE_UPLOAD_LIST} diff --git a/release/Makefile.vm b/release/Makefile.vm index 5aa506ff6787..ec3e734285ce 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -274,5 +274,6 @@ cloudware-release: .include "${.CURDIR}/Makefile.ec2" .include "${.CURDIR}/Makefile.firecracker" .include "${.CURDIR}/Makefile.gce" +.include "${.CURDIR}/Makefile.oracle" .include "${.CURDIR}/Makefile.vagrant" .include "${.CURDIR}/Makefile.inc1" diff --git a/release/scripts/oracle/arm64_shape_compatibilities.json b/release/scripts/oracle/arm64_shape_compatibilities.json new file mode 100644 index 000000000000..dfd066b5474f --- /dev/null +++ b/release/scripts/oracle/arm64_shape_compatibilities.json @@ -0,0 +1,24 @@ +[ + { + "internalShapeName": "VM.Standard.A1.Flex", + "ocpuConstraints": { + "min": 1, + "max": 80 + }, + "memoryConstraints": { + "minInGBs": 1, + "maxInGBs": 512 + } + }, + { + "internalShapeName": "VM.Standard.A2.Flex", + "ocpuConstraints": { + "min": 1, + "max": 78 + }, + "memoryConstraints": { + "minInGBs": 1, + "maxInGBs": 946 + } + } +] diff --git a/release/scripts/oracle/default_shape_compatibilities.json b/release/scripts/oracle/default_shape_compatibilities.json new file mode 100644 index 000000000000..fe51488c7066 --- /dev/null +++ b/release/scripts/oracle/default_shape_compatibilities.json @@ -0,0 +1 @@ +[] diff --git a/release/scripts/oracle/generate_metadata.lua b/release/scripts/oracle/generate_metadata.lua new file mode 100755 index 000000000000..751b9680cc29 --- /dev/null +++ b/release/scripts/oracle/generate_metadata.lua @@ -0,0 +1,74 @@ +#!/usr/libexec/flua + +local ucl = require("ucl") + +-- read from environment variables +local os_type = os.getenv("TYPE") +local os_version = os.getenv("OSRELEASE") +-- the raw file +local capability_file = os.getenv("ORACLE_CAPABILITY") +-- the platform-specific file +local shapes_file = os.getenv("ORACLE_SHAPES") +-- base template +local template_file = os.getenv("ORACLE_TEMPLATE") +local output_file = os.getenv("ORACLE_OUTPUT") + +if not os_type or not os_version or not capability_file or + not shapes_file or not template_file or not output_file then + io.stderr:write("Error: Oracle metadata script is missing required environment variables:\n") + io.stderr:write("TYPE, OSRELEASE, ORACLE_CAPABILITY, ORACLE_SHAPES, ORACLE_TEMPLATE, ORACLE_OUTPUT\n") + os.exit(1) +end + +-- read files +local function read_file(path) + local f = io.open(path, "r") + if not f then + io.stderr:write("Error: Oracle metadata script cannot open file: " .. path .. "\n") + os.exit(1) + end + local content = f:read("*a") + f:close() + return content +end + +-- parse the template +local template = read_file(template_file) +local metadata = ucl.parser() +metadata:parse_string(template) +local data = metadata:get_object() + +-- update the simple fields +data.operatingSystem = os_type +data.operatingSystemVersion = os_version + +-- capability data is actually JSON, but needs to be inserted as a raw blob +local caps = read_file(capability_file) +-- remove all newlines and preceding spaces to match Oracle's format +caps = caps:gsub("\n", "") +caps = caps:gsub("%s+", "") +-- is it still valid JSON? +local caps_parser = ucl.parser() +if not caps_parser:parse_string(caps) then + io.stderr:write("Error: Oracle metadata script found invalid JSON in capability file\n") + os.exit(1) +end +-- insert as a raw blob +data.imageCapabilityData = caps + +-- parse and insert architecture-dependent shape compatibilities data +local shapes_data = read_file(shapes_file) +local shapes = ucl.parser() +shapes:parse_string(shapes_data) +data.additionalMetadata.shapeCompatibilities = shapes:get_object() + +-- save the metadata file +local dir = os.getenv("PWD") +local out = io.open(output_file, "w") +if not out then + io.stderr:write("Error: Oracle metadata script cannot create output file: " + .. dir .. "/" .. output_file .. "\n") + os.exit(1) +end +out:write(ucl.to_format(data, "json", {pretty = true})) +out:close() diff --git a/release/scripts/oracle/image_capability_data.json b/release/scripts/oracle/image_capability_data.json new file mode 100644 index 000000000000..01af71f73031 --- /dev/null +++ b/release/scripts/oracle/image_capability_data.json @@ -0,0 +1,96 @@ +{ + "capabilities": { + "Compute.AMD_SecureEncryptedVirtualization": { + "descriptorType": "boolean", + "defaultValue": false + }, + "Storage.BootVolumeType": { + "descriptorType": "enumstring", + "values": [ + "ISCSI", + "PARAVIRTUALIZED", + "SCSI", + "IDE", + "NVME" + ], + "defaultValue": "PARAVIRTUALIZED" + }, + "Storage.Iscsi.MultipathDeviceSupported": { + "descriptorType": "boolean", + "defaultValue": false + }, + "Storage.ParaVirtualization.EncryptionInTransit": { + "descriptorType": "boolean", + "defaultValue": true + }, + "Storage.ConsistentVolumeNaming": { + "descriptorType": "boolean", + "defaultValue": true + }, + "Compute.SecureBoot": { + "descriptorType": "boolean", + "defaultValue": false + }, + "Storage.ParaVirtualization.AttachmentVersion": { + "descriptorType": "enuminteger", + "values": [ + 1, + 2 + ], + "defaultValue": 2 + }, + "Storage.LocalDataVolumeType": { + "descriptorType": "enumstring", + "values": [ + "ISCSI", + "PARAVIRTUALIZED", + "SCSI", + "IDE", + "NVME" + ], + "defaultValue": "PARAVIRTUALIZED" + }, + "Network.AttachmentType": { + "descriptorType": "enumstring", + "values": [ + "PARAVIRTUALIZED", + "VDPA" + ], + "defaultValue": "PARAVIRTUALIZED" + }, + "Storage.RemoteDataVolumeType": { + "descriptorType": "enumstring", + "values": [ + "ISCSI", + "PARAVIRTUALIZED", + "SCSI", + "IDE", + "NVME" + ], + "defaultValue": "PARAVIRTUALIZED" + }, + "Compute.LaunchMode": { + "descriptorType": "enumstring", + "values": [ + "NATIVE", + "EMULATED", + "VDPA", + "PARAVIRTUALIZED", + "CUSTOM" + ], + "defaultValue": "PARAVIRTUALIZED" + }, + "Network.IPv6Only": { + "descriptorType": "boolean", + "defaultValue": false + }, + "Compute.Firmware": { + "descriptorType": "enumstring", + "values": [ + "BIOS", + "UEFI_64" + ], + "defaultValue": "UEFI_64" + } + } +} diff --git a/release/scripts/oracle/image_metadata.json b/release/scripts/oracle/image_metadata.json new file mode 100644 index 000000000000..eaea3dd1cad2 --- /dev/null +++ b/release/scripts/oracle/image_metadata.json @@ -0,0 +1,21 @@ +{ + "version": 2, + "externalLaunchOptions": { + "firmware": "UEFI_64", + "networkType": "PARAVIRTUALIZED", + "bootVolumeType": "PARAVIRTUALIZED", + "remoteDataVolumeType": "PARAVIRTUALIZED", + "localDataVolumeType": "PARAVIRTUALIZED", + "launchOptionsSource": "PARAVIRTUALIZED", + "pvAttachmentVersion": 2, + "pvEncryptionInTransitEnabled": false, + "consistentVolumeNamingEnabled": false + }, + "imageCapabilityData": "REPLACE", + "imageCapsFormatVersion": "23cfd738-ad9c-4f56-9281-67be6c8cd14c", + "operatingSystem": "REPLACE", + "operatingSystemVersion": "REPLACE", + "additionalMetadata": { + "shapeCompatibilities": "REPLACE" + } +} From nobody Wed Mar 5 01:19: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 4Z6vpn6yGKz5p6cY; Wed, 05 Mar 2025 01:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6vpn6DSqz3YF2; Wed, 05 Mar 2025 01:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741137569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOUi7WR4PdRKnRkU95qn2SMG3sOncIEw6fWGMUNx48U=; b=M0+Cxvr19vugCVNnyti4Y7eU5hs6rJvwdBZTXKslMkO3EcvuYQvJ9c7nNauhtKTcuUcsIW HV7dciHmNKMBFSpm0YLoNJ0Oxb6IQux17uRoh4zR15ET5EB7A6aizlih62Yzfe1/stoWSp BIU2htpPWLshvizZoOY7qN/98Hq6t8ddFO4iQIZ/xFnHLUUN8aoMYx9uVwePSbVLgf/+Xx MLbe8B9bWtdQ5drxq3QIchSdolP4BDNpqvD1/+K+4oyRO3SjdgT1+Nn4K9OdmahSBujPl5 gH/2h+dqyAvdlJvpQWBDTOp8Joypv/hS2HaGMoHKS0R/YCyZQrxPiGXj639/AQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741137569; a=rsa-sha256; cv=none; b=Oy7Ja3UQhDp38MQCEpULC1/5MH9uXM/LfBU+/ie49ZNxlVLQOCUFjOU3+D8w8zHfvVmBCU yS67qa61SSlcBHG50d04mKrxMGPc8KFS55RcoxXEzJ4b0gO0bC04cW1QWFvxT/zbdtxYe1 7IZoBUPlh+OlU+MFclzaBtYiLYqGB8kFzpFu6g53uEGe3kV1K8vNCjNbZODtK3n07Y4UiO l3+Mm2Ye22+UWiKWV/jJuDLgtiIGRA+gImyXJ1q/m413uRHtUVBqiFcFP9OPcRFR6hBO+7 7a/whyE9tfUnlfd7qzipqlkne8j91LnqP92aZw5wwJNzprixevC+75FHQI1nsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741137569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOUi7WR4PdRKnRkU95qn2SMG3sOncIEw6fWGMUNx48U=; b=Oq/ALR1nSLBhqLM9CGSVI4jMfbDSGVTp+ANZGhYuZjFi68pLsovGouvvhRtAiM4p0SHHDI i38iqKiVBIFpLDxn3sAnFabOcrf2eRunhjHD34A+dD5wz1kPVE7T3ZMnEfWq2gH9+kzKYr TFQAVROjzrZLbWMLR7ZJLXGL+ifRhpcWcQEyfoDtpNT331Ijc2k1wjhNTVVM6kkk6E4caj 2QjSIvMDl+uB7XcTxkjlhGQ/8O3JSbXNzm4X+dJU6s2uIjf769SNuB+XVcLTiqDEz5Lsk9 wjvesN3wXMdIjzUkG8NPCo0gCJu24vSIzoInRFi9i1/9mflMVDQtZTcciiZSRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6vpn5S04zjtS; Wed, 05 Mar 2025 01:19: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 5251JTJn016471; Wed, 5 Mar 2025 01:19:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5251JT3k016468; Wed, 5 Mar 2025 01:19:29 GMT (envelope-from git) Date: Wed, 5 Mar 2025 01:19:29 GMT Message-Id: <202503050119.5251JT3k016468@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: 8ee127efb045 - main - vm_lowmem: Fix signature mismatches in vm_lowmem callbacks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8ee127efb045caf5ad9522f3c63c7e18f9d7279f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8ee127efb045caf5ad9522f3c63c7e18f9d7279f commit 8ee127efb045caf5ad9522f3c63c7e18f9d7279f Author: SHENGYI HONG AuthorDate: 2025-02-23 17:12:57 +0000 Commit: John Baldwin CommitDate: 2025-03-05 01:18:52 +0000 vm_lowmem: Fix signature mismatches in vm_lowmem callbacks This is required for kernel CFI. Reviewed by: rrs, jhb, glebius Differential Revision: https://reviews.freebsd.org/D49111 --- sys/compat/linuxkpi/common/src/linux_shrinker.c | 2 +- sys/dev/drm2/ttm/ttm_page_alloc.c | 2 +- sys/kern/kern_exec.c | 2 +- sys/netinet/ip_reass.c | 11 ++++++++--- sys/netinet/sctp_pcb.c | 2 +- sys/netinet/tcp_subr.c | 2 +- sys/netinet6/frag6.c | 2 +- sys/netinet6/ip6_var.h | 2 +- sys/ufs/ufs/ufs_dirhash.c | 4 ++-- 9 files changed, 17 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_shrinker.c b/sys/compat/linuxkpi/common/src/linux_shrinker.c index 18200fa0bc01..e06490b92ed1 100644 --- a/sys/compat/linuxkpi/common/src/linux_shrinker.c +++ b/sys/compat/linuxkpi/common/src/linux_shrinker.c @@ -120,7 +120,7 @@ shrinker_shrink(struct shrinker *s) } static void -linuxkpi_vm_lowmem(void *arg __unused) +linuxkpi_vm_lowmem(void *arg __unused, int flags __unused) { struct shrinker *s; diff --git a/sys/dev/drm2/ttm/ttm_page_alloc.c b/sys/dev/drm2/ttm/ttm_page_alloc.c index 7518ecb4dfd1..724ba0bfb4d8 100644 --- a/sys/dev/drm2/ttm/ttm_page_alloc.c +++ b/sys/dev/drm2/ttm/ttm_page_alloc.c @@ -441,7 +441,7 @@ static int ttm_pool_get_num_unused_pages(void) /** * Callback for mm to request pool to reduce number of page held. */ -static int ttm_pool_mm_shrink(void *arg) +static int ttm_pool_mm_shrink(void *arg, int flags __unused) { static unsigned int start_pool = 0; unsigned i; diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 51bbdeaaa55e..f6d0201f9b37 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1475,7 +1475,7 @@ exec_free_args_kva(void *cookie) } static void -exec_args_kva_lowmem(void *arg __unused) +exec_args_kva_lowmem(void *arg __unused, int flags __unused) { SLIST_HEAD(, exec_args_kva) head; struct exec_args_kva *argkva; diff --git a/sys/netinet/ip_reass.c b/sys/netinet/ip_reass.c index a95780aa2f27..177069f5e010 100644 --- a/sys/netinet/ip_reass.c +++ b/sys/netinet/ip_reass.c @@ -670,6 +670,11 @@ ipreass_drain(void) VNET_LIST_RUNLOCK(); } +static void +ipreass_drain_lowmem(void *arg __unused, int flags __unused) +{ + ipreass_drain(); +} /* * Initialize IP reassembly structures. @@ -711,10 +716,10 @@ ipreass_init(void) maxfrags = IP_MAXFRAGS; EVENTHANDLER_REGISTER(nmbclusters_change, ipreass_zone_change, NULL, EVENTHANDLER_PRI_ANY); - EVENTHANDLER_REGISTER(vm_lowmem, ipreass_drain, NULL, + EVENTHANDLER_REGISTER(vm_lowmem, ipreass_drain_lowmem, NULL, + LOWMEM_PRI_DEFAULT); + EVENTHANDLER_REGISTER(mbuf_lowmem, ipreass_drain_lowmem, NULL, LOWMEM_PRI_DEFAULT); - EVENTHANDLER_REGISTER(mbuf_lowmem, ipreass_drain, NULL, - LOWMEM_PRI_DEFAULT); } /* diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 185530e3bc5e..55b452743f86 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -6823,7 +6823,7 @@ sctp_drain_mbufs(struct sctp_tcb *stcb) } static void -sctp_drain(void) +sctp_drain(void *arg __unused, int flags __unused) { struct epoch_tracker et; diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 4baeb6f8f2d2..03efc759092d 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1384,7 +1384,7 @@ deregister_tcp_functions(struct tcp_function_block *blk, bool quiesce, } static void -tcp_drain(void) +tcp_drain(void *ctx __unused, int flags __unused) { struct epoch_tracker et; VNET_ITERATOR_DECL(vnet_iter); diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index e976298bf984..f6bb6e94ed08 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -1078,7 +1078,7 @@ frag6_drain_one(void) } void -frag6_drain(void) +frag6_drain(void *arg __unused, int flags __unused) { VNET_ITERATOR_DECL(vnet_iter); diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h index 1aa170f6ed2b..12b00d4f9934 100644 --- a/sys/netinet6/ip6_var.h +++ b/sys/netinet6/ip6_var.h @@ -414,7 +414,7 @@ int route6_input(struct mbuf **, int *, int); void frag6_init(void); void frag6_destroy(void); int frag6_input(struct mbuf **, int *, int); -void frag6_drain(void); +void frag6_drain(void *, int); void rip6_init(void); int rip6_ctloutput(struct socket *, struct sockopt *); diff --git a/sys/ufs/ufs/ufs_dirhash.c b/sys/ufs/ufs/ufs_dirhash.c index 92f067f5af8c..dd0405d3aeac 100644 --- a/sys/ufs/ufs/ufs_dirhash.c +++ b/sys/ufs/ufs/ufs_dirhash.c @@ -98,7 +98,7 @@ static int ufsdirhash_findslot(struct dirhash *dh, char *name, int namelen, doff_t offset); static doff_t ufsdirhash_getprev(struct direct *dp, doff_t offset); static int ufsdirhash_recycle(int wanted); -static void ufsdirhash_lowmem(void); +static void ufsdirhash_lowmem(void *, int); static void ufsdirhash_free_locked(struct inode *ip); static uma_zone_t ufsdirhash_zone; @@ -1247,7 +1247,7 @@ ufsdirhash_recycle(int wanted) * Callback that frees some dirhashes when the system is low on virtual memory. */ static void -ufsdirhash_lowmem(void) +ufsdirhash_lowmem(void *arg __unused, int flags __unused) { struct dirhash *dh, *dh_temp; int memfreed, memwanted; From nobody Wed Mar 5 01:19: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 4Z6vpq1HTJz5p6hw; Wed, 05 Mar 2025 01:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6vpp6cNKz3YQX; Wed, 05 Mar 2025 01:19:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741137570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liomlupZK3fRH96imfzyrmBNrkjMggCHc+aXEJ4NBSs=; b=PQoIDzdOBHfCQUQnBfmFY46G7yuHdhdJpNfRD6w8Vr3wOaYo4jWMioMBsKXWyPQPv78dXb QJ/8lTfFez/A3OCpDI0PMTcHxRf1d4gR7lTE/LnS/Vs2w+lA577UPV7jTGYMgUq2OoPbpP tYJQO7wpoZjW53M9LkPuQrq3PvIH+o97O6aShrAyyYKg6ATAK2m2w8g3PTe9uuKZQMO50Q ptqeXzRmbpd4kFIm7NU3nAYiSEZe/lZ0JRrLJoz6tKFoaVylP4PyeaCdcGWO+d7RvvO9s+ aWUxQYb5qxAGfUIwW3UXoRmP5LRqLeNCEvFJKRIvTFV46jukWEiRkLjOZqCvUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741137571; a=rsa-sha256; cv=none; b=GdRF0utNIdReGoXVGji5dwBZ88D7vNNAMSSCVUIZlBwdTS2kaPJgT+UdhhFVnlwTDNefYs RDLBYTOlHPUUDJyLQQTnk7+k/a/srpN3ImIavytJ338Cv3xFSuYF24GFDHLWNsiEc+S1d8 94f4KnkmbfcaZTD8jd+bB8l/LNFqAqSj+FobJdJZtUZjYh1PrGPZrdX0ukX70J1ARHrSL1 uEkF81rl5xBrdkaJV9lUcQ1y4Q9KDigUkGriaYqE7qREouJKsjDTfDJCdKwGf8zSFhZ1+p 6IxRDxrv3O8KzCCWI61fS2NH2QabYcSnoO/DB9QgFTIQ1N0R8PxW0ozmXgqmDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741137570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liomlupZK3fRH96imfzyrmBNrkjMggCHc+aXEJ4NBSs=; b=lhE/2oIOHUS8S3Yf98QtYIuGZk1rEDBak5UvnFfuboMpnHhRvAE0ekJZJQQL9bCgaerAaC Eco5oFbCbjh8qb5sScQmdFE3zDn9e3BT9CDR7JqpLIYHHDuPRLnHLq3LVSZyxpqXKetJqv Yqhuw8FORCaDihlW9pu0WzrBVBX7/tjDdRzaiSg8rqQx5nCyvKW6P/5GUHms5IGqunN8XJ 1tGdOIfFQBRp6ruK69frwr3qWesnFeD6GOZT1PAT5VDq7PTDx6n5vv2Jv5JwUs94NRWruQ hTuP4C6M7o2zjy7iML54+CaoYkq623/viOAjLvI7dBdfvr55A/Fisur+BfALbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6vpp62V7zjtT; Wed, 05 Mar 2025 01:19: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 5251JUjQ016504; Wed, 5 Mar 2025 01:19:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5251JUOY016501; Wed, 5 Mar 2025 01:19:30 GMT (envelope-from git) Date: Wed, 5 Mar 2025 01:19:30 GMT Message-Id: <202503050119.5251JUOY016501@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: 22b0052fdd95 - main - geli: Fix signature mismatch in mountroot callback List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 22b0052fdd95f2b4b2a4fc004c4d2a1e310e1195 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=22b0052fdd95f2b4b2a4fc004c4d2a1e310e1195 commit 22b0052fdd95f2b4b2a4fc004c4d2a1e310e1195 Author: SHENGYI HONG AuthorDate: 2025-02-23 17:12:57 +0000 Commit: John Baldwin CommitDate: 2025-03-05 01:19:10 +0000 geli: Fix signature mismatch in mountroot callback This is required for kernel CFI. Reviewed by: rrs, jhb, glebius Differential Revision: https://reviews.freebsd.org/D49111 --- sys/geom/eli/g_eli.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c index a9f356299a8d..5bd2d465183e 100644 --- a/sys/geom/eli/g_eli.c +++ b/sys/geom/eli/g_eli.c @@ -194,7 +194,7 @@ zero_geli_intake_keys(void) } static void -zero_intake_passcache(void *dummy) +zero_intake_passcache(void *dummy __unused) { zero_boot_passcache(); zero_geli_intake_keys(); From nobody Wed Mar 5 05:00: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 4Z70kL41Sgz5pYw8; Wed, 05 Mar 2025 05:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z70kL0ShHz43sg; Wed, 05 Mar 2025 05:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741150858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKSmlFxx79N+dUJb+xiKnGB2H+lFht1pTXVagLNgFvY=; b=XKXmpmbNOB0mwsE1ctR7t+3HRznIPeAMe0nihZCSX+vyxd+JtWI6hj2EekpuDG94nQtTIP YP2/2z/H7bs2RSCuajw/qzezjZxOLwPXEy9Gutrccn7oLuwMeWXTd2B73ru5rBPNQwFM8N QGH1+LQO2YvKftR3uVPrZmX96egU/WfixYpJROektGoMciNmVtxlBFxTqikUgXFKiAzLRF 9AawE5fZDvqn0xIE6YmVzTam9khELmgSNaC96PZkZSgW+PIno7ZDDmTIa8PjR+R37S3+B9 B4aG89T0Ut5Tnol/D9oCeEEzgPK+fNkLh7BXWxPpyRVOrsKKBNLq0cdo70DtnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741150858; a=rsa-sha256; cv=none; b=VPs03ahms4HFWloX8WX4Q4nQVq2kvpDVwDS2tzJD70J6TE62GSOn7284Lq9JXEV895PRfZ loGdaSM/n8CESgtSR9spCIwdy/ChYjtgc8QgUlhX0eosh1V2hzbL7Pf11ObNDAAxJPFmJn h+UBZamRJdV61FIi1HFBkvepNhnaHBySecc19jhX+4NfWsapU1kEHjdT+S7G1qjrG19paQ UQVXS6xaI4lLrAOzD1hzdALXhvYvV3zpgqPK3qoRTBroBRdKP9TYzRoHx3ZoCLHmkIuLnQ Lw6pUJxAHkuf/C6Kwh12iT2KCVzHOTmXbXpshAQDDsY94LnGuVY96c3Osi86sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741150858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKSmlFxx79N+dUJb+xiKnGB2H+lFht1pTXVagLNgFvY=; b=ssYQKoz7n/zqSmyrLi3FxqQGcF8z7I8btESVLM3+MAfTjIKoB+mccZriYMkbNbxtkMaQzR ihwhGr30BlM1iwaMy/HWBfR+lNicJgweRwjU3QXrIkQPOJOnCpEpe0qfY3YzDQpdtOkG0b ObqzHDDX6UkPrOPGIGQoSBFsOC6CoaPQsn9XKYGDGzSTGxGtWC9TJwmfcvwOrLHUWT3bwL hccwitkcrOs7z2qaqysnKc4jbuhZnOoGbUOVLIcH0IKCp7lCH25FhQf6xRsDdxzV9FmxDi Jj6EjKLwAtH+uol+wD92awnIPxiEVMSYwWqzka2S9TvjnDro3Bhg/QB5FVNveA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z70kK0rSvzqHP; Wed, 05 Mar 2025 05:00: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 52550vcH039092; Wed, 5 Mar 2025 05:00:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52550vhk039089; Wed, 5 Mar 2025 05:00:57 GMT (envelope-from git) Date: Wed, 5 Mar 2025 05:00:57 GMT Message-Id: <202503050500.52550vhk039089@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: 2472f4dbe930 - main - udp: Do not recursively enter net epoch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2472f4dbe93049d70afe0897f66f9651b67672e9 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2472f4dbe93049d70afe0897f66f9651b67672e9 commit 2472f4dbe93049d70afe0897f66f9651b67672e9 Author: Zhenlei Huang AuthorDate: 2025-03-05 04:57:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-05 04:57:30 +0000 udp: Do not recursively enter net epoch The only caller udp_send() has already entered net epoch before invoking udp_v4mapped_pktinfo(). No functional change intended. This partially reverts commit d74b7baeb0d4 (ifnet_byindex() actually requires network epoch). Reviewed by: ae, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49227 --- sys/netinet/udp_usrreq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 2c68d0880100..b3d980956b66 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1040,6 +1040,8 @@ udp_v4mapped_pktinfo(struct cmsghdr *cm, struct sockaddr_in * src, struct in6_pktinfo *pktinfo; struct in_addr ia; + NET_EPOCH_ASSERT(); + if ((flags & PRUS_IPV6) == 0) return (0); @@ -1061,11 +1063,7 @@ udp_v4mapped_pktinfo(struct cmsghdr *cm, struct sockaddr_in * src, /* Validate the interface index if specified. */ if (pktinfo->ipi6_ifindex) { - struct epoch_tracker et; - - NET_EPOCH_ENTER(et); ifp = ifnet_byindex(pktinfo->ipi6_ifindex); - NET_EPOCH_EXIT(et); /* XXXGL: unsafe ifp */ if (ifp == NULL) return (ENXIO); } else From nobody Wed Mar 5 09:32:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z76mC65jpz5pWb5; Wed, 05 Mar 2025 09:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z76mC39Y7z3xCV; Wed, 05 Mar 2025 09:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uIptb1NHNDcHsOHJB83oyCE0a8g/+MbF8Z42olsgiCc=; b=itXlitVcU8DZ/GwfvimU/RwtLQUiQaz/vMPGYHoaFAc67k1vTXw4d7YQIWSsaXAedbhkJ+ JO1nTP8RILPQutsSSu4fnGM9DF03LXz+cSzHrsxKLl5o0ZIfCk6KqD8JBwSBu7iZurQzBG KpvaJkJ2UjCN5N9sCxjN+iycPSnfTIOaCMHscfWlXePm/JQsBdSd/0K4P9IRwpJyVE8fnQ OwF98j1cSLE874ph+CzvvxnYSACfYDrswQtVImYwYYCwq+4BXdVXopJ+xvLPwxvB4xH46Y LwmHWfpbcB5Y68Mjz5Wwuk5XA7gAMk/Ca3SBZhOiEn1YyojNbGQX9DucC3y8Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741167179; a=rsa-sha256; cv=none; b=bO5Zhmn2N0b/3Bz8/SzkcIqtvdIyL42A+b+RpUrq97qZItUFYlNSXScylSgfN61p+/haHI 9EaP5kbZc8FEHMwwFgQFSGkdto9/oFfUlrn9OuIX8uIfuf+5BI+1h5f9kaioBIGTpMtfIH RpZ7CiZtWX91iKXNZ4k+zA8b93oEz0kGTM0FJDpkwdlOC+klH2t7ldZ5SIjiLWmvn7RNNX 4YxhJhL2QG05nikJZ9sc0h/Xr063nq1d4gH/iyTSHiqgLkTRQzUCCABJneT7rb01YNzbQk Zy9XY2267X8h3LI/c1IuyGCoqMFXHozxN6B111zyHOGxpxZGsCABUl+sIFf+XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uIptb1NHNDcHsOHJB83oyCE0a8g/+MbF8Z42olsgiCc=; b=Lp6lHIALkqV6ngRi+Pa+zdYZba/9LMn6vh2d9UXITNrayBrNlDNGKQ43xyx8h6q6/xJ211 xszd1e2YDHq43nIl7a71XnvSWj8I+9u9z2YurCA8H/Nl4dLbDeUDx8J6p2JbAsirCp2SL5 Qaar907mOwuhSkkUbwNPxHhtkc2mdu0SUJJl6PdDfZtQPBBWBjZRUU5sNVo412TWmnhCBp gxoG15dIRYmmW/+20QAhdoes5B0KVzF1Zl2ogGBDvKgTozN+V7StVCJ6rejpE9yDmdM+n1 kFOr6SVxYyoxN6aF5k0oKXFFXT08zk2YbErQQ8h+88rJfSGw8ZMgQuhP08CyDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z76mC2dtyzyZJ; Wed, 05 Mar 2025 09:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5259WxXj051846; Wed, 5 Mar 2025 09:32:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5259Wxoe051841; Wed, 5 Mar 2025 09:32:59 GMT (envelope-from git) Date: Wed, 5 Mar 2025 09:32:59 GMT Message-Id: <202503050932.5259Wxoe051841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: b405250c77e6 - main - ipfw: fix dump_soptcodes() handler List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b405250c77e6841a8159a4081d4e0f61e49dfbf8 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=b405250c77e6841a8159a4081d4e0f61e49dfbf8 commit b405250c77e6841a8159a4081d4e0f61e49dfbf8 Author: Andrey V. Elsukov AuthorDate: 2025-03-05 09:29:22 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-03-05 09:29:22 +0000 ipfw: fix dump_soptcodes() handler Use correct indent number to dump registered socket options. It is not currently in use but can be used for debugging. PR: 283970 MFC after: 1 week --- sys/netpfil/ipfw/ip_fw_sockopt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c index 907baafd878d..19f5fff2749a 100644 --- a/sys/netpfil/ipfw/ip_fw_sockopt.c +++ b/sys/netpfil/ipfw/ip_fw_sockopt.c @@ -2555,7 +2555,7 @@ dump_soptcodes(struct ip_fw_chain *chain, ip_fw3_opheader *op3, } olh->size = size; - for (n = 1; n <= count; n++) { + for (n = 0; n < count; n++) { i = (ipfw_sopt_info *)ipfw_get_sopt_space(sd, sizeof(*i)); KASSERT(i != NULL, ("previously checked buffer is not enough")); sh = &ctl3_handlers[n]; From nobody Wed Mar 5 09:38:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z76tC3yKjz5pWnG; Wed, 05 Mar 2025 09:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z76tC3Hcgz411S; Wed, 05 Mar 2025 09:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6g9l5peouzpLUS7X/m1h78YzDf+zJsbJCyh683BK64=; b=WfTLCtxvw/xKe6sXWf6n66DehfefZVhJnTZ8FvvF7+tACizQ4HShTVqd356gsxTMUnaTHO gZC8kNJSi5BQvudvOS9cj3LOa+Tb1xUyI7iYY32/W41E5B25h3x7tmEBLmn2pRZB9IOkpT lj/X7zpBN+InYKStdVADYGCdSMHilGocdhC0KTBuvZ+Rt21L2vhLjBAbz0GeWEzDApRaHo YRFqu4Xu3bvy5BV+zT9q6ZOWhSe2zhoxn+Bx9euS82ouigSbliseHwd+3ef5dIe3gTBVOk HpUeFSUqS45NI1nWZrl2YQuYoi6edPiJcLlzgX2/brXb/8+IjP370eMq6LRCrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741167491; a=rsa-sha256; cv=none; b=foizuar4utMzCz4VW7pwgbHpowA9NwIfD1MGeMNBsw7HoUC+rFwgI5JKiJLmyqvlFQWg3+ tv6R+9nw1E+b00EOduNsY5KubxmBismQOKNR3baaNhaCk897VdYuS/LN3z3axNqireKNCS AH16NpdRQx8IPDDbM8Y3+vJNWGIyfDmg7uAHdGc8Jz3zlYDrm0XxRAy+W1ziTTJytJH/nA Uh6JanIP7uvMnent3C7A/QKR+CZxG/p9AE5UEnbeGKUXEnZk8ZJzAS5DTTRjZV2gDaGIFY sHwc86i172+YPmTaGuvVCPPUYFqwd+mT9aD50cwmGP3TKzgzKDz2+osR2RPn7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6g9l5peouzpLUS7X/m1h78YzDf+zJsbJCyh683BK64=; b=RSFNcpAUGKoiePgH1Jx+2vgqEWXUSoi7q88XOFmALhb+X9QnpSWBDOeAz/S1tyIvjZtpPO Mu9r1DeZ9hlN34L0wOWYCLUQyKLf6msUxHILAKAo+PyLl4jSWmHn9z+G+KZQlaSLg9o/r6 hfGL5Pr/nMlsDGo+G1SKcMS4Qnlt4GPtOIHMmvR9LbDYvc8WaQi4Fmy4tfGkf/voKmB2ZH ON3F8yVLVbSYNaAYTDY5hYjzbPDtexwWYXa7yfVdyBYuPX2DSrGn0NX8asPcy7+9hBq1o1 6NZwMjYqXua56wVHMa6IYNumdhwB7AsOd3Al48kg+ONa2eb1Jwin6/J04zXTsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z76tC2c7WzypH; Wed, 05 Mar 2025 09:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5259cBrj053554; Wed, 5 Mar 2025 09:38:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5259cB6d053551; Wed, 5 Mar 2025 09:38:11 GMT (envelope-from git) Date: Wed, 5 Mar 2025 09:38:11 GMT Message-Id: <202503050938.5259cB6d053551@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: e9a490b10d6c - main - pf: fix ICMP source address translation 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9a490b10d6cf2006bc2442648f8b2de39aacc5f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e9a490b10d6cf2006bc2442648f8b2de39aacc5f commit e9a490b10d6cf2006bc2442648f8b2de39aacc5f Author: Kristof Provost AuthorDate: 2025-03-04 16:13:38 +0000 Commit: Kristof Provost CommitDate: 2025-03-05 09:37:56 +0000 pf: fix ICMP source address translation for nat64 While handling an ICMP error related to another state (e.g. TTL expired, port closed, fragmentation needed, ...) we can't just use the state's source address as the ICMP source address. We have to translate the IPv4 address back to an IPv6 nat64 address. Failing to do so breaks things like traceroute, where the intermediate router generates an ICMP error message, and the traceroute tool uses the source address to build the path. Use the state's source address to figure out the prefix, and copy the IPv4 IP address to the last bytes to construct the mapped IPv6 address. PR: 284944 Sponsored by: Rubicon Communications, LLC ("Netgate") In collaboration with: sashan , dac07517c7 Differential Revision: https://reviews.freebsd.org/D49143 --- sys/netpfil/pf/pf.c | 72 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index e0b664772544..2b28474f36c6 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8025,10 +8025,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - if (nk->af == AF_INET) - pd->proto = IPPROTO_ICMP; - else - pd->proto = IPPROTO_ICMPV6; pf_change_ap(pd->m, pd2.src, &th.th_sport, pd->ip_sum, &th.th_sum, &nk->addr[pd2.sidx], nk->port[sidx], 1, pd->af, nk->af); @@ -8036,10 +8032,24 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->ip_sum, &th.th_sum, &nk->addr[pd2.didx], nk->port[didx], 1, pd->af, nk->af); m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); - PF_ACPY(pd->src, - &nk->addr[pd2.sidx], nk->af); - PF_ACPY(pd->dst, + PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], + nk->af); + PF_ACPY(&pd->ndaddr, &nk->addr[pd2.didx], nk->af); + if (nk->af == AF_INET) { + pd->proto = IPPROTO_ICMP; + } else { + pd->proto = IPPROTO_ICMPV6; + /* + * IPv4 becomes IPv6 so we must + * copy IPv4 src addr to least + * 32bits in IPv6 address to + * keep traceroute/icmp + * working. + */ + pd->nsaddr.addr32[3] = + pd->src->addr32[0]; + } pd->naf = nk->af; return (PF_AFRT); } @@ -8148,10 +8158,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - if (nk->af == AF_INET) - pd->proto = IPPROTO_ICMP; - else - pd->proto = IPPROTO_ICMPV6; pf_change_ap(pd->m, pd2.src, &uh.uh_sport, pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.sidx], nk->port[sidx], 1, pd->af, nk->af); @@ -8164,6 +8170,20 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, &nk->addr[pd2.didx], nk->af); + if (nk->af == AF_INET) { + pd->proto = IPPROTO_ICMP; + } else { + pd->proto = IPPROTO_ICMPV6; + /* + * IPv4 becomes IPv6 so we must + * copy IPv4 src addr to least + * 32bits in IPv6 address to + * keep traceroute/icmp + * working. + */ + pd->nsaddr.addr32[3] = + pd->src->addr32[0]; + } pd->naf = nk->af; return (PF_AFRT); } @@ -8288,17 +8308,27 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - if (nk->af == AF_INET) - pd->proto = IPPROTO_ICMP; - else - pd->proto = IPPROTO_ICMPV6; sh.src_port = nk->port[sidx]; sh.dest_port = nk->port[didx]; m_copyback(pd2.m, pd2.off, sizeof(sh), (c_caddr_t)&sh); - PF_ACPY(pd->src, + PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); - PF_ACPY(pd->dst, + PF_ACPY(&pd->ndaddr, &nk->addr[pd2.didx], nk->af); + if (nk->af == AF_INET) { + pd->proto = IPPROTO_ICMP; + } else { + pd->proto = IPPROTO_ICMPV6; + /* + * IPv4 becomes IPv6 so we must + * copy IPv4 src addr to least + * 32bits in IPv6 address to + * keep traceroute/icmp + * working. + */ + pd->nsaddr.addr32[3] = + pd->src->addr32[0]; + } pd->naf = nk->af; return (PF_AFRT); } @@ -8427,6 +8457,14 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, &nk->addr[pd2.didx], nk->af); + /* + * IPv4 becomes IPv6 so we must copy + * IPv4 src addr to least 32bits in + * IPv6 address to keep traceroute + * working. + */ + pd->nsaddr.addr32[3] = + pd->src->addr32[0]; pd->naf = nk->af; return (PF_AFRT); } From nobody Wed Mar 5 09:38:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z76tD50C0z5pWkt; Wed, 05 Mar 2025 09:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z76tD3Dl9z40tJ; Wed, 05 Mar 2025 09:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oam/PQNofK8ZHAK2V57+dplOt+NsXUZ6tnvlr/AWoXg=; b=xNQ1SI9astsxDDgiiHE7HCcgcINlXfpwQnJQ1powNBB2ErjSxYusLTmCPV6dsrapV3q1Ic dGVjRoLfJBHtWwZMTGlz99ZBWWL6OQq6fO2Se/iOhyFzjvTz5Bbf+4eiDpgip1Dl/H+kXN ghCwLThicioy2SEyOkr4SYJBUKZvJTPBiSfRyyRZRFlFuVG9erpq+XOjnhmt4OkS4PnpyH MDUKtsUyiOBWmk/FQs2/oKevpV8SoNSS8rAlFeUcUJ+TykDDyKRy4M17GG04bUV3+0ot9J B1Hn60iGe25FWeCCaV3GzuRj37Siwh6jEpTv7rA9nmcuKp7CqZGu04wy3x4GWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741167492; a=rsa-sha256; cv=none; b=t9qz06luFgow6kM56nc64yCrI9g/XArmFu7Uw6Fsn3HAbb3PSsPTJriAbS9qpDZjPihD4Y n7rdjUqAA+cSlVKlIY2PV+XOCHEZw21P2Z4fKKz5thc31PfJ5LxxNGjn35c/CE7/b0/3w8 9e+ud7+d7u8B3Ty/b1Vpre4ZaqBzLhgzfPJW/XWM6eWktNy/UZiTMbVvtM1XbiW3EoG2oC wlU70y9uP1cY3Wqz+mP4U3vemfsRiwcBtRyoQFRGAjhNvYwow2FGmLk+TvzMCtmGQ9D92w E3toXIFpOQHLJwfyc7L+6mjW5BkRfyZbSnnHu1mcxVxuKfqx5OSpclCS++SzxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oam/PQNofK8ZHAK2V57+dplOt+NsXUZ6tnvlr/AWoXg=; b=euXCOG1S0CI1FN++cB/tUvqnh+z8x7qQ+cQH6yo3LPfFzTHQIbRmt5bEFKQDne5ARYm8Jb 0XKUgs3+smssii9KHE9gHDSWLtE13bWDvl0VZ630AVAU5w3gmvv0ta4wvuhZxjg2mQ98Nk ICfEIG3veoCiQNFhefH1fmmDONEGfkfh6sP8g6kZ3BC2qs8EXZ8I75l2ZWmRS2NfK6hobv 5QPFW4TNB81Eso3lSGBUNT3l8pV5GlqVCyuCEhvEnbXH1cEt0J3Nsq1jyE3yvNni0ue8tB /SssDcWVjzGQzRD8n+vzAsTnx91yS1y5b25uuHdXcFqvrJ+Ijo6mrSsrvmlfVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z76tD2qnSzySh; Wed, 05 Mar 2025 09:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5259cC93053587; Wed, 5 Mar 2025 09:38:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5259cCKd053584; Wed, 5 Mar 2025 09:38:12 GMT (envelope-from git) Date: Wed, 5 Mar 2025 09:38:12 GMT Message-Id: <202503050938.5259cCKd053584@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: 2f77491169ca - main - pf tests: test ICMP error translation with 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f77491169cacafd269fb653bec11087d85af035 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2f77491169cacafd269fb653bec11087d85af035 commit 2f77491169cacafd269fb653bec11087d85af035 Author: Kristof Provost AuthorDate: 2025-02-25 13:20:18 +0000 Commit: Kristof Provost CommitDate: 2025-03-05 09:37:57 +0000 pf tests: test ICMP error translation with nat64 Ensure that when we translate an ICMPv4 to ICMPv6 message we set the correct source IP address. PR: 284944 Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49144 --- tests/sys/netpfil/pf/nat64.py | 94 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/pf/nat64.py b/tests/sys/netpfil/pf/nat64.py index 070b7a82e6d9..42ab29a5aa0a 100644 --- a/tests/sys/netpfil/pf/nat64.py +++ b/tests/sys/netpfil/pf/nat64.py @@ -28,19 +28,38 @@ import pytest import selectors import socket import sys +import threading +import time from atf_python.sys.net.tools import ToolsHelper from atf_python.sys.net.vnet import VnetTestTemplate +class DelayedSend(threading.Thread): + def __init__(self, packet): + threading.Thread.__init__(self) + self._packet = packet + + self.start() + + def run(self): + import scapy.all as sp + time.sleep(1) + sp.send(self._packet) + class TestNAT64(VnetTestTemplate): REQUIRED_MODULES = [ "pf" ] TOPOLOGY = { "vnet1": {"ifaces": ["if1"]}, "vnet2": {"ifaces": ["if1", "if2"]}, - "vnet3": {"ifaces": ["if2"]}, + "vnet3": {"ifaces": ["if2", "if3"]}, + "vnet4": {"ifaces": ["if3"]}, "if1": {"prefixes6": [("2001:db8::2/64", "2001:db8::1/64")]}, "if2": {"prefixes4": [("192.0.2.1/24", "192.0.2.2/24")]}, + "if3": {"prefixes4": [("198.51.100.1/24", "198.51.100.2/24")]} } + def vnet4_handler(self, vnet): + ToolsHelper.print_output("/sbin/route add default 198.51.100.1") + def vnet3_handler(self, vnet): ToolsHelper.print_output("/sbin/sysctl net.inet.ip.forwarding=1") ToolsHelper.print_output("/sbin/sysctl net.inet.ip.ttl=62") @@ -155,7 +174,7 @@ class TestNAT64(VnetTestTemplate): import scapy.all as sp - packet = sp.IPv6(dst="64:ff9b::198.51.100.3") \ + packet = sp.IPv6(dst="64:ff9b::203.0.113.2") \ / sp.UDP(dport=1222) / sp.Raw("bar") reply = sp.sr1(packet, timeout=3) print(reply.show()) @@ -193,3 +212,74 @@ class TestNAT64(VnetTestTemplate): udp = reply.getlayer(sp.UDP) assert udp assert udp.chksum != 0 + + def common_test_source_addr(self, packet): + vnet = self.vnet_map["vnet1"] + sendif = vnet.iface_alias_map["if1"].name + + import scapy.all as sp + + print("Outbound:\n") + packet.show() + + s = DelayedSend(packet) + + # We expect an ICMPv6 error here, where we'll verify the source address of + # the outer packet + packets = sp.sniff(iface=sendif, timeout=5) + + for reply in packets: + print("Reply:\n") + reply.show() + icmp = reply.getlayer(sp.ICMPv6TimeExceeded) + if not icmp: + continue + + ip = reply.getlayer(sp.IPv6) + assert icmp + assert ip.src == "64:ff9b::c000:202" + return + + # If we don't find the packet we expect to see + assert False + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_source_addr_tcp(self): + ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") + import scapy.all as sp + + packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ + / sp.TCP(sport=1111, dport=2222, flags="S") + self.common_test_source_addr(packet) + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_source_addr_udp(self): + ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") + import scapy.all as sp + + packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ + / sp.UDP(sport=1111, dport=2222) / sp.Raw("foo") + self.common_test_source_addr(packet) + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_source_addr_sctp(self): + ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") + import scapy.all as sp + + packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ + / sp.SCTP(sport=1111, dport=2222) \ + / sp.SCTPChunkInit(init_tag=1, n_in_streams=1, n_out_streams=1, a_rwnd=1500) + self.common_test_source_addr(packet) + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_source_addr_icmp(self): + ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") + import scapy.all as sp + + packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ + / sp.ICMPv6EchoRequest() / sp.Raw("foo") + self.common_test_source_addr(packet) From nobody Wed Mar 5 09:38: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 4Z76tG03SGz5pWL7; Wed, 05 Mar 2025 09:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z76tF4QpRz41Bs; Wed, 05 Mar 2025 09:38:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1KUxfj56igzWL1WGEZ8ZoXd2p8gew80eyXiu6GEVAI=; b=cW5JbZ2uMt29kbib2ajuohcuVlNQDfmMdSXCTTi79Firl09kO6C/DjSn0JOaQ4CzbEHIPF QjRkNsJuqa/7O4pQXWTA3D2hFTTRRciiXUJV++p9SdwQwLQpVu0EVif+8zxPpf73q+Wt58 HKUb92csw+tWspv6qhvvDvUapcApNnFRiFSm8y//GKaPttJx6yAi0tL+Gtnaey2yQGUZd/ J+ZweC6WQnnjJVlMEgNzUlhdNjCL8k6M+eZdLOrg16aJR4mmbSv6FTWweJT4pFkHDC1n9I 7uNdc03Z80Py9PWrdSPzaW6GfuMoaKBxrvp+JrsZu1Q2Ne3DAK2Rc2mE9QU7YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741167493; a=rsa-sha256; cv=none; b=heas8hyHXmbi2XAxh85ah/uSxvJAukZGlimfY5Mp7TuNjxhJswwjr8yS8fZdh3eCzRgfn9 haWKHA9oUoPH+9I9/bEQFapkVf/DL9MKY3GBkIKAit4ip8mkoHOX4Js8hbzLXeBckHl9IO x54VmsEWUToBUPSSeArPuJBGp8cddPDAOwcD0FWwJBl5vxiXaCrp/OYeehadyh9rQ5lNof 7VQoj4mIAPJhYoIO/RrxPlJ3rL0uzRgl9HCrqu/lSoH4BzEtlWrHgxED9uKuJF0uKd/aav dIECHtCto5uwvTxVOboLDqA2EcoGl5/A+rypjb0YJ0SkFhtZ+rChLm65G2UT9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741167493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1KUxfj56igzWL1WGEZ8ZoXd2p8gew80eyXiu6GEVAI=; b=QCG0IlJ0eQOy4ApKo8iMp22DnFF6MyL5SUIN3Hhr7Skj/pqa8/BiTrvHrxJe6o3BxLYeSZ 2zXf+ClufFWmn2BkHl35JFoIhktxINSWs8M/jP8GsOu2CpP1nKiOXyZ84y8jec1YkRFIo/ 1xq5/2mBn7JWBkKgWlZG4KvfzM2yyVw3MUr2u/BmiK++aM673fKMlLOzbUE9t8BS10wEUr dJUL3YMUROyWxlpEgNJaFTfyTlHPVg8lvifzh5CL0UUg1Fb15rF5q3EM1jIXxSl67Bu19c ZhlChbLpSWeS54N3ma0bK7YsSkdkMQub0DQjXRdMyFLBhITlwJqNvzZuXNy1EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z76tF3SVCzycw; Wed, 05 Mar 2025 09:38: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 5259cDKm053624; Wed, 5 Mar 2025 09:38:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5259cDVC053621; Wed, 5 Mar 2025 09:38:13 GMT (envelope-from git) Date: Wed, 5 Mar 2025 09:38:13 GMT Message-Id: <202503050938.5259cDVC053621@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: 6e7f24e0a526 - main - pf: fix nat64 ICMP translation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6e7f24e0a5262d7e040f4f6e9167c544e006176d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6e7f24e0a5262d7e040f4f6e9167c544e006176d commit 6e7f24e0a5262d7e040f4f6e9167c544e006176d Author: Kristof Provost AuthorDate: 2025-03-04 13:51:09 +0000 Commit: Kristof Provost CommitDate: 2025-03-05 09:37:57 +0000 pf: fix nat64 ICMP translation Fix more incorrect use of the iih pointer, this time causing corruption in nat64 translated ICMP error messages. Extend the relevant test case to catch this bug. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49231 --- sys/netpfil/pf/pf.c | 4 ++-- tests/sys/netpfil/pf/nat64.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 2b28474f36c6..3bf7e0e2077c 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8452,7 +8452,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, nk->port[iidx] != iih->icmp_id) iih->icmp_id = nk->port[iidx]; m_copyback(pd2.m, pd2.off, ICMP_MINLEN, - (c_caddr_t)&iih); + (c_caddr_t)iih); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8579,7 +8579,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, nk->port[iidx] != iih->icmp6_id) iih->icmp6_id = nk->port[iidx]; m_copyback(pd2.m, pd2.off, - sizeof(struct icmp6_hdr), (c_caddr_t)&iih); + sizeof(struct icmp6_hdr), (c_caddr_t)iih); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, diff --git a/tests/sys/netpfil/pf/nat64.py b/tests/sys/netpfil/pf/nat64.py index 42ab29a5aa0a..e64b7bbd573b 100644 --- a/tests/sys/netpfil/pf/nat64.py +++ b/tests/sys/netpfil/pf/nat64.py @@ -238,7 +238,7 @@ class TestNAT64(VnetTestTemplate): ip = reply.getlayer(sp.IPv6) assert icmp assert ip.src == "64:ff9b::c000:202" - return + return reply # If we don't find the packet we expect to see assert False @@ -282,4 +282,6 @@ class TestNAT64(VnetTestTemplate): packet = sp.IPv6(dst="64:ff9b::198.51.100.2", hlim=1) \ / sp.ICMPv6EchoRequest() / sp.Raw("foo") - self.common_test_source_addr(packet) + reply = self.common_test_source_addr(packet) + icmp = reply.getlayer(sp.ICMPv6EchoRequest) + assert icmp From nobody Wed Mar 5 12:28: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 4Z7Bft4jPLz5pqGX; Wed, 05 Mar 2025 12:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7Bft3c77z3Gwj; Wed, 05 Mar 2025 12:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741177718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NtqB0xbyza9nZli0JyffMYqxb0RO9t7b01xwPYpIaak=; b=UO/+Hb/9t6km+FeSFkXH56c8E3+rOZ/su1bDuo+IPxumFZZDn7w8p+Ck5HMe3eSVBeKXmX NkxQhslJGQlD26ub8ET1pAWJvx5RKS6vSvtP2+t0U6a2pL6GOi7FTf9/ck+r41c0vHTFaq P2MkftMAf/Lat0aVdS1NIUkf5BRSnqJiJUhaKsZaQ5R4sNufBo0uMAu02IB7pdsMLxi3qV MDq+hi+1imgy4ra4sy17Pp/iJLrcIakG3ZPPwQuoLV6UNzXV/DDvjM6TVWwKFy2uXrGWGA jsvnDSF9LgyIG+yu/PyOG248Zt3dQKXV87sVYUcGcRng5QUpW0ZZ1zHcHDvBzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741177718; a=rsa-sha256; cv=none; b=AxBJrlqCk29ji5JoXTeEFQ4YfH1qr2qtHxWWUCC+9Je+SfhfyOy14Ns3HaWpTf+WJiYrp3 mCyIaHE/CWFO7oonOzVTtX9VKqIL5sA8GczDorGdjgPSWxhpPr/HfPaLgdH0+Ul/Kj4JbN xybvuQwtKaZUjArmryvoLUg0gaWg6Hch+jf0qd3CWPCU7YZbgMGIt0gdR8/T94cB4w3Ejp ATmqEMjZ6AEZ0u5fZ3WbdDEAjl39VvXSaFStJWxpey5KQmlhuasxXtUIumrIfLtHL5VXZm CzIQC9sa4ri7ZCK3x1+MqK8uAviTC560ZFhGutiG2fEGXUpvrv1axFuU8D7tOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741177718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NtqB0xbyza9nZli0JyffMYqxb0RO9t7b01xwPYpIaak=; b=KjP9kAyuQI80+XIkRVO2SSFGyGqWO0IhjNADi504xld3UCQRagAuI/8rMDNoS1F1zeh6Ce 8nI6qREqYn5yGRKAft2hhCC2r3K4DDP8ORy6AcU/hjqjOyx09NpLXdCa/S7fznOm8B0ecW S2SbSlwA4nHuAN86zdTV+OkZ4DjdT7G6Gm1+WY9FP2YHwz3Ufsi/n4oOAQRvcnYptLdmCQ Pb9IMXraxONZ2CBKcmoNnZP36tziFNdq69sFnL/GS/cr+CPoOLLKkf05mLN4yajZZ/WXc2 jIR5nZvxYI7T47aLQur6wXJ0h9Ixi7+YQmXRLqv9sS0U96wEy8LgC885EZ/9sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7Bft2mSKz13SB; Wed, 05 Mar 2025 12:28: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 525CSc2c071736; Wed, 5 Mar 2025 12:28:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 525CScvI071733; Wed, 5 Mar 2025 12:28:38 GMT (envelope-from git) Date: Wed, 5 Mar 2025 12:28:38 GMT Message-Id: <202503051228.525CScvI071733@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: 0698ce429f78 - main - bhyve: fix CPUID L3 Cache Size reporting for AMD/SVM List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0698ce429f78f548f7eb3e54476fb312109ddd8b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0698ce429f78f548f7eb3e54476fb312109ddd8b commit 0698ce429f78f548f7eb3e54476fb312109ddd8b Author: Konstantin Belousov AuthorDate: 2024-12-17 21:09:33 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-05 12:27:58 +0000 bhyve: fix CPUID L3 Cache Size reporting for AMD/SVM Adjust leaf 0x8000_001D %ecx 3 on AMD (L3 cache params). - Report cache as 1-way associative. Glibc does not believe that there are fully associative L3 caches, ignoring the leaf and falling back to legacy way of reading cache params. - Do not report 4095 logical CPUs per L3 cache, report the true total number of emulated CPUs. The insanely large value tricked some version of glibc to overflow 32bit calculation of the L3 cache size, as reported in the PR. Also, for leaf 0x8000_0008, do not clip ApicIdSize to zero if less than 4. This effectively falls back to legacy. PR: 279901 With the help from: Florian Weimer Reviewed by: kevans, meta, mp Tested by: meta, mp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D48187 --- sys/amd64/vmm/x86.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index a833b61786e7..366f1da9f850 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -150,8 +150,6 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, * pkg_id_shift and other OSes may rely on it. */ width = MIN(0xF, log2(threads * cores)); - if (width < 0x4) - width = 0; logical_cpus = MIN(0xFF, threads * cores - 1); regs[2] = (width << AMDID_COREID_SIZE_SHIFT) | logical_cpus; } @@ -256,7 +254,7 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, func = 3; /* unified cache */ break; default: - logical_cpus = 0; + logical_cpus = sockets * threads * cores; level = 0; func = 0; break; @@ -266,7 +264,14 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, regs[0] = (logical_cpus << 14) | (1 << 8) | (level << 5) | func; regs[1] = (func > 0) ? (CACHE_LINE_SIZE - 1) : 0; + + /* + * ecx: Number of cache ways for non-fully + * associative cache, minus 1. Reported value + * of zero means there is one way. + */ regs[2] = 0; + regs[3] = 0; break; From nobody Wed Mar 5 16:43: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 4Z7JJy5J51z5qRPl; Wed, 05 Mar 2025 16:43:30 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7JJy4n37z3tDW; Wed, 05 Mar 2025 16:43:30 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741193010; 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=6uO8+wytqhyctHyrlMuqRmcsfIZfGpEGK2L3GfRoFY0=; b=NNmsxaD9CobuOg+T8L/j1P4hDP1mxx6NVN1MbCrX6zcUr+3iN9cblp3M7UcCu6BCZrz+4u YK6OazIoTDYu9OzWuqtbyRlFQuYMe5oIMtLGM+nT7AlsD4pWMTyS1jUTQ5rQ6JddS2Wj7T jpxJMyqY8xN1x7RW7TrkdeZ/ep3mvb1ghvKO7zQv9Lj16FR/2pU+SgQc/YgHJosYUpAQ8O rmh6DbNa3gJRJxHgJmd0X0EroxSHP3EfB2foEOBDlPDLK4zNf+IvEeKbjf3UsClw17+1IA RKiTiEhRqMvPhzdmmpA2r3att0KvKIWF9SRQ2J6YvdQZ4wxnzqLbhCjOI17zIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741193010; a=rsa-sha256; cv=none; b=VJsBUWQmgQK/bsv0xwH4FYEd2oj2FHMsBFxAtQVI5OR1xFYGHBoTnpFZCiiRbd+gIQEq9g zc8n+QPIyWnxW/puFntbvT1TK0wmbSujtUCg+tHhf/gCsmPHxLYn1bjyTH04u6G7+lm+Jn mKJXLzGqCaeO8Eo3KjJWichwv5dRPTSJFbSB8TfPlPpMKifMRpxie12i/6nru6xpffNi1f eREc8Hn4pFGiw7Xnr3oAv/zFkFH+sOGODOPXL6DRylVRXSCAtK1E0ZuFKdYpNRxRTncTBW N6L6qB2Aj/FLE7xgxWXOnmE+plfrG2sRCeILn3dX5v3q+CKOlb5OrWappGNacw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741193010; 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=6uO8+wytqhyctHyrlMuqRmcsfIZfGpEGK2L3GfRoFY0=; b=AydOqG4swTyLDCHZkNYo4VzVEmBVQZEa+jl2gtZbgV2Bqum+EKoSfQZAsKUIvrovc82dWN PVemn5bCyU19rJRq1T1xn5JyxJvQApoOPf0HU0kOpH8xGi/DnrFTltVz6nka3JFIm8e6dY 4lAl8jjMSoct+VP+CyZS++mgZgsUCuWJX8/2C2FHSMabRjXWTGP2QmuifHIMr6L/KlYXtQ lwFaghKxYxCrU5XJDsTyZPFzMP2PHpOTCeKgrq8iUTguZKB2KMrZaX3140CkAf2nmv9tOG CtJnM1UOV63ZOmuxycyC/cbs2GGpu75Y/ftuHsGIBEt5Vajf6LCWns8eHkrTZA== 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 4Z7JJx6rTjz9Sk; Wed, 05 Mar 2025 16:43:29 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Wed, 5 Mar 2025 08:43:27 -0800 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: 7e51bc6cdd5c - main - pf: Introduce unhandled_af() Message-ID: References: <202503040805.52485pYn088632@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: <202503040805.52485pYn088632@gitrepo.freebsd.org> On Tue, Mar 04, 2025 at 08:05:51AM +0000, Kristof Provost wrote: K> The branch main has been updated by kp: K> K> URL: https://cgit.FreeBSD.org/src/commit/?id=7e51bc6cdd5c317109e25b0b64230d00d68dceb3 K> K> commit 7e51bc6cdd5c317109e25b0b64230d00d68dceb3 K> Author: Kristof Provost K> AuthorDate: 2025-03-03 16:26:39 +0000 K> Commit: Kristof Provost K> CommitDate: 2025-03-04 08:05:37 +0000 K> K> pf: Introduce unhandled_af() K> K> For cases where code conditionally does something based on an address family K> and later assumes one of the paths was taken. This was initially just calls K> to panic until guenther suggested a function to reduce the amount of strings K> needed. K> K> This reduces the amount of noise with static analysers and acts as a sanity K> check. K> K> ok guenther@ bluhm@ K> K> Obtained from: OpenBSD, jsg , ba4138390b K> Sponsored by: Rubicon Communications, LLC ("Netgate") Heh, enum solves the problem at compilation time. I will try to revisit the review that had this idea. -- Gleb Smirnoff From nobody Wed Mar 5 16:52: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 4Z7JX16zYbz5qRkm; Wed, 05 Mar 2025 16:53:05 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7JX16FyQz3xr0; Wed, 05 Mar 2025 16:53:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741193585; 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=2UtAkrk5T0aS3W3MVvP+mJfoE/3Raf4EAoHXVJ+vbKo=; b=BmTNm2HZaOq0Db0hBjbl6NEjuar65R4ZOvNKv2Doh1Gj96ySaeD3fSxc1yydiX7IbQSVCD cKaWHv8XPVw/fzVGG+TxWtPk5oOlCseoFVKWjJhG7zeBzwLXypSndwp1mrDgB7DcaWaUcV kKowfWnLy4kdIjrLN3FM9UpwQmI+jL5bxUQEKo9PaSBmAf7zgNPTlHxjVgkvItO5JGrseF k8EgTyHa8iwivCE9Nf2soNxl2QWg2EdjKfT7CsLEH3os5+S2A3R07S7hrL6PJdZ71c8lVY QFnlZYNWdwT5GRKKydeV9unjPWQ4qqgcs/aK1ZNVzVYbSAutVDFEVeLy16+dMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741193585; a=rsa-sha256; cv=none; b=a13i3XRoVlDo0FwqQ1w8MXMXFOZo2BZw5WVNeiEHuOpNSPntwOTyf90KjmCSYNrhwoKlNo ByxrSjTyPtmQv2kAn8qUAlfezW0xmLezeiYTDBdLuwdU23cqUTSDX8F1QRQn6oFWvnXpm4 KuiZQh3e4vQUqNVbaM7fl02YLY2nEHxCyYO++W9WowSV7uvvyfGhMLTwKJoRvja1gs5kIv DhOgtrjrAEnJeYVCOeFooLz9DXLllP1/XNeDHY5Nk0bFEo6Y51LFXE+uPWOVL5ABce16/P tr4nvAJ+Uf+MiUbPI6OSLBpjdazw93sW1zWfousoFOtqzE2YSRcE0bZEayCngg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741193585; 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=2UtAkrk5T0aS3W3MVvP+mJfoE/3Raf4EAoHXVJ+vbKo=; b=gypEe1XjelfHQGRwh6yhb1bR6RWSAOHgpUoZG8r1JCud7SkgoAMXKMZRfEfHSiH+epqljC E/qph/PG0ZsVidlcqNFfqoZCO6gO6f7obf7fiJWYvOuktxCYTjZOP88ELQ4nISaNigm98a C+MpZBbbLC0oIPAfLslaWw9A9IyLeRj3eeXoD7+M8230fUWMCqCIwLSR/yPtM2e/rV2Jvm tZ0t7GWjnnXwR/cdo/oI42bqkFE3ShfE5HpYze79DLDwpIxsBhgEytop0mfA0QbTZHrs8B CqTcx6HGCAmyieRF+I0su3FVp9VOwO4HVwNFzCG8/he6cIpI1y3y1Zip6FQ6RA== 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 "R10" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z7JX14yfXzDdv; Wed, 05 Mar 2025 16:53:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id EFD902875D; Wed, 05 Mar 2025 17:53:02 +0100 (CET) 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: 7e51bc6cdd5c - main - pf: Introduce unhandled_af() Date: Wed, 05 Mar 2025 17:52:57 +0100 X-Mailer: MailMate (2.0r6222) Message-ID: In-Reply-To: References: <202503040805.52485pYn088632@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 5 Mar 2025, at 17:43, Gleb Smirnoff wrote: > On Tue, Mar 04, 2025 at 08:05:51AM +0000, Kristof Provost wrote: > K> The branch main has been updated by kp: > K> > K> URL: https://cgit.FreeBSD.org/src/commit/?id=3D7e51bc6cdd5c317109e25= b0b64230d00d68dceb3 > K> > K> commit 7e51bc6cdd5c317109e25b0b64230d00d68dceb3 > K> Author: Kristof Provost > K> AuthorDate: 2025-03-03 16:26:39 +0000 > K> Commit: Kristof Provost > K> CommitDate: 2025-03-04 08:05:37 +0000 > K> > K> pf: Introduce unhandled_af() > K> > K> For cases where code conditionally does something based on an ad= dress family > K> and later assumes one of the paths was taken. This was initiall= y just calls > K> to panic until guenther suggested a function to reduce the amoun= t of strings > K> needed. > K> > K> This reduces the amount of noise with static analysers and acts = as a sanity > K> check. > K> > K> ok guenther@ bluhm@ > K> > K> Obtained from: OpenBSD, jsg , ba4138390b > K> Sponsored by: Rubicon Communications, LLC ("Netgate") > > Heh, enum solves the problem at compilation time. I will try to revisi= t the review > that had this idea. > Oh yeah, I=E2=80=99d forgotten about that one. In any event, this is useful as a diff-reduction exercise, if nothing els= e. I=E2=80=99m hoping to be able to continue importing OpenBSD patches, b= ut there=E2=80=99s still a very long way to go before we=E2=80=99re all t= he way caught up. And even if/when we get there there=E2=80=99ll still be a substantial del= ta, because we don=E2=80=99t want to drop support for older syntax in the= way OpenBSD has, and we want to keep stuff like your multicore work and = the vnet support. And the SCTP support. And the basic Ethernet support. Anyway, lots of random thoughts to say: that=E2=80=99d be nice to have, b= ut certainly isn=E2=80=99t urgent. Best regards, Kristof From nobody Wed Mar 5 18:16: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 4Z7LNb6SWLz5qYPw; Wed, 05 Mar 2025 18:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7LNb6258z3YWM; Wed, 05 Mar 2025 18:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741198607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQEJB+UQLMDVZh3NBWhjGoU6Myanq2ln8Om9zOUFVEo=; b=NZ1bPE7hroFVTbmy86MmSU8YqdhimWVzbaPM4EsFk7C7Y9igZXoP3xD4P3XpBSoGApBtwR KA3LFwrsR1VleA+zobbaRZAk43DPjWs8z5pCDTGrSDd+yXtgNIzEWL8eGjIZ0zJ2gZuaIG XxIdMnZaX8ytaZ//eV+a1zNmLoVKufErk07QCUDFqboZFabEIgD95AxsrogGZT2tU9nMWc z3UC43yvBPHn0ZTbCq92PtEF/MFnrfe5Y9+4fHucPTzB6qqVC1jdTM3FalLZZ+Ua5O2hFD bmvl0jQfiYhrIsue5hH7Y3upfCcPQSVqAlKjsoKmn52p01hnVHPuyWykotMP/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741198607; a=rsa-sha256; cv=none; b=VOMMcGzlYaH0u81veGW/S3+PgcUr2Rmy9aMbMo68SqlHAmiBhwXMrbcUMkkS9YRnp1UpuD nR2MSGcUyzl/t5nFnSCMW0K2orL07DHieAzo1J6o29U621Nx7EUxF1Dd8QsqiSp1waOWue MiQn651P8ANRcKajIG+f1OhV+W+VENyCMethBtjnisl+4DPjGLeeRAC8m23cz8D78gdY03 F9fbZBDi6l4X8syJHeSVdD3+Kg1hnXerWutnyKxcdnXGMMnL+J77z997N20SxPnWq0KH9L vM2NEFCgqrSlnd343xN1/B5vkxsLRi5EznadkqCLPrwOF+f9flOYf3BXpEH2OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741198607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQEJB+UQLMDVZh3NBWhjGoU6Myanq2ln8Om9zOUFVEo=; b=aQXF+GAx72wDWd9zI1LBZ7KOOB9KC0yBdhSkFbeHs4pqo5yzF9R5T9HZiAlitobeV+qeO4 Ir+i7xP7hw2zxsk0+9RVadZjskzDOiNdoNcD1nLzDOhUcwj9sR1M0X33fIenaI6Gpw/2hS kIvW/LUngHpGmSdcAO5obwMgX7EyJK8Tpst1XaNrn/w1Gqz2a3/hprLsBs+6cbNjkMLRf6 xqLs+V6z5LqUmF6p775joWgtFKNReinUD5EfXidkT/lsDqL4h+Py1TDocCqw4gzhCK+HBr hil8m0czJd/bbUOYIuQkfu/bWygbmgn21ivYHA9Zf+cWd/Ja1ZSocpaioOBGZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7LNb5c9Bzmx; Wed, 05 Mar 2025 18:16: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 525IGlsj029717; Wed, 5 Mar 2025 18:16:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 525IGlLY029714; Wed, 5 Mar 2025 18:16:47 GMT (envelope-from git) Date: Wed, 5 Mar 2025 18:16:47 GMT Message-Id: <202503051816.525IGlLY029714@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: d56f3b051f61 - main - jail: add jexec -d, to specify a working directory PR: 283170 Submitted by: DtxdF at disroot.org List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d56f3b051f6135b4a675fd75ccfcef0310368781 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=d56f3b051f6135b4a675fd75ccfcef0310368781 commit d56f3b051f6135b4a675fd75ccfcef0310368781 Author: Jamie Gritton AuthorDate: 2025-03-05 10:14:47 +0000 Commit: Jamie Gritton CommitDate: 2025-03-05 10:14:47 +0000 jail: add jexec -d, to specify a working directory PR: 283170 Submitted by: DtxdF at disroot.org --- usr.sbin/jexec/jexec.8 | 10 ++++++++-- usr.sbin/jexec/jexec.c | 21 ++++++++++++++------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/usr.sbin/jexec/jexec.8 b/usr.sbin/jexec/jexec.8 index 431978c4d0ae..afcc1839ef75 100644 --- a/usr.sbin/jexec/jexec.8 +++ b/usr.sbin/jexec/jexec.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 12, 2024 +.Dd March 5, 2025 .Dt JEXEC 8 .Os .Sh NAME @@ -32,6 +32,7 @@ .Sh SYNOPSIS .Nm .Op Fl l +.Op Fl d Ar working-directory .Op Fl u Ar username | Fl U Ar username .Ar jail Op Ar command ... .Sh DESCRIPTION @@ -48,6 +49,9 @@ is not specified then the user's shell is used. .Pp The following options are available: .Bl -tag -width indent +.It Fl d Ar working-directory +The working directory for running commands inside the jail. +The default is the jail root directory. .It Fl l Execute in a clean environment. The environment is discarded except for @@ -59,7 +63,9 @@ If a user is specified (via .Fl u or .Fl U ) , -commands are run from that (possibly jailed) user's directory. +and absent the +.Fl d +option, commands are run from that (possibly jailed) user's directory. .It Fl u Ar username The user name from host environment as whom the .Ar command diff --git a/usr.sbin/jexec/jexec.c b/usr.sbin/jexec/jexec.c index 35fd9c8d20e4..a1e443c5ba04 100644 --- a/usr.sbin/jexec/jexec.c +++ b/usr.sbin/jexec/jexec.c @@ -58,16 +58,22 @@ main(int argc, char *argv[]) { int jid; login_cap_t *lcap = NULL; - int ch, clean, uflag, Uflag; + int ch, clean, dflag, uflag, Uflag; char *cleanenv; const struct passwd *pwd = NULL; const char *username, *shell, *term; + const char *workdir; - ch = clean = uflag = Uflag = 0; + ch = clean = dflag = uflag = Uflag = 0; username = NULL; + workdir = "/"; - while ((ch = getopt(argc, argv, "lnu:U:")) != -1) { + while ((ch = getopt(argc, argv, "d:lnu:U:")) != -1) { switch (ch) { + case 'd': + workdir = optarg; + dflag = 1; + break; case 'l': clean = 1; break; @@ -102,8 +108,8 @@ main(int argc, char *argv[]) errx(1, "%s", jail_errmsg); if (jail_attach(jid) == -1) err(1, "jail_attach(%d)", jid); - if (chdir("/") == -1) - err(1, "chdir(): /"); + if (chdir(workdir) == -1) + err(1, "chdir(): %s", workdir); /* Set up user environment */ if (clean || username != NULL) { @@ -129,7 +135,7 @@ main(int argc, char *argv[]) setenv("HOME", pwd->pw_dir, 1); setenv("SHELL", *pwd->pw_shell ? pwd->pw_shell : _PATH_BSHELL, 1); - if (clean && username && chdir(pwd->pw_dir) < 0) + if (clean && username && !dflag && chdir(pwd->pw_dir) < 0) err(1, "chdir: %s", pwd->pw_dir); endpwent(); } @@ -186,6 +192,7 @@ usage(void) { fprintf(stderr, "%s\n", - "usage: jexec [-l] [-u username | -U username] jail [command ...]"); + "usage: jexec [-l] [-d working-directory] [-u username | -U username] jail\n" + " [command ...]"); exit(1); } From nobody Wed Mar 5 18:52: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 4Z7M9z68fTz5qc3v; Wed, 05 Mar 2025 18:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7M9z5bVVz3r00; Wed, 05 Mar 2025 18:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741200759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WwEqNrrmCSBLfSD5Qgq27+hc3qAD9kEOFFn0mTobsoE=; b=ykdfjyijBzy9aM4yzjR1bFxujxTFL5ButFz379jvjB66HQBb/BjYQ7eEaa6Uib8LJv6T2W SWOB8c2C8JyhAj7s9NkHeemBRoUslHlYZoLq7cdet8Zs3sHmFOmd9fYL79HAnTl7umuYIN +rWakt/LI4G5kvJstO2oYGbJpqPKWaDww/OleqrGVJwNh1neK5l50WgSfuHKdx0jYkGQYR aXxD3o9RjnSdVmSp92IaWKLLF9r3TjBAEKf+jK11mRvsnXs2RDEXpEhfbntNFIWa46lMce 21F+i3wpxbrVVw+yh8yTK5qybRTGzy/5oMKVyanFlDR5A5CqMpGoL/BxfdxX3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741200759; a=rsa-sha256; cv=none; b=bGe6gR++7pr1jzVVRglFa6tE3gSeOhIyZ6vTkfPYSQ3stp6YuMCSjA4nlPI/ZQY09rIQOw HDCP+4G4ZOMkHrlEbdtUtkhv4eAO0Q7PoIcTVUQBbezuuvODTeqoUitPUPIwiRqiIwXDEj yxK/1Gk8wX4URmPvjV2TUWDvhLZddMoH1MvuHXNYo02BvjV7SuNRm8iY2WIRKzyagCiJCu 8pLfPsbcdjWoPJtohXuSGKSzh7nLXbKmoucbcehq6aMAxArD/cpWDQdbOp9ksd50txkR9s 0sLvFeAaEhWk7ah4q9NEYbdwKCgrlDtmrKTtk2HX7fAhJ9JJX8RZXEoDVX5Gdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741200759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WwEqNrrmCSBLfSD5Qgq27+hc3qAD9kEOFFn0mTobsoE=; b=H4gCXVFl0GtNDTT+C2Wn93jF+vRS0AlWRcjEhsiUl+3QJvVy9gkWP7PcHhep4a808I+WSq CHUVrAZsAxqLFmHtrEbYldVDETbRsvd5dpcNxsRUpjwoAVY72Nm7YeFgoL3xPfauaIeSQq JJwp86QkT7d1LcLiNdQEE4mj1mIuLATPOBd8SAqoo/bgUZGEvFNnLCu8GwZJxsO5hgg3HZ fc/Ro2SWy2kzJWFLEIEQtb0BBFeoiS1Vao9belgRgjHDQO8X20O73G2gk78Q82R0nADdTk H5XuWblj/jEOVC2BMLa+Zz0z+nCHr7rT0YkAmOw3N10U2F5N9708nQtXCWFIdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7M9z51BWz1l1; Wed, 05 Mar 2025 18:52: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 525Iqd64002903; Wed, 5 Mar 2025 18:52:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 525IqdJ0002900; Wed, 5 Mar 2025 18:52:39 GMT (envelope-from git) Date: Wed, 5 Mar 2025 18:52:39 GMT Message-Id: <202503051852.525IqdJ0002900@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 202a2be0941e - main - witness.4: correct name of the debug.witness.witness_count sysctl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 202a2be0941edeb2652d64a3dbb1894b8867f3ac Auto-Submitted: auto-generated The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=202a2be0941edeb2652d64a3dbb1894b8867f3ac commit 202a2be0941edeb2652d64a3dbb1894b8867f3ac Author: Alan Somers AuthorDate: 2025-03-05 17:35:54 +0000 Commit: Alan Somers CommitDate: 2025-03-05 18:52:14 +0000 witness.4: correct name of the debug.witness.witness_count sysctl MFC after: 2 weeks Sponsored by: ConnectWise --- share/man/man4/witness.4 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man4/witness.4 b/share/man/man4/witness.4 index ab23eb49d9fe..f382a9378727 100644 --- a/share/man/man4/witness.4 +++ b/share/man/man4/witness.4 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 18, 2015 +.Dd March 5, 2025 .Dt WITNESS 4 .Os .Sh NAME @@ -62,12 +62,12 @@ kernel option controls the maximum number of .Nm entries that are tracked in the kernel. The maximum number of entries can be queried via the -.Va debug.witness.count +.Va debug.witness.witness_count sysctl. It can also be set from the .Xr loader 8 via the -.Va debug.witness.count +.Va debug.witness.witness_count environment variable. .Pp The From nobody Wed Mar 5 20:28: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 4Z7PJ119jNz5qjfR; Wed, 05 Mar 2025 20:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7PJ102N2z3XYv; Wed, 05 Mar 2025 20:28:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741206481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QKVq2mNINFC+cRNnL6dLzys+8ri2afw/ZzPO7930cFI=; b=oPzfGk06zFK0Xe96pDw/+qn9v2IlvRrhZ5NFfYC8bgTwjnIN1uzCkSfjQdQOPGJfHKU0IG J25L89WdYynZRq9wxiN8YF12F0wg12B+48etwr94ZATu57ww4UfIlrc6KQ9egNc2sNXHnl I1JRyw96snMOPeVSsQmJwYR84ROcEjr3s3jb11oQ+9825JDbM/EWDuma5+WTSZN2QZqHOp 8YtRJDmDAN0FdwaVZ3Eworv81zhHy/RJkFpQcDqjqSgecXrpAX8bOCvcpLRMFSG/so4Jdd vTdcz1JFL8vdUM8R7tSohuO9fYFW3LEjX5K+cqRWvUDAFtKAzg0IqaD6NQnhFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741206481; a=rsa-sha256; cv=none; b=vZfNHTp0Ogj0NVJpxnwAI99SaHsUi9CllO5wsh18ZS9oQJnOlC9D5updAO3yxLVcSQSicC DQ+MNhJEOKGuYxHRQGhZLzqHfQMJhmZ9HflBxnOqPtm5B2qaWaMGVaUA9kD4Ruoj/Y3wZ7 R2OFddJ3PK/tRMsyGynngP8pnMWP2kdhHndxyG+sZkNY5eW6NKVQxwEDhpGja4KMqviUZa kKd6JBxInAETbsOohvwRJ2OwPzw8FLuJxSMYQnlFgJmAnCbA+QrPy6YgTUFw7PQfXu02wP o+aQoNh9pqSCtjZwCYqfxZ2NtLRTbsU0/sJSsAQP9DfJQ8ZUvwEHdqh2nHNI1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741206481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QKVq2mNINFC+cRNnL6dLzys+8ri2afw/ZzPO7930cFI=; b=l37SjvGN5+hQVY/6LLUqgTjozKqn4+rzn5AHVZevCTCGWyTZB1a3Wsz+dLIC5plwU9K5oP 9cWIHMrIWn2YAPYLCx70gkQ2k+Ne2S1QnWr55vhUDs3jRKe8q6ESAlnGFPm/T10CpYTJKc f8WG7Hm4Ivsl4D2i42xSMCNHmMJHNfuX2FCKMWTAYGgrwFGCMWdv+KFv3DN/HeYLdclwjq ZTTk2MlaiYi0xvgwr+3UvyRGImu9HEiTwsTfXMJyeibEcZRhN5kBnom4IAKyoolspsJViv uVPXXfNtJlGpBIB7fOLrR2Y/QKeyTBAWum49z4At7LV4Dd1+a141E2/NTlxnUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7PJ06HkVz4gQ; Wed, 05 Mar 2025 20:28: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 525KS09A074620; Wed, 5 Mar 2025 20:28:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 525KS0iH074617; Wed, 5 Mar 2025 20:28:00 GMT (envelope-from git) Date: Wed, 5 Mar 2025 20:28:00 GMT Message-Id: <202503052028.525KS0iH074617@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: d70bac252d30 - main - acpi_pci: Add quirk for PSTAT_PME-before-detach List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d70bac252d30adec4feba0c866dabe2c16a756d9 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d70bac252d30adec4feba0c866dabe2c16a756d9 commit d70bac252d30adec4feba0c866dabe2c16a756d9 Author: Colin Percival AuthorDate: 2025-02-27 00:31:08 +0000 Commit: Colin Percival CommitDate: 2025-03-05 20:25:49 +0000 acpi_pci: Add quirk for PSTAT_PME-before-detach In order to signal to Graviton [123] systems that a device is ready to be "ejected" (after a detach request is made via the EC2 API) we need to set PCIM_PSTAT_PME to 1 and PCIM_PSTAT_PMEENABLE to 0. We are not aware of any rationale for this requirement beyond "another OS kernel happens to do this", i.e. this is effectively bug-for-bug compatibility. Arguably this should be done by the ACPI _EJ0 method on these systems, but it is not. Create a new ACPI_Q_CLEAR_PME_ON_DETACH quirk and set it in EC2 AMIs, and add the PCI register write to acpi_pci_device_notify_handler when that quirk is set. Reviewed by: jhb MFC after: 1 month Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49146 --- release/tools/ec2.conf | 7 +++++-- sys/dev/acpica/acpi_pci.c | 9 +++++++++ sys/dev/acpica/acpivar.h | 3 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index b5a91d47decf..a8fc3854a0e2 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -72,8 +72,11 @@ ec2_common() { # Graviton 1 through Graviton 4 have a bug in their ACPI where they # mark the PL061's pins as needing to be configured in PullUp mode - # (in fact the PL061 has no pullup/pulldown resistors). - echo 'debug.acpi.quirks="8"' >> ${DESTDIR}/boot/loader.conf + # (in fact the PL061 has no pullup/pulldown resistors). Graviton 1 + # through Graviton 3 have non-functional PCI _EJ0 and need a value + # written to the PCI power status register in order to eject a + # device. + echo 'debug.acpi.quirks="24"' >> ${DESTDIR}/boot/loader.conf # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf diff --git a/sys/dev/acpica/acpi_pci.c b/sys/dev/acpica/acpi_pci.c index 6411af02ee58..97704111839b 100644 --- a/sys/dev/acpica/acpi_pci.c +++ b/sys/dev/acpica/acpi_pci.c @@ -391,6 +391,8 @@ acpi_pci_device_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) { device_t child, dev; ACPI_STATUS status; + int pmc; + uint16_t pmstat; int error; dev = context; @@ -416,6 +418,13 @@ acpi_pci_device_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) device_get_nameunit(child), error); return; } + if ((acpi_quirks & ACPI_Q_CLEAR_PME_ON_DETACH) && + (pci_find_cap(child, PCIY_PMG, &pmc) == 0)) { + pmstat = pci_read_config(child, pmc + PCIR_POWER_STATUS, 2); + pmstat &= ~PCIM_PSTAT_PMEENABLE; + pmstat |= PCIM_PSTAT_PME; + pci_write_config(child, pmc + PCIR_POWER_STATUS, pmstat, 2); + } status = acpi_SetInteger(h, "_EJ0", 1); if (ACPI_FAILURE(status)) { bus_topo_unlock(); diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 668d0b51a1f3..830764434f48 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -230,6 +230,8 @@ extern struct mtx acpi_mutex; * compatible flag and ignoring overrides that redirect IRQ 0 to pin 2. * ACPI_Q_AEI_NOPULL: Specifies that _AEI objects incorrectly designate pins * as "PullUp" and they should be treated as "NoPull" instead. + * ACPI_Q_CLEAR_PME_ON_DETACH: Specifies that PCIM_PSTAT_(PME & ~PMEENABLE) + * should be written to the power status register as part of ACPI Eject. */ extern int acpi_quirks; #define ACPI_Q_OK 0 @@ -237,6 +239,7 @@ extern int acpi_quirks; #define ACPI_Q_TIMER (1 << 1) #define ACPI_Q_MADT_IRQ0 (1 << 2) #define ACPI_Q_AEI_NOPULL (1 << 3) +#define ACPI_Q_CLEAR_PME_ON_DETACH (1 << 4) #if defined(__amd64__) || defined(__i386__) /* From nobody Wed Mar 5 21:19: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 4Z7QQs0gJdz5qmn1; Wed, 05 Mar 2025 21:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7QQs055Kz3vf8; Wed, 05 Mar 2025 21:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741209541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KcWODdC49ES3SnROkXinagvelHR8A1LySK/Gi4miH8E=; b=LyIwBggi4FI1g3KdFv7M6NYiW5BI50Iu5esR/V6hK8X3eX8j2baSGlqf7KBieuW/mwUC3/ +CUAi9/2naWPm/AMzS9OjJKhotwaQJgdpI3ZjyOMGiMd/zca2VnNjHwDnqjvNfAwEBMVFL 37x2z3UwZTCW0+4/xDNrnj5jK71jlo8+tV0RXG5EGSRevjUsRqGVSymrrdsTjRh+nxx+mj nRkVlxbhUGS2PzqbXl8q37cIN04ACOqSVn0aKexPyO8JqLHPff6hS63cAIdqTKX/1WKz97 6QrsFeCY3w15ELSMG66dcnUSeB6XOH9EJNVzivRULxw30BH8FEGKLPyTdOqInQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741209541; a=rsa-sha256; cv=none; b=vmWNTB1qytefSLOkZy8t+/bELjZ5ywAtzpMWd+j6PKQl7veOxkSOUv65SyO+xktJzco8CQ c7x0znLj/E1PMdv7UuMDCeDjtTyUUd9VHGOlACjy4qoCGfHGN164OWnDj066YgnYer6oDa 0G8EkqK26H08iHBlvZb7uuLPzHGANtIrItkmAu+q0ASB9CNMuEnyA/pGkS7CmCktEIB+4m XB3OAEyUqSvTaExq5mxQP+2VDE0FZhzj1FIJ30q14BPo2AnJ/RWuVT/f+mtYiMUV3dnDN1 NvU1gCMtWvrNr0gPM5WXuJnpRpM/mapEzemokR3HbJTG/QnZt4RWtha0w/OhrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741209541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KcWODdC49ES3SnROkXinagvelHR8A1LySK/Gi4miH8E=; b=iDJdanKCLFKncqM49NwvPRoG5opdq/n0RU7UFg6kNyNBQzJikEgD4H0uVDZ3J/iJ5tUk27 VO/VuL+LaauCH+8dpUfYUhqKPdG7Gt7i/ExoJPK4x/6i79SoVHActoiFSR84iqWkfIhFcM UvfoxREcUvi+DJKrHmEk6awcPpSbCVgYe6uCHuLdXZUBicAt0qH1r9m6yYqsofpFX5RHhX Fg7QsTPSKCYHuAZvnWhYKckONorgI6pFZRxfpaiLTHrnY+42+49f9Yq2W11u+Q7AB+eXR4 Q1tJIivKU0DBeWNnSOGZ+Y7BTtZWjGusxQEr0uRZYaZOOcnOmux/66//AquQ9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7QQr6PPfz60V; Wed, 05 Mar 2025 21:19: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 525LJ0ST068882; Wed, 5 Mar 2025 21:19:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 525LJ0cg068879; Wed, 5 Mar 2025 21:19:00 GMT (envelope-from git) Date: Wed, 5 Mar 2025 21:19:00 GMT Message-Id: <202503052119.525LJ0cg068879@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: 27bf5c405bf2 - main - net80211: Fix IEEE80211_KEY_UNDEFINED() in ieee80211_node_delucastkey() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 27bf5c405bf2eb69392e45c06605defc78882612 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=27bf5c405bf2eb69392e45c06605defc78882612 commit 27bf5c405bf2eb69392e45c06605defc78882612 Author: Bjoern A. Zeeb AuthorDate: 2025-03-05 00:02:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-05 21:18:15 +0000 net80211: Fix IEEE80211_KEY_UNDEFINED() in ieee80211_node_delucastkey() The adjustment of the check in 9763fec11b83 inverted the logic. Fix this. Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: 9763fec11b83 Reported by: KUROSAWA Takahiro (takahiro.kurosawa gmail.com) in D48980 Reviewed by: KUROSAWA Takahiro (takahiro.kurosawa gmail.com), adrian Differential Revision: https://reviews.freebsd.org/D49234 --- sys/net80211/ieee80211_node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index f4185dfb04d4..a495f2f78113 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2206,7 +2206,7 @@ ieee80211_node_delucastkey(struct ieee80211_node *ni) IEEE80211_NODE_LOCK(nt); nikey = NULL; status = 1; /* NB: success */ - if (IEEE80211_KEY_UNDEFINED(&ni->ni_ucastkey)) { + if (!IEEE80211_KEY_UNDEFINED(&ni->ni_ucastkey)) { keyix = ni->ni_ucastkey.wk_rxkeyix; status = ieee80211_crypto_delkey(ni->ni_vap, &ni->ni_ucastkey); if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { From nobody Thu Mar 6 04: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 4Z7cVF1FpCz5pRk6; Thu, 06 Mar 2025 04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVF05X7z49yq; Thu, 06 Mar 2025 04:52:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IJuYOZIlcdptidzpFtrFcXOgWo20YcAINz0h5gtLgn8=; b=BdXCyIUhDveVCpvaW5hJGVE9erVFU99w9KhO8hXzKScibxMPfnCSfZoDFKcgVjqqVjAIPk DrzMEIsn+XJM5bGrYGp7FmL9aSD5KUyVTytMRjHfw3IzQOcrjTAMKW7wPwTlwYraCHg1pd e5BT0kvhgh3qzG/fJeWNptCCxPUDK1dwD+7juqgm/MTIyQi9JIuEuC9dUmt1jLRxDcKvHr l5qEygmY0cJjpbhSos5awyLbi5UjutscrfY5981vneaziVPeolntSTkpxhJqJfQ8v3qTNp W0+HT3+m6WHrEV9ueJCaI/lfqbRvmT7IwpPfNwoASY9KCHN1e2Z+oJ8fwmFgdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236757; a=rsa-sha256; cv=none; b=wAjKJ8exe6yjP55y+59auBcAKe1vYG8XI0RN0q3RqMcc3krWL/Ap2ltclK0QTeUQJXXpXQ jUxawLF1ouWPR4fW5Vi+p7dexnxZIrShe3qLwxQzvzgQH450FxONusYcoDdMMum/9CMal/ 7OfhhpXDa4eK1Aj6zqba6Gq72tTe+Yt98rxwq3LFAihCbl3D8oqYJIZv1RFoOdbOwWH7WF Ddr30j6+QXTvlC1V70F1Ye4HErDeaXn+SQ6BTnowvz7Iu1fACfwgJTKgX61E07VWG6Haou 9Au4Ao1AJtAm6HGgvzWGVA2SMyTs/NVPavwYTkePkb/8MF1/mmyooTY+EMwwGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IJuYOZIlcdptidzpFtrFcXOgWo20YcAINz0h5gtLgn8=; b=kJztjBqkvyPSsi+Q1ic9C5kUyWZ/C4CnveYJa3mfz9cunvfkhetyewyQfZ643Rks/GN765 tg43tkuBWiVcv4Upc5s+iTm7xAlvVPEMNPFQXzz3EnPFT2ZyESZz0Z/LYQOEtNEnXIn55H lE2oZOGBpBLbTsFl2Si+QRH8oPUw6jvFN90DDIouIMX1/cVraFv6V4a8d9r6dDbfGitMCH ZXwaFyizFnxc/JKsgiOaTdNARHJzE44VCU6AD9rNnWL6bGFieXXxSDK2kwEyirVEmNJXO9 0HXlhBbxCgjR+g+puPFILp7NuNH5jYjKVHNLxEYWcmCzU2lD7Twmm8EYnnCdcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVD6h1JzbmJ; Thu, 06 Mar 2025 04: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 5264qaMQ026254; Thu, 6 Mar 2025 04: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 5264qan9026251; Thu, 6 Mar 2025 04:52:36 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:36 GMT Message-Id: <202503060452.5264qan9026251@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: c7f8ffc70afa - main - bpf: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c7f8ffc70afa00ae863fe9f122c5a7eb7b56f4f5 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c7f8ffc70afa00ae863fe9f122c5a7eb7b56f4f5 commit c7f8ffc70afa00ae863fe9f122c5a7eb7b56f4f5 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:43 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:43 +0000 bpf: Use static initializers MFC after: 1 week --- sys/net/bpf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index a7e5bda97e23..263f241bcf5f 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -182,7 +182,7 @@ struct bpf_dltlist32 { * frames, ethernet frames, etc). */ CK_LIST_HEAD(bpf_iflist, bpf_if); -static struct bpf_iflist bpf_iflist; +static struct bpf_iflist bpf_iflist = CK_LIST_HEAD_INITIALIZER(); static struct sx bpf_sx; /* bpf global lock */ static int bpf_bpfd_cnt; @@ -3006,8 +3006,6 @@ bpf_drvinit(void *unused) struct cdev *dev; sx_init(&bpf_sx, "bpf global lock"); - CK_LIST_INIT(&bpf_iflist); - dev = make_dev(&bpf_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "bpf"); /* For compatibility */ make_dev_alias(dev, "bpf0"); From nobody Thu Mar 6 04:52: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 4Z7cVG2w1jz5pS0L; Thu, 06 Mar 2025 04:52:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVG0vm5z3BmG; Thu, 06 Mar 2025 04:52:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mb+sfYlvoudMqjwgTxzq0/J7QGvIjEU8UAXPbPzRkqg=; b=rNEXBNLtVTwe/ozvzhHEWirOsJPYYZ0sAo9HS1f3HrwLQ1uAZi8yf99BTOUnvGc9z9NjQZ kfYFJ/ZlQM7U/tuEj0/2MNBh0iWmBXGvsAIArEbjjL0r9JuFwHpO5BfVW6S+EGYioGz1Cg FssHiuKJtmqS0A0j0n1W4eAfAJ83qhyenz4fjPscuFZIJ/ND/IcAzBD8LTbtfVb58iyj5S fChyTlhS5/W0tjSt/uzRhjhuYLHo8TIuvK/qI1X5pgF7C/SN+8T8bqXscWqUZQqtIoXuRz xesZoBCwaE7mduK29x2TzfK14DSQjne5ITJvvBjqZ45zl/hzm3Lmgay+iswexQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236758; a=rsa-sha256; cv=none; b=AltW3wgv4VbvAQZ7pcdehRvDEcp10zP2mdsqz49U1PHQIz6xUXpryjGlX4Tp28oqylKtRp u7oKeNg8qE/7EE5Jh+zC/EztovGGvmqR76hXoyRLBp72Xzn4WIvliQiSHfArtEmaBU7Ap/ 5fyePHWnkWdYNxfyZq2vpLF95vMfGoU071y58lWtl4EqKlcE5fO4C6l8Gv0lHT1XppBbyR zAmDI6G4a8M0SI2a8/zmtD/SAX61TDRtnTO7gVkzpSutKvRGEIYt9wACObSvESeUDk/sif OPk6wvSJMLw+y4O0NKD/W1Nn5FbspFy5zuq6/BTHjeU6Uc0qVrWZgKaYwNsD2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mb+sfYlvoudMqjwgTxzq0/J7QGvIjEU8UAXPbPzRkqg=; b=dBwGFXZLJPBtSB2Xa7N1o2dhYSVMjrQ41GrbEkmqkUBe/18KS6j6D3ijN/2tDkQYz9aFd3 JkMDGpZ+1JCWnOcgXxFUUpDBQUX0+2oIE+cCvZdmOJz/Tp14DYzHfP51Hm8JPsQr6US4fk BL8o38uHpsWFEz1aCQIGvNsWOh91SOuNu9IqkU/fh+y6XPpXatTC3WPLK2j+VPCANARouJ iRz2TECB1FoqQpJOWujYluOQVta0k2OwiCmDAGZnus3lhnz4QsyrfWU7dU0sziYW/eqn0P jEll+JcJJi9haE+u5MYk/TLpfnfoVpq4PI5BgNOstjG8A805yA9Juz1cZq27rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVG0W3YzcjN; Thu, 06 Mar 2025 04:52: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 5264qbUh026288; Thu, 6 Mar 2025 04:52:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qbCn026285; Thu, 6 Mar 2025 04:52:37 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:37 GMT Message-Id: <202503060452.5264qbCn026285@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: b7d5bda6f109 - main - carp: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b7d5bda6f109e09d8999283a9b4e4a9668df9de9 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b7d5bda6f109e09d8999283a9b4e4a9668df9de9 commit b7d5bda6f109e09d8999283a9b4e4a9668df9de9 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:44 +0000 carp: Use static initializers MFC after: 1 week --- sys/netinet/ip_carp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index c01d1bdd8cff..0ead7149c1e2 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -357,7 +357,7 @@ static void carp_ifa_delroute(struct ifaddr *); static void carp_send_ad_all(void *, int); static void carp_demote_adj(int, char *); -static LIST_HEAD(, carp_softc) carp_list; +static LIST_HEAD(, carp_softc) carp_list = LIST_HEAD_INITIALIZER(carp_list); static struct mtx carp_mtx; static struct sx carp_sx; static struct task carp_sendall_task = @@ -3036,7 +3036,6 @@ carp_mod_load(void) mtx_init(&carp_mtx, "carp_mtx", NULL, MTX_DEF); sx_init(&carp_sx, "carp_sx"); - LIST_INIT(&carp_list); carp_get_vhid_p = carp_get_vhid; carp_forus_p = carp_forus; carp_output_p = carp_output; From nobody Thu Mar 6 04:52: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 4Z7cVH4MFHz5pS95; Thu, 06 Mar 2025 04:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVH20YCz49wW; Thu, 06 Mar 2025 04:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8MTQw3mvgbxfgCkmz72bnEPPRYcTRakEmgljCC8h25Y=; b=IgBpcvyP0vZixQmsOY+qfyYyRiE8L8bhxmGLRmticbPOzw8erMPQJu6bG61oXN1rN7Wg4r lrKexhNby5FjTqFvEKY/K0PED7W9ud2dxvqi7yF3CzjVUfU0k5GEG3t8l8HkMyexLFzD/g uHtXsbJSJsJzpFe3PLkoKTM0xpce3Oej7CfFRrwvBnNPPPF/F7qCH0f80r9OE8Hj62AhBl 5bJh97XUshAKIFXD4qkjXcBVgX6s9Y2V4kjFkw+TJywHnEPsob2ZqvIeN9wVS0RlNegob0 Q9/cRuEi337M/fak5WswiDvb2YHnhMRC7+YPG9dNCgRKFInIhMlF+kJ6SsEHCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236759; a=rsa-sha256; cv=none; b=fmk5Axv2LJ43IPBeYzBEz9U7/2giZ92ELs4xKHHNDUyn1mnffuXymB5w368c8oa6zfiB2I ndpA62kV6TQ37MhvTmbNDdywv05UK/H0QOHn9yn4JOO+incy/C8jRRtCqOjucGajxkTRnD 0bJBHG8xkkDWYajYtBGf9+ycwehVqHdMyZ5VlWhYaEstD4xfH3HCg79Irws2gSCf+6Da3j Oftif+8lorfyC3CpB6/pExRkXLPtHM14/abCnx+Oh/VOoCKJ6VmbSEzI2UMAhFDg7Hy2HC gjn6vFVDo+FY5CQfid7WorSQT8fjeBbyob194cjSCz5GaI3gaGyyC4Od3OEpuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8MTQw3mvgbxfgCkmz72bnEPPRYcTRakEmgljCC8h25Y=; b=kcS2QAxAl8ZRlyQZgWftkWG87YJRHvHlqKSAN7k6vLTpgHgKIm8zUUsO1+8PdPOKlr5Z1s GvjuwVZdKDzjw9naDqzXnl6Dz8pLkHJXdrpjuHHp/EYl7bouzLxZjowT9ArXV54k3VDQz7 BpzMt/gtij16pyOdSnN6frFBBX9bUsW88zeUoih7SqUE1z7XlDMbHqytDXaPayE1WLsqDp DwZbMg7U4XY2SM/V564DkdnBIF2eEjfqS8vejLe9CqUXL1GHG6IBVgiF2nI2WwKMdjXNa+ 9VDk/Iv4pniI4CoFLabJHofDofqx1Xyseys2G4lxo+30vPI9+uJUDnxzYCWsjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVH1V25zchc; Thu, 06 Mar 2025 04:52: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 5264qd4N026322; Thu, 6 Mar 2025 04:52:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qdoB026319; Thu, 6 Mar 2025 04:52:39 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:39 GMT Message-Id: <202503060452.5264qdoB026319@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: fd0020f81a60 - main - bridgestp: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fd0020f81a60f7c4a1401de56761cbfb2d745ca7 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=fd0020f81a60f7c4a1401de56761cbfb2d745ca7 commit fd0020f81a60f7c4a1401de56761cbfb2d745ca7 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:44 +0000 bridgestp: Use static initializers MFC after: 1 week --- sys/net/bridgestp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/net/bridgestp.c b/sys/net/bridgestp.c index cdaf6b415417..c67f1efe3d88 100644 --- a/sys/net/bridgestp.c +++ b/sys/net/bridgestp.c @@ -86,7 +86,7 @@ const uint8_t bstp_etheraddr[] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 }; -LIST_HEAD(, bstp_state) bstp_list; +LIST_HEAD(, bstp_state) bstp_list = LIST_HEAD_INITIALIZER(bstp_list); static struct mtx bstp_list_mtx; static void bstp_transmit(struct bstp_state *, struct bstp_port *); @@ -2137,7 +2137,6 @@ bstp_modevent(module_t mod, int type, void *data) switch (type) { case MOD_LOAD: mtx_init(&bstp_list_mtx, "bridgestp list", NULL, MTX_DEF); - LIST_INIT(&bstp_list); break; case MOD_UNLOAD: mtx_destroy(&bstp_list_mtx); From nobody Thu Mar 6 04:52: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 4Z7cVJ3blZz5pS3D; Thu, 06 Mar 2025 04:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVJ2rcXz3BvY; Thu, 06 Mar 2025 04:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiHXdkOHK145PMLKHg4eh+W7vIxvS0bdavbWw81JbpA=; b=S/8dZZk4CrysLELdXEIo2COUp1EaNv4sy3rGTWy9YB13ethZ/J7+/OfBhmPeP4QfZ4161T Zeixg5QghA76XLyNDV3zo0canJuWBrF2kJ2Dj+69YWE2D9JetFvY1fOCJQ+TWfAwa/9XoO YeYbFlZPMlBm4xOljdFEneNTa2YWrEUwd218jjMoFotGTKFXVth1cC8tuptD7qjYiJevXB LP2T91NkB0KGtfEKLc2gFDMhP77W4GDeh7RP1NkPvp7xJU0bFLfaYGEkxFRgZ76rmKKtS6 XNhNYWnRBem2iAIv2pODxAgaE0O6PGs6TRIib0CdFypOWyPvOOaInXkvOlTmUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236760; a=rsa-sha256; cv=none; b=gSYNB4QXCj/kQ5gspDpOPU43rCwTPDcBPnNFqW7GMs5GYAVLADGlaaXqK9rwL7AFggjv0P iT/9m5+35tg4+HMC7VuGOwBAIhABFah7LpL+vBJeEga8cArvc+pRXvbjiW3RSAsG1RWPyQ ppxlAwhW9YFwP1qdpe4VQGF/sdSDoeMCi4c/rn0RHEAbTGDD8Om7uTeIS8xY5VHWzHTZeC W81E/e+utBnfLBzP3B9HTA/mNWDklYBS3BtTeg6tmjImCxsdQPbMNQfm0WYh1M6zSJeZfK F79dJniGivwQy51I7UtDrbQfPvezSiU0uIbPSqdXCltohEC2jJ6siy34tfJGqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiHXdkOHK145PMLKHg4eh+W7vIxvS0bdavbWw81JbpA=; b=LamuH8rFJdI3A8/Z9fsxxrv/hJ18Rl+2OGvSgzvGx75B3IqeTD627BXio28WgryTYHW0xS yaF/DdkX8H+enmWkfL66NYeMU3piH8x/xIKjAjS5cl4WT2l2/SOPOHDO0DEoo9GE4n3V8i FrIs1+ERS7uD9iF08E7Va26vkHifJ2viE62ogR7B2z6scpCextdG3ODikqB4MBN2ea58hh Lj3zwU3PpFB1Kc5A+28pu+UKo5R5MQS0d2PbdCJfqtgJ4d+HlHDe0bOP5GnEc1+lkBPvsd iksXUkD+BSxgoy7Z952bYHB/XBcbE6CBI6xczh3yIwFyTQx1jDD0KoMFLohymg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVJ2RGszbjd; Thu, 06 Mar 2025 04:52: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 5264qe2G026356; Thu, 6 Mar 2025 04:52:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qelh026353; Thu, 6 Mar 2025 04:52:40 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:40 GMT Message-Id: <202503060452.5264qelh026353@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: 59dbc829cf07 - main - if_bridge: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 59dbc829cf077ae0b07577f374ffc536d5acbc6a Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=59dbc829cf077ae0b07577f374ffc536d5acbc6a commit 59dbc829cf077ae0b07577f374ffc536d5acbc6a Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:44 +0000 if_bridge: Use static initializers MFC after: 1 week --- sys/net/if_bridge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 299b6d80dcde..5cb4a033e325 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -602,7 +602,8 @@ static const struct bridge_control bridge_control_table[] = { }; static const int bridge_control_table_size = nitems(bridge_control_table); -VNET_DEFINE_STATIC(LIST_HEAD(, bridge_softc), bridge_list); +VNET_DEFINE_STATIC(LIST_HEAD(, bridge_softc), bridge_list) = + LIST_HEAD_INITIALIZER(); #define V_bridge_list VNET(bridge_list) #define BRIDGE_LIST_LOCK_INIT(x) sx_init(&V_bridge_list_sx, \ "if_bridge list") @@ -623,7 +624,6 @@ vnet_bridge_init(const void *unused __unused) sizeof(struct bridge_rtnode), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); BRIDGE_LIST_LOCK_INIT(); - LIST_INIT(&V_bridge_list); struct if_clone_addreq req = { .create_f = bridge_clone_create, From nobody Thu Mar 6 04:52: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 4Z7cVL0Ls9z5pS4h; Thu, 06 Mar 2025 04:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVK3SKZz3By4; Thu, 06 Mar 2025 04:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2LTymUmbeRRUmplCXRcEbnxVK5djkIAwoUfNQQj9ZY=; b=F6ViP5lJh6rRZH8Og8bB9YHAwmlwQDhfdce9mwZ2oZHuXcEf68ZSVrIfdQLmX0F3rmgcca noAnocfO56n7ZEw5Jo4BP+2QSGq2Cgaaiao3RJfZAN5p7UM2O+vlwFuBFwcqV74jBQb1Fx GKsPY6h67ep8kejuoN1CiHGMCX9LlXMBtCE3joKWrRnaD3Txv+XKgW4NB0B6+JbO6smAjM 4ZwT3YbWe2Vrehc8UvDNcFZwgI1FDqFkOlZjYpG6VSaIRXqCyQFfs8zMNKc7dq91EW8JBH /X4s2k1ZKtRUydnulGGTsMqlimiE2ZL9IVwE74D4EY3OPigEz7kmiuKcl0vtPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236761; a=rsa-sha256; cv=none; b=ZfzxTXs/yM4687VBPeC93G4e1TmqWeMLFpCWpXWFUt4FooxE+pzBjp6LTGKeoJdwLBUqWs m6dAhRENoXiLNd3+r/7VaV4xklAbCZ26q5oAgzQxXhdcLuJdlf3Hw2ikz5lbUcsJ5FvQ6+ HEK9kXuaae8C7lwV9IuuaVA0sxB3MwqnyijlHUU7N46uIajbHXcA8BoH1HuAa4p6Wfm4xU GZku1QPlKYmGg/DJ59JIxfA9pjlK8if2m7UohvELeyF9TKPL8A67yDKJlVyOd3HiJq4I7D x4hb5R3feKWrhly1NDW+EZ/GNyT7WL2QR+PydSvmEKaft0+afc0aDlXp9wIjKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2LTymUmbeRRUmplCXRcEbnxVK5djkIAwoUfNQQj9ZY=; b=rrXVGWodCE5uuahildfSbEUa5CAKcYtp8MuycyOwDsFzVbvqtJkpBBMhJcV7dAbnZwQbbC SL8Kvj3FdB67SdBXri8Il807PNPEkJN/dKVGCZ71dUgxLz8O6U3R4x6pwL9XoBXmAiRLsT NL5zP+HksRsw+jOU7FD+7Ru4zrvwwSD9WORurDwdBG2pxU0yjrr03pyKWEqaPwMr+piVpZ MPHTvJrF+X8BIpE92kE4ywehUv6QwyaXF79WovZrqQkgQr2A1xkoWy3YX9+gzYAYkOA0Uh i+Bp26a+IShxzmhgl8Pc/y5ERmJzHPagIenim6mdFP0kLrqhKMKB1wr4oOX8eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVK31k0zcv3; Thu, 06 Mar 2025 04:52: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 5264qfeA026392; Thu, 6 Mar 2025 04:52:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qfh3026389; Thu, 6 Mar 2025 04:52:41 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:41 GMT Message-Id: <202503060452.5264qfh3026389@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: 1ba655149ed0 - main - if_clone: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1ba655149ed0447f93e997a60330d9b962d061f2 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1ba655149ed0447f93e997a60330d9b962d061f2 commit 1ba655149ed0447f93e997a60330d9b962d061f2 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:44 +0000 if_clone: Use static initializers While here, remove vnet_if_clone_init() which is therefore an empty function. MFC after: 1 week --- sys/net/if.c | 1 - sys/net/if_clone.c | 9 +-------- sys/net/if_clone.h | 1 - 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index ce0c3d5c0616..21e3b1a8576a 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -433,7 +433,6 @@ vnet_if_init(const void *unused __unused) CK_STAILQ_INIT(&V_ifnet); CK_STAILQ_INIT(&V_ifg_head); - vnet_if_clone_init(); } VNET_SYSINIT(vnet_if_init, SI_SUB_INIT_IF, SI_ORDER_SECOND, vnet_if_init, NULL); diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index 13d89e4e2c59..066547ceeeb3 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -128,7 +128,7 @@ static int ifc_advanced_create_wrapper(struct if_clone *ifc, char *name, size_t static struct mtx if_cloners_mtx; MTX_SYSINIT(if_cloners_lock, &if_cloners_mtx, "if_cloners lock", MTX_DEF); VNET_DEFINE_STATIC(int, if_cloners_count); -VNET_DEFINE(LIST_HEAD(, if_clone), if_cloners); +VNET_DEFINE(LIST_HEAD(, if_clone), if_cloners) = LIST_HEAD_INITIALIZER(); #define V_if_cloners_count VNET(if_cloners_count) #define V_if_cloners VNET(if_cloners) @@ -183,13 +183,6 @@ VNET_DEFINE(LIST_HEAD(, if_clone), if_cloners); static MALLOC_DEFINE(M_CLONE, "clone", "interface cloning framework"); -void -vnet_if_clone_init(void) -{ - - LIST_INIT(&V_if_cloners); -} - /* * Lookup and create a clone network interface. */ diff --git a/sys/net/if_clone.h b/sys/net/if_clone.h index e11fc5c8cdd7..5a74ffa1cc2f 100644 --- a/sys/net/if_clone.h +++ b/sys/net/if_clone.h @@ -148,7 +148,6 @@ typedef void (*if_clone_event_handler_t)(void *, struct if_clone *); EVENTHANDLER_DECLARE(if_clone_event, if_clone_event_handler_t); /* The below interfaces used only by net/if.c. */ -void vnet_if_clone_init(void); int if_clone_create(char *, size_t, caddr_t); int if_clone_destroy(const char *); int if_clone_list(struct if_clonereq *); From nobody Thu Mar 6 04:52: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 4Z7cVN1MBMz5pS4l; Thu, 06 Mar 2025 04:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVM5XSFz3BqH; Thu, 06 Mar 2025 04:52:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+sJyxPqlbZ0Ntc7sZB9mWaZbAOeeap6nQD3bq18I/oo=; b=aNtPMaQUA8ZsoEgBInwIdF2BDFTX+oPHpUIR5RU8fLwbNMJwT0LN82JdlOyk+I7PW6WVC8 MfM3vSfDQpS8vr9KMzaPqpMohTKmr/JaHPUdpCJ7D5owvXgw4QjnQHP0LEtpefF69Z+mY7 faH/0pi/xHxOv08GK5kO8T1Uk3UxdRQaZ3rK13Un2LjqT+oWWvRwGxAJUJsygQVYRefeP+ zHwSUw0MfcqGPObhQqtuR14XoFM/zk9g0oimlCWHS+EGs6v+PDF5wjSOemNo7sB/R/I+ft Vt/2kCmoWGpCHCL3uDTGluTJXlE0uGcRCJXvqc+jodJscOyUSoiNoFP4jP6kPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236763; a=rsa-sha256; cv=none; b=s1uLBfvJZ5HF3K1QV+5HfO4xW6UbGEsCo4ovVzBwu7IyQysdQ9TOuHu9PO1kBjb81/5fhB W9AZjGNgctMW3IczhCE8avzWDSxoGKOQmpl5GXDGzl7sokJkfimQB42/Rmk8FmhdjFvHS2 wfVTaNCYJQFx9qzNaS8DngME9duavHkSsd/vEkfM4ybrnb5qTI69PeS3ZJu1Nl3KPoKqk3 Hgz26KACrVHZnvSIyqcZsGPpIi0L2902+9XPGRs0CL9B8JW4HaTD3oIi6D4H7cLDIKpjft 9tb1rbo9yPrxSUGneQK4+E1rrSUonyMQ7buQ9p1a0dogelkQZb+SGTV4EUwwNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+sJyxPqlbZ0Ntc7sZB9mWaZbAOeeap6nQD3bq18I/oo=; b=GTKFO9eM0coE2CCtiJBBvKPvkK+e4FFz3vR7e0NzJ/w3SKka+7kVpY74Auq5CugdEbj1QX 8FKWnEUmiUnscy3IJzaTIe9JFko6Kc6Y2NkfzB7hxwtlMvIad4FLJAZI2mfon139Bvdwpv i3bulRSjtdkrHsj9tdN5mhqQMSFElYjMWp/wJKpA8m8NwwsEnZo+Fq4KuQjmIx0o0bd9Z1 JlMs/9Nq31X01YsziOEh22M+11701aM6A0Xj8EZaAFI0L6FevImQsRbGhkhtR7Y8QRgcIE wC6Vc/5mi31PPlSnmRoYHp5OtQVaRdaYkgB15JBxketM1avWqzqZ+o81pn6NqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVM4x3YzcxY; Thu, 06 Mar 2025 04:52: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 5264qhDS026466; Thu, 6 Mar 2025 04:52:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qhlF026463; Thu, 6 Mar 2025 04:52:43 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:43 GMT Message-Id: <202503060452.5264qhlF026463@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: 09de37310313 - main - tcp_ratelimit: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 09de37310313d87942fc5349914be46b9cb8c808 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=09de37310313d87942fc5349914be46b9cb8c808 commit 09de37310313d87942fc5349914be46b9cb8c808 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:45 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:45 +0000 tcp_ratelimit: Use static initializers MFC after: 1 week --- sys/netinet/tcp_ratelimit.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_ratelimit.c b/sys/netinet/tcp_ratelimit.c index 22bdf707fa89..a0e837cc7d76 100644 --- a/sys/netinet/tcp_ratelimit.c +++ b/sys/netinet/tcp_ratelimit.c @@ -246,10 +246,10 @@ const uint64_t desired_rates[] = { #define RS_ONE_GIGABIT_PERSEC 1000000000 #define RS_TEN_GIGABIT_PERSEC 10000000000 -static struct head_tcp_rate_set int_rs; +static struct head_tcp_rate_set int_rs = CK_LIST_HEAD_INITIALIZER(); static struct mtx rs_mtx; -uint32_t rs_number_alive; -uint32_t rs_number_dead; +uint32_t rs_number_alive = 0; +uint32_t rs_number_dead = 0; static uint32_t rs_floor_mss = 0; static uint32_t wait_time_floor = 8000; /* 8 ms */ static uint32_t rs_hw_floor_mss = 16; @@ -1778,9 +1778,6 @@ static eventhandler_tag rl_shutdown_start; static void tcp_rs_init(void *st __unused) { - CK_LIST_INIT(&int_rs); - rs_number_alive = 0; - rs_number_dead = 0; mtx_init(&rs_mtx, "tcp_rs_mtx", "rsmtx", MTX_DEF); rl_ifnet_departs = EVENTHANDLER_REGISTER(ifnet_departure_event, tcp_rl_ifnet_departure, From nobody Thu Mar 6 04:52: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 4Z7cVM0Cbcz5pS4k; Thu, 06 Mar 2025 04:52:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVL4Q79z4B84; Thu, 06 Mar 2025 04:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSmId327iL9SXpzzB5Lirs2sAZ2aD4FyqtFl4kBKQtU=; b=OFFbM8Rssc4Ccy5yC4YxunTVjb7FyWVHipo8z+W1P8C959KlHJ/DcZvZk893EViwGnDguQ u1+OW14DAO5ExL2846CA/4xSdh7vPWdYkT0PIKpwQXrDDDSDsjc+cDGCpz3yYbteSLDv/1 qAsM7x/ACW2+0AC88UNtQo1Jk3zdvpu6uXkWNkc/9rnNyMyGaE526V9moyqGKNTSxymBQw 3A78fqtbUdB+da+Bl5cfyMaWJQYqB1jfGexUz1tYGNAvaRjKlbBzyfZhL6CBEUyiSomoUR 9+xJwTW/00snr6prztgQMWHvOW3JHb6Yb6BZ77dz5YhRCSgXz9BfZMa4Nces1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236762; a=rsa-sha256; cv=none; b=txfNqsKEFP1YOe8DJ7n0Kz0cAwVOZqi4IjpCLSIlZNEgjsdrrPWgcHTG/sVnaa9FyWvQzN gvkwkX3aAleP9X0gJRZaoLXAYMC/ho7M/1OXz9xbctjQSkm4q0pvv6BbbqvrX/ffU/Smjz d79BWjRRwfIaqrANMvZ25kohNSdWBSHWpja1Di/WLgkq/kTnM1skW3f7MBhdI7DAy6bfxE 9M7iS+rPXqirpCKaTnC73TkT+fqbTGQ3hFuFm0kDN3gWU/P9pcYBqieFB/J3hAajUjG1Cy iv9BO1leO6ic+TY5lJ8iPxI41DOnsVc4Ax2CF6mb4OFegoSYCZBsQ7dd9xaShA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSmId327iL9SXpzzB5Lirs2sAZ2aD4FyqtFl4kBKQtU=; b=Pc/w0LaKCBdvxq4jDrYTFNURdElO1HYYxPhp9Tue97/kM64UZZXlzWDDleMchvTgmCh0/W 1iTJbPCdssRD6nnn+1whXD1f0xrDVnqspByR3qjcG5XCD/SIW7nNvKnrEwx4SCtcvureE8 X+9N3qkohaYDiFPfkVQtPzdXvxbtdxm1rdctODWr77H/QobH40EetkvXpqBSBHGW056M2U wzVVQEjtz/wCyQYG2yHoE/aJ+a/eKLbfUFxA3FQ8o38y7MpemwxX0Iy9e6cWRhH1p43giu Dy8JdmnPraA0Jn/e8rlxLJhmFJgQRiEmRk+rb9ramXdRPwWQ2bYAGzIwutZ20Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVL3zGCzcrF; Thu, 06 Mar 2025 04:52: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 5264qg7w026432; Thu, 6 Mar 2025 04:52:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qg99026429; Thu, 6 Mar 2025 04:52:42 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:42 GMT Message-Id: <202503060452.5264qg99026429@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: 36ebdd0155d0 - main - lagg: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 36ebdd0155d07fc53375fb212d9ca80158dde350 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=36ebdd0155d07fc53375fb212d9ca80158dde350 commit 36ebdd0155d07fc53375fb212d9ca80158dde350 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:44 +0000 lagg: Use static initializers MFC after: 1 week --- sys/net/if_lagg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 9bc42cb8cbe6..9867a718e148 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -102,7 +102,8 @@ struct lagg_snd_tag { struct m_snd_tag *tag; }; -VNET_DEFINE_STATIC(SLIST_HEAD(__trhead, lagg_softc), lagg_list); /* list of laggs */ +VNET_DEFINE_STATIC(SLIST_HEAD(__trhead, lagg_softc), lagg_list) = + SLIST_HEAD_INITIALIZER(); /* list of laggs */ #define V_lagg_list VNET(lagg_list) VNET_DEFINE_STATIC(struct mtx, lagg_list_mtx); #define V_lagg_list_mtx VNET(lagg_list_mtx) @@ -299,7 +300,6 @@ vnet_lagg_init(const void *unused __unused) { LAGG_LIST_LOCK_INIT(); - SLIST_INIT(&V_lagg_list); struct if_clone_addreq req = { .create_f = lagg_clone_create, .destroy_f = lagg_clone_destroy, From nobody Thu Mar 6 04:52: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 4Z7cVP5HQYz5pS9G; Thu, 06 Mar 2025 04:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7cVP0R41z3BnZ; Thu, 06 Mar 2025 04:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7teycgOjzp0rDVhNUHMm0wIN6OOlROjE4K7A37cJj5s=; b=YBuuziZuVchuLb9SBla1N5d9+ZM2ifJ9zxoCU7rpTiyKBUHbqMK+cLnQUht14mZcDEXUxs qEz0pLinbtoTCnylqAu2viASApNcBmLKddSvqFXTvBg6Mbb9IaxR7owi7roIQDemSoImcv A5TveIP0kUATrNyunCiLAEJXJskbl/4UU/0K+0iA6jFU6pSvgYFLErOy5f6JwYupsc+7T4 kfS9M1iwnPuGFGupFJxGr9ZRXtHmRHK2V1nXos6DfGYqlRvcDh+AvIeopRTynMmTgQfkKX Jf45bwXGddAiFvZXw+s3JMdsW4S25FeHdniCJ/7BW5gUfqk8fUpXzECIcZzlvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741236765; a=rsa-sha256; cv=none; b=YIGZyxC0u2fvBU6Zc4ZTSePi0Zf1sfOFmOD1ySlqz1nYkQaRi3NP9Pz4fztqx3foZG1j5N BZIPZGJWlWO6qoueQuTUdQbQBJrseya7KqdyAO+It4Csf+zi1XGbWpcbxZo3Q6CSq6vU5w Wj68/vBeSipubTYywygUgk6kEPs5SvggBeEtzoqdOa0NFUoDRu7b3sTIDRRoDyLQSgSCGC hRXIZuZZCW4+Msv+eaMNm7xQD+ouO2RJya9u2KubQG7pWFyzdJB7eExfSXtghNXcLr0i1K js3C35JYul4PgqqX8Z6eNp16lcCSbzo98M+CecTzaFC/2TibuEs2vVsv3o401A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741236765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7teycgOjzp0rDVhNUHMm0wIN6OOlROjE4K7A37cJj5s=; b=LG+bnGwHMK0oWWgqgA/GHi+BuaRQ+WD0qPan5O7pPFPTTBuzqrvmc2JmiMUcva9kC/fkU8 aE8Y6f9uCd+EofNZTNxQnYMzoVS2e55WlvGeGMu7mLlNm4ZFORA27LuLF8QzYXM5av1hpI 5lALSQ1y/aTfuvYxhIrN67e5p/GhOHCsai8syRoDuBOgukUEMrMnM9X/4wXoAgmo/w0128 b2YlubfpVZnwBkNQMy1HzvD2wLcLyflXbgnOFzgJLIkh5TOCgfpHBoAhDCP4D1+4UDv5Ds NBiySLDqa6ypxYG4XXjvYytaomZZcmrmaz14D/LWiCjnsjS9JU14p0wkfOPkuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7cVN5yBCzcGC; Thu, 06 Mar 2025 04:52: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 5264qi7Q026499; Thu, 6 Mar 2025 04:52:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5264qihE026496; Thu, 6 Mar 2025 04:52:44 GMT (envelope-from git) Date: Thu, 6 Mar 2025 04:52:44 GMT Message-Id: <202503060452.5264qihE026496@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: 23f453ae34c2 - main - vnet: Use static initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 23f453ae34c29b99f892da18db44ce4292ccb7c3 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=23f453ae34c29b99f892da18db44ce4292ccb7c3 commit 23f453ae34c29b99f892da18db44ce4292ccb7c3 Author: Zhenlei Huang AuthorDate: 2025-03-06 04:51:45 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-06 04:51:45 +0000 vnet: Use static initializers MFC after: 1 week --- sys/net/vnet.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/net/vnet.c b/sys/net/vnet.c index 94be49376adf..c64aaf9f61b5 100644 --- a/sys/net/vnet.c +++ b/sys/net/vnet.c @@ -101,7 +101,7 @@ struct sx vnet_sxlock; sx_xunlock(&vnet_sxlock); \ } while (0) -struct vnet_list_head vnet_head; +struct vnet_list_head vnet_head = LIST_HEAD_INITIALIZER(vnet_head); struct vnet *vnet0; /* @@ -318,7 +318,6 @@ vnet_init_prelink(void *arg __unused) rw_init(&vnet_rwlock, "vnet_rwlock"); sx_init(&vnet_sxlock, "vnet_sxlock"); sx_init(&vnet_sysinit_sxlock, "vnet_sysinit_sxlock"); - LIST_INIT(&vnet_head); } SYSINIT(vnet_init_prelink, SI_SUB_VNET_PRELINK, SI_ORDER_FIRST, vnet_init_prelink, NULL); From nobody Thu Mar 6 11:03: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 4Z7mjf55d2z5pQ1V; Thu, 06 Mar 2025 11:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7mjf4W9Wz3gmx; Thu, 06 Mar 2025 11:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741258982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vt45hcr3ppc+mhmQejxl2JNQf1pGtT1mudqMh8k5ryY=; b=MmHHW+yWZIL36BUKULa5VseRu0ijgEwC5vZjtu1WabUg4QUBUAzWhgUvJoQEtudYyjAG0F xCIHWA6aXqtoXoJpGyCknesskbawJEqqH61aJOrRcQB/X+BFwQD7r1zoJ+vXLOsrJUTJ8G 0pvAHeD0SaS+L5wYTW2rjmTihKRt/yICT4fsTFaYHewPT1HNzeSkk3fpCVWy4dCFRHs8gH A3eLwx8M5quW5GmP0gqCp6kJRxnmhuDcGBNizun/prwjJPIuxR5MngJE+kRGskRlv4AKH1 7UtR7e+qmsgEsSmkeaL0HCpx+3ykJGzR+0i/IaZqB3TtwYNLPTPNMOTtYagN1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741258982; a=rsa-sha256; cv=none; b=NaOYgcZeApnb8KXJRY2rAA+mz8vDaOpzQ7D/dLdAksmPZ16MSJdEXhDhgbOoJeDBm6lHdm ZXCT0/SMZoEc681E0YfDex93oZVddcRlU+Xw2Eg+44dVgMLYZL+dMZuxffxSL8Hq1goI1H I1vPJiz3daoYmvX+SWX7c9nPzRUYUa7ReuKjNEdDZMq1hGHXoTtvtxopaUHwbxv2uglFAw aSWqAJnNZkaAG+37817IppFePe5sHkflk2FNA77HlKPeslsJA2nBhqB3TKGfKB8wvTvgC1 EOlgQt1XGshIRy/KS+k8iZgLEoz8WX6qVd1lFFR6wjwbifnonvQAmMAQr7WbXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741258982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vt45hcr3ppc+mhmQejxl2JNQf1pGtT1mudqMh8k5ryY=; b=jCzx7zz1Z/gmkGFU2wBA36tn2xFJT+NS6EBJ3yusLAUKOceQofnWr659Q7UC0bN9RJuq0a akGc+qAL6TIhVFnl8tJIbKDgrayrv4ds802vyv8vS7RdWSoHFOBIEsm9qQdjMSzFbK+H+R CJyKijUWr99uJW80kDGAphFTWxYAl7PpotuFKk11mQdx5KMA5O0INaEliToDi+TQ0/ysWJ Au7XIPLZNGVFmo+mN+pj2Rp347VLJCgkBqJ+aPCt8cCQ3+DL5xlTlPHPpjDgs3XfLPsuGm jR9tVN84VDecNNcblNBrMGpFhPB5aWVJZRIVctPKusGw9HevzRZatyIIgbG8Dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7mjf41QrzntD; Thu, 06 Mar 2025 11:03: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 526B32X8022655; Thu, 6 Mar 2025 11:03:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526B32Id022652; Thu, 6 Mar 2025 11:03:02 GMT (envelope-from git) Date: Thu, 6 Mar 2025 11:03:02 GMT Message-Id: <202503061103.526B32Id022652@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 234683726708cf5212d672d676d30056d4133859 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=234683726708cf5212d672d676d30056d4133859 commit 234683726708cf5212d672d676d30056d4133859 Author: Mateusz Guzik AuthorDate: 2025-03-06 11:01:49 +0000 Commit: Mateusz Guzik CommitDate: 2025-03-06 11:01:49 +0000 devclass: make devclass_alloc_unit use M_NOWAIT The only caller already does this. The routine can be called with a mutex held making M_WAITOK illegal. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/subr_bus.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 9506e471705c..0422352bba51 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) static int devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) { + device_t *devices; const char *s; int unit = *unitp; @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) int newsize; newsize = unit + 1; - dc->devices = reallocf(dc->devices, - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); + devices = reallocf(dc->devices, + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); + if (devices == NULL) + return (ENOMEM); + dc->devices = devices; memset(dc->devices + dc->maxunit, 0, sizeof(device_t) * (newsize - dc->maxunit)); dc->maxunit = newsize; From nobody Thu Mar 6 11:32: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 4Z7nMH68vzz5pS4L; Thu, 06 Mar 2025 11:32:11 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7nMH2dWPz3rCf; Thu, 06 Mar 2025 11:32:11 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741260731; 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=sArnxEZ3utMyaYzKvo18hubCF9ygEcfBZBWhTgosCxA=; b=t2LEzzSVGjJvce71P26TgAFZByPkfncwmpzNnH9ixU6JSTlt8Tmq3CcT1/GsyE1RNSXex8 HNNUYF4Y2vknXg5F94lWr3dKlWboqRxXfyhY58HehcmTDX8UVlKOh27P9LTbJOL13PNZZ8 TKHyA0LU+IsljMryorSRgGOQHt8vqaeLoj739GmlegPo+2pmqZ7h7mjCpbAaKmbU4OH9g4 5QroV8/QqblE9YDRKwfWY17ow9YcqAnXCQ4EC5ygiryNRGdjMpay8OwOw5A36egq2pnEGe MU85ZqNzxh4vnbXmAIQLJjBNJ5IdezQDqrZZjDc7hKvTQJOgNZR5xDAvaW3sew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741260731; a=rsa-sha256; cv=none; b=niqsSthaEtWp3UaoVl+coq+eJoyr6w+x0iJoMlpz8XfJunTs6T6TKZZ+N41FfmyaUj+ykJ Djebtb9PckPwuESJC5gFNgmoEW2okU6YPz2YPRHn199Skx711gLZvoguatWp7/OodZQvtV /ljbT0WGsuljkgslq+1805GSx7izbdpsuC53V0q5l/SLz0q6/JRGscFrU7dLSboBb2f7Ev x8Me8nqhPDPwf9FP3/1XgrbwZxvneUMEp3PTXApI4WN4oBSjZCVW0BNim4NF1mJjNN/fXw q27j++BHYWeO07grLtllYUvzkYE9wU2ol/A/YSn2esEb7b0ewuHWiUw/5mKAjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741260731; 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=sArnxEZ3utMyaYzKvo18hubCF9ygEcfBZBWhTgosCxA=; b=VqTvRHcHHTA4s/lfLi57yocBXEsjitoIbqsYnD+z1SLBlGMcHD0902AkWP3aVHpHY//Zl+ 2hXuip7JuW569kyiQl6PXCJ+L0IzPutNrv0o1zP1Tva1nPL80EkC7udSrP0yafAAZJnNbP 8cixhZatwRxV5DMZSn2L/9g1WQp5/WIWjprhEYq1EinFnmfVRSzdyjajdc3Uvi9RNClGDB yodHLmBMGv8LA8txtBfAD/zP3+mTIjuLdpk0H6FxKqgDpSGgBpAwSKWC4roPCG9OBOMTnX n+gnJUrcrtuSMriEWw8nKpV7UBlvgpiGActxHTvvotnJYgq8UZwSoVcF4WMqnA== 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 4Z7nMF4WdKztwm; Thu, 06 Mar 2025 11:32:09 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_35C7DAD6-2678-417F-87A5-DCFFE513A6FC" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT Date: Thu, 6 Mar 2025 19:32:02 +0800 In-Reply-To: <202503061103.526B32Id022652@gitrepo.freebsd.org> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , Warner Losh , "dev-commits-src-main@freebsd.org" To: Mateusz Guzik References: <202503061103.526B32Id022652@gitrepo.freebsd.org> X-Mailer: Apple Mail (2.3696.120.41.1.10) --Apple-Mail=_35C7DAD6-2678-417F-87A5-DCFFE513A6FC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: >=20 > The branch main has been updated by mjg: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676d30056= d4133859 >=20 > commit 234683726708cf5212d672d676d30056d4133859 > Author: Mateusz Guzik > AuthorDate: 2025-03-06 11:01:49 +0000 > Commit: Mateusz Guzik > CommitDate: 2025-03-06 11:01:49 +0000 >=20 > devclass: make devclass_alloc_unit use M_NOWAIT >=20 > The only caller already does this. >=20 > The routine can be called with a mutex held making M_WAITOK = illegal. >=20 > Sponsored by: Rubicon Communications, LLC ("Netgate") > --- > sys/kern/subr_bus.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) >=20 > diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > index 9506e471705c..0422352bba51 100644 > --- a/sys/kern/subr_bus.c > +++ b/sys/kern/subr_bus.c > @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) > static int > devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) > { > + device_t *devices; > const char *s; > int unit =3D *unitp; >=20 > @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t = dev, int *unitp) > int newsize; >=20 > newsize =3D unit + 1; > - dc->devices =3D reallocf(dc->devices, > - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > + devices =3D reallocf(dc->devices, > + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); I'd recommend against this. =46rom the commit message of f3d3c63442ff, = Warner said, > In addition, transition to M_WAITOK since this is a sleepable context So, the M_WAITOK is intentional. Rather than reverting this, the caller devclass_add_device() should use = M_WAITOK. ``` - dev->nameunit =3D malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); - if (!dev->nameunit) - return (ENOMEM); + dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | M_ZERO); ``` Best regards, Zhenlei > + if (devices =3D=3D NULL) > + return (ENOMEM); > + dc->devices =3D devices; > memset(dc->devices + dc->maxunit, 0, > sizeof(device_t) * (newsize - dc->maxunit)); > dc->maxunit =3D newsize; --Apple-Mail=_35C7DAD6-2678-417F-87A5-DCFFE513A6FC Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Mar 6, 2025, at 7:03 PM, Mateusz Guzik <mjg@FreeBSD.org> = wrote:

The branch main has been updated by mjg:

URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d67= 2d676d30056d4133859

commit = 234683726708cf5212d672d676d30056d4133859
Author: =     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2025-03-06 11:01:49 +0000
Commit: =     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2025-03-06 11:01:49 +0000

   devclass: make devclass_alloc_unit use = M_NOWAIT

   The only caller = already does this.

   The = routine can be called with a mutex held making M_WAITOK illegal.

   Sponsored by: =   Rubicon Communications, LLC ("Netgate")
---
sys/kern/subr_bus.c | 8 ++++++--
1 file = changed, 6 insertions(+), 2 deletions(-)

diff= --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index = 9506e471705c..0422352bba51 100644
--- = a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t = dc)
static int
= devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp)
{
+ device_t *devices;
= = const char *s;
int unit =3D *unitp;

@@ -1264,8 +1265,11 @@ = devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp)
= = int newsize;

newsize =3D= unit + 1;
- dc->devices =3D = reallocf(dc->devices,
-    newsize * = sizeof(*dc->devices), M_BUS, M_WAITOK);
+ devices =3D= reallocf(dc->devices,
+    newsize * = sizeof(*dc->devices), M_BUS, M_NOWAIT);

I'd = recommend against this. =46rom the commit message of f3d3c63442ff, = Warner said,
> In addition, transition to M_WAITOK = since this is a sleepable context
So, the M_WAITOK is = intentional.

Rather than reverting = this, the caller devclass_add_device() should use M_WAITOK.

```
-       dev->nameunit =3D malloc(buflen, = M_BUS, M_NOWAIT|M_ZERO);
- =       if = (!dev->nameunit)
- =               return = (ENOMEM);
+       = dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | = M_ZERO);
```

Best regards,
Zhenlei

+ = = if (devices =3D=3D NULL)
+ return = (ENOMEM);
+ dc->devices =3D devices;
= = memset(dc->devices + dc->maxunit, 0,
=    sizeof(device_t) * (newsize - dc->maxunit));
= = dc->maxunit =3D newsize;



= --Apple-Mail=_35C7DAD6-2678-417F-87A5-DCFFE513A6FC-- From nobody Thu Mar 6 11:34:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z7nQN2V08z5pS7V; Thu, 06 Mar 2025 11:34:52 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7nQN2FYtz3sNW; Thu, 06 Mar 2025 11:34:52 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741260892; 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=g7w/giCe9B7hMHxWnDTVGUopc6q7+bXaDsTkPdbt430=; b=xYivmioAxR28DYLUPpm/TXk193PUKHA3D3/18SOnzxrUQaFrbHCKDkMKcNES1h3zLCQuzk ZpnsAJUT3u6f79z7fx5Ry6LKI9ByJq8JHQ4WpfbFvh/ZQtDUy29F5QkzyF81iCMvtUIRAs poVvTQlgXD4E0hNDtjZ3YiGS1hcEoyV7+Msn47Rkl1qPuK0nWk7t28/DALAAozs7Pkan/g FTNiRyvnuD65LCci2saagI18cMXGAU3Sk6Jy0+XvDpGcul5YATbO428A/QZCl0hvcmOMK0 8xgmsjv40r3XKAYfxLigzNOXbGlXXsklPaUMdzUiRiOJGrqP5aOPk4TtIuK0XQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741260892; a=rsa-sha256; cv=none; b=whOgdslRQZzJAuZqvH0ZGUiW9Jqw8OrpeiA64+BHoRjTsmnXULHNoII71LuQVQURZL3P9J hFMqr2e7D/IXToSRLKIw11MQMuRkmQIHpVLz/j6KGdm6yrr7CEDEZRrl7YAmyWX+3dwpgf D8bSgUHwBUSCd/xGEAPtJrRcquqdPg9o2d4I9Lhj1OuDAzeN5pU2dla0VKPMt8oeIiVQ1O CjqKdeFero1x/yTV7VaPrzPFjFA9+FdxkbT1hUfpG7mvyRR8UoD9tSVYyK30EnT/4dI0c5 k8pPuWe7UKcevAnvRcIZ36qQlu6FqiC5exYsPKN7zXKZxPYs5hmGrcPsSoADMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741260892; 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=g7w/giCe9B7hMHxWnDTVGUopc6q7+bXaDsTkPdbt430=; b=M6jaQH5wP9v8PNiAOycRy2PFvG9eMuMb1AM0JvTwc+g5IihDi6UrbAeRSjB21RMy5NCH+r /eKwY1eK5ivL+XxWhtTNh6eYLtkU04Zdha+3JNeGRA1ZDiYcjS14OUTCi4jwUVN+1GY1zx zqBJCj+qYh9YHwrFmrQ/Ob3aDrLBpTJHi6WPcPX6SnBev2kEFKXkPGjdXXV/qQmFDvgVCp o9i9liYXCpDopNg0TRB7JKg2NEUKgoSTqM7dv+jpYg1L4X5YMkER4qI+iMIsIZvAzcv2dO yrQxPBYlEuV4s33JgABy2crLOerTx7/5Nbl1cUK7adsufqjk+tBFq7/UlA2OfQ== 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 4Z7nQL29LvzsbF; Thu, 06 Mar 2025 11:34:50 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: <6BE51FFD-DE19-42E6-B115-354BB74B4D78@FreeBSD.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_21A3F846-4569-4526-B2CD-C22C6384E294" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT Date: Thu, 6 Mar 2025 19:34:41 +0800 In-Reply-To: Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , Warner Losh , "dev-commits-src-main@freebsd.org" To: Mateusz Guzik References: <202503061103.526B32Id022652@gitrepo.freebsd.org> X-Mailer: Apple Mail (2.3696.120.41.1.10) --Apple-Mail=_21A3F846-4569-4526-B2CD-C22C6384E294 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Mar 6, 2025, at 7:32 PM, Zhenlei Huang wrote: >=20 >=20 >=20 >> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik > wrote: >>=20 >> The branch main has been updated by mjg: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676d30056= d4133859 = >>=20 >> commit 234683726708cf5212d672d676d30056d4133859 >> Author: Mateusz Guzik > >> AuthorDate: 2025-03-06 11:01:49 +0000 >> Commit: Mateusz Guzik > >> CommitDate: 2025-03-06 11:01:49 +0000 >>=20 >> devclass: make devclass_alloc_unit use M_NOWAIT >>=20 >> The only caller already does this. >>=20 >> The routine can be called with a mutex held making M_WAITOK = illegal. >>=20 >> Sponsored by: Rubicon Communications, LLC ("Netgate") >> --- >> sys/kern/subr_bus.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >>=20 >> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c >> index 9506e471705c..0422352bba51 100644 >> --- a/sys/kern/subr_bus.c >> +++ b/sys/kern/subr_bus.c >> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) >> static int >> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) >> { >> + device_t *devices; >> const char *s; >> int unit =3D *unitp; >>=20 >> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t = dev, int *unitp) >> int newsize; >>=20 >> newsize =3D unit + 1; >> - dc->devices =3D reallocf(dc->devices, >> - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); >> + devices =3D reallocf(dc->devices, >> + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); >=20 > I'd recommend against this. =46rom the commit message of f3d3c63442ff, = Warner said, > > In addition, transition to M_WAITOK since this is a sleepable = context > So, the M_WAITOK is intentional. >=20 > Rather than reverting this, the caller devclass_add_device() should = use M_WAITOK. >=20 > ``` > - dev->nameunit =3D malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); > - if (!dev->nameunit) > - return (ENOMEM); > + dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | M_ZERO); > ``` Emm, sorry for the noise. I missed the commit message, > The routine can be called with a mutex held making M_WAITOK illegal. >=20 > Best regards, > Zhenlei >=20 >> + if (devices =3D=3D NULL) >> + return (ENOMEM); >> + dc->devices =3D devices; >> memset(dc->devices + dc->maxunit, 0, >> sizeof(device_t) * (newsize - dc->maxunit)); >> dc->maxunit =3D newsize; --Apple-Mail=_21A3F846-4569-4526-B2CD-C22C6384E294 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Mar 6, 2025, at 7:32 PM, Zhenlei Huang <zlei@FreeBSD.org> = wrote:



On Mar 6, 2025, at 7:03 PM, = Mateusz Guzik <mjg@FreeBSD.org> wrote:

The = branch main has been updated by mjg:

URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d67= 2d676d30056d4133859

commit = 234683726708cf5212d672d676d30056d4133859
Author: =     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2025-03-06 11:01:49 +0000
Commit: =     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2025-03-06 11:01:49 +0000

   devclass: make devclass_alloc_unit use = M_NOWAIT

   The only caller = already does this.

   The = routine can be called with a mutex held making M_WAITOK illegal.

   Sponsored by: =   Rubicon Communications, LLC ("Netgate")
---
sys/kern/subr_bus.c | 8 ++++++--
1 file = changed, 6 insertions(+), 2 deletions(-)

diff= --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index = 9506e471705c..0422352bba51 100644
--- = a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t = dc)
static int
devclass_alloc_unit(devclass_t = dc, device_t dev, int *unitp)
{
+ device_t = *devices;
const char *s;
int unit = =3D *unitp;

@@ -1264,8 +1265,11 @@ = devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp)
= = int newsize;

newsize =3D= unit + 1;
- dc->devices =3D = reallocf(dc->devices,
-     newsize * = sizeof(*dc->devices), M_BUS, M_WAITOK);
+ devices =3D= reallocf(dc->devices,
+     newsize * = sizeof(*dc->devices), M_BUS, M_NOWAIT);

I'd recommend against this. =46rom the commit message = of f3d3c63442ff, Warner said,
> In addition, transition to = M_WAITOK since this is a sleepable context
So, the M_WAITOK is = intentional.

Rather than reverting this, the = caller devclass_add_device() should use M_WAITOK.

```
-       = dev->nameunit =3D malloc(buflen, M_BUS, = M_NOWAIT|M_ZERO);
- =       if (!dev->nameunit)
-               return = (ENOMEM);
+       = dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | = M_ZERO);
```

Emm, sorry for the noise. I missed the commit = message,
> The routine can be called with a mutex held = making M_WAITOK illegal.


Best regards,
Zhenlei

+ if = (devices =3D=3D NULL)
+ return (ENOMEM);
+ = = dc->devices =3D devices;
= memset(dc->devices + dc->maxunit, 0,
    sizeof(devi= ce_t) * (newsize - dc->maxunit));
= dc->maxunit =3D = newsize;



= --Apple-Mail=_21A3F846-4569-4526-B2CD-C22C6384E294-- From nobody Thu Mar 6 11:35: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 4Z7nRT3z5Vz5pSBk; Thu, 06 Mar 2025 11:35:49 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) (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 4Z7nRT1yL3z3t5j; Thu, 06 Mar 2025 11:35:49 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-abf4802b242so109597166b.1; Thu, 06 Mar 2025 03:35:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741260947; x=1741865747; 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=oLYj2kguV3i2IGhabNqwlPc2ueKVwmbZFCB9rNTnOUo=; b=nXrW9efbFSR5xrS1QUd466DA8Z0AFPzw72ilsoHrEb7rvJ+rrMjjwfMljJvjS60NFy Nyxwkiwgq5/QwhucVCQGhM6CUxAAjkSJ1MJh2E2O05Ja3U6oy1RLt8y+c1+kYlxC9OCQ +R8lQLpvIaGRzgCdYhj3jj1f++PW+nAAe2hFRiOmUvco1eFm4K+Wcz78IanLmdtkM2kk tNXZr37fRVMzXG9JcsxlRRN5PYSjnHk7xlKYiDzahdbdpMJRYGz9KEdOd37keRLew9uL G7fCzeEtK5EGZpw67A6Lm+fa4soXSgBMnt05PYZpBkRG7xPVrH/Fwsk/HiScmq8Ku1RZ jvwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741260947; x=1741865747; 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=oLYj2kguV3i2IGhabNqwlPc2ueKVwmbZFCB9rNTnOUo=; b=oxulMHFk3ntiFnaVgkpJVgCqLAjl0Tfrnd591jSy4gVgRJ7yxlr0PkuRXOkDXGK2V6 +F4sWRd1hEIRcMuCLqBLUXQVgyGA4oqtKVKKbJKuJzSMv9t9KqIi3zPeV0Sd+oZL9LmR d0OCm+R0LiRwzagyjkxJyqS0d+2OJwD341mjRFMJAczvhqwLJ/O+9uphhCl78XN3pK6o lpqKWhoWcs2QQm1PDcB62Ngg/V3pr6dB+IWdM+Ywbrp0vqESaTfI7D1LkQOmC7IF5H/C /n5+M6qoTO4zV71UH3uyDvhoUr9brah/OS1z5VvoGBs+0LBWnlgV7Kpn9/1GObhUPice mP9A== X-Forwarded-Encrypted: i=1; AJvYcCU3uPmxBOtGlLAAAQPzGgiaIGuIYgipcOvmnT9fDTd6TnjIOXDoDK1xAoYzLLGEhxaIQr7I8M37bOETMr0csX0=@freebsd.org, AJvYcCWTQYXUtoWKdOdjwUpGq7os1DqralrtPhNPWfRoY486z4a0PvJGMyJRl01L3So56TijmOhkHNPKCzLCBoxfDMW/Fw0S1Yo=@freebsd.org, AJvYcCWZa7fgQNwqis2UCXj/ORbbN5tamX0gmQrpPx1HLuPuaiqCAWLMHG4bAuebfjX62w4xj+1eMGhHnpumXfzhQQ7mV+DR@freebsd.org, AJvYcCWltBmZG0FKHhQwIUVJi1XZew/Ye0yZXu4ZHIIRNaSzPfDo6HGs6cNzR80poCbdYVaOeIvk@freebsd.org X-Gm-Message-State: AOJu0Yw2BsPO54gXIIPtB6qFiSBoks3ZZRlrLe7SAgi/DVltgxRxxTek YjduJIkGoQh4RFJNKWicZwK1hHVm9eviGUD17cnmH55sSqjG2IK5ACMe1vMQAsqHI/qYxoe0Dy8 oPsocsdqW3PAMuo+4G+d3bPjjEiGQS870 X-Gm-Gg: ASbGncvLlT1/gVcpBP9B3BEhS9xXVb7XIzXZAQPLkZiEu3U6WRCjEk9za4pFDihj6ir hOehodKVltxIvN7cjFmMocwI9sN8k0M6VVtK7by0KBc8EJUhq4MoxBc6wrIoo5QJvVkfFHujPY4 fV0fRngcnMAv5as5NpPtjq3hEeqg== X-Google-Smtp-Source: AGHT+IEkgD6gYmCUgGUg8vxC5OeVWShnUveRfACWxv2Z+Vmf2Dia0Ff0kGjK38Hl5hnx41KGHpw3fZNrCmoGWMNS2AQ= X-Received: by 2002:a17:906:478b:b0:ac1:df32:ac27 with SMTP id a640c23a62f3a-ac20dafc617mr780731766b.53.1741260946447; Thu, 06 Mar 2025 03:35:46 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202503061103.526B32Id022652@gitrepo.freebsd.org> In-Reply-To: From: Mateusz Guzik Date: Thu, 6 Mar 2025 12:35:34 +0100 X-Gm-Features: AQ5f1JqyKYdyrQ4v97MuR35gDq4nG7TiHdtnyQ_el7iG2-9BySYUuw6JQC4_Uzo Message-ID: Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT To: Zhenlei Huang Cc: Mateusz Guzik , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , Warner Losh , "dev-commits-src-main@freebsd.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Z7nRT1yL3z3t5j X-Spamd-Bar: ---- On Thu, Mar 6, 2025 at 12:32=E2=80=AFPM Zhenlei Huang wr= ote: > > > > On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: > > The branch main has been updated by mjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676= d30056d4133859 > > commit 234683726708cf5212d672d676d30056d4133859 > Author: Mateusz Guzik > AuthorDate: 2025-03-06 11:01:49 +0000 > Commit: Mateusz Guzik > CommitDate: 2025-03-06 11:01:49 +0000 > > devclass: make devclass_alloc_unit use M_NOWAIT > > The only caller already does this. > > The routine can be called with a mutex held making M_WAITOK illegal. > > Sponsored by: Rubicon Communications, LLC ("Netgate") > --- > sys/kern/subr_bus.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > index 9506e471705c..0422352bba51 100644 > --- a/sys/kern/subr_bus.c > +++ b/sys/kern/subr_bus.c > @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) > static int > devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) > { > + device_t *devices; > const char *s; > int unit =3D *unitp; > > @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev, i= nt *unitp) > int newsize; > > newsize =3D unit + 1; > - dc->devices =3D reallocf(dc->devices, > - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > + devices =3D reallocf(dc->devices, > + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); > > > I'd recommend against this. From the commit message of f3d3c63442ff, Warn= er said, > > In addition, transition to M_WAITOK since this is a sleepable context > So, the M_WAITOK is intentional. > > Rather than reverting this, the caller devclass_add_device() should use M= _WAITOK. > Per my commit message this is callable from a *NOT* sleepable context. Here is a splat we got at Netgate: uma_zalloc_debug: zone "malloc-16" with the following non-sleepable locks h= eld: exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked @ /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-sr= c-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 stack backtrace: #0 0xc0330ebc at witness_debugger+0x78 #1 0xc033217c at witness_warn+0x428 #2 0xc05b0a58 at uma_zalloc_debug+0x34 #3 0xc05b067c at uma_zalloc_arg+0x30 #4 0xc0291760 at malloc+0x8c #5 0xc02920ec at reallocf+0x14 #6 0xc02f8894 at devclass_add_device+0x1e8 #7 0xc02f6c78 at make_device+0xe0 #8 0xc02f6abc at device_add_child_ordered+0x30 #9 0xc0156e0c at sdhci_card_task+0x238 #10 0xc0324090 at taskqueue_run_locked+0x1b4 #11 0xc0323ea0 at taskqueue_run+0x50 #12 0xc0275f88 at ithread_loop+0x264 #13 0xc0271f28 at fork_exit+0xa0 #14 0xc05f82d4 at swi_exit+0 It may be some callers are sleepable. Perhaps a different variant accepting flags would be prudent, but I have no interest in looking into that. > ``` > - dev->nameunit =3D malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); > - if (!dev->nameunit) > - return (ENOMEM); > + dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | M_ZERO); > ``` > > Best regards, > Zhenlei > > + if (devices =3D=3D NULL) > + return (ENOMEM); > + dc->devices =3D devices; > memset(dc->devices + dc->maxunit, 0, > sizeof(device_t) * (newsize - dc->maxunit)); > dc->maxunit =3D newsize; > > > > --=20 Mateusz Guzik From nobody Thu Mar 6 12:24:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z7pWP4ynGz5pWLw; Thu, 06 Mar 2025 12:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7pWP4KjWz3KlJ; Thu, 06 Mar 2025 12:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741263857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNO8GjHsO0v5N+x8Vrp/FNkl9M0FRcYgf+FtJTiuUPg=; b=IozVQi4gMt5V/gKn0T8qBIE5yPZu80+Uyit/H3UtsVx8uqRExSKnfLZsRzBFvZU4z7WjB4 /c2WDn8jPiF7+Oy2h7LRHWfVxJ/UCMX1nMHITg+7OrRj25qmnK1RwS37Zilo2pnjTwOoYq zfOOlPg+MW+PVOax+cEM7HdMZ3OdBYOYL9FVjQJiKrINSr1wxT/A3x/eS8NmVAjpMOyjAV 2zuVdGoF0yWUnV4qETFalFlvkS5nicGMD1VgqFHLI24FcQ6fh85vz/2yXuMwC+ZnNCNJMF SKWBfrPF6in9sk+Zrsl+d3kHfpUP/0jyiPz2l4dADn971Z8JlBEsaFtKlpHbAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741263857; a=rsa-sha256; cv=none; b=GGKCePZlz1bFx2Je4YN3C1uDm7A9Q3UtoxcD2GVDrlD0UFcDLav12bklfjIdgv/oiG15BN G8PO/mZYO9k+QwAzhKYMUjK6XsoWa/nW77Y6lhNz2rE77AvLAz2+Uox6ttEGbGdlYIy/ft rWhgTsNJaSAqOhAGEET54FBX5AGrBR5/hxa9uis4wp6PwsMv+tZ1AFYzSEkpb3CtkkyiMv N2M5DzDdds+i3f5LVfk+XQ+0FMbYoRBJ4wZkfalHRX5trH0MIVQwk4HWpx6RWhzESkcRAg B1gmfKSLLaqk5CKi0jMivj1Kv6FK1s85K75MZNqpwCRrK2Ctgg5nPaB+CvGcuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741263857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNO8GjHsO0v5N+x8Vrp/FNkl9M0FRcYgf+FtJTiuUPg=; b=C6yBpVGrTtHclgj7TTGy9cg/GDjcTW9+CqGAPoH+TYAKM/Z6SUJVtfI1GiZaAhlcUmCYHF rE3ueBe0w8x1+xDNZhgFhpZLniJCTnzhXO6l8uoer8+37VvOdtOg7SeoJiLaTPE2MqY2zM 1MYAdw9TjI6k+c/YSfeYsYcuML7fNrUZY+k08STQERUlxxG08rw75FNN1BDHHclQ2embDj M/6KsCMvOwfUja8K1NTeUHAH8ul+6SrfZ/lrKn8UbWCH/3Ioz19XfnvjAQxkG33U8dXJoM ponE/E+fvlY6/QesYq2hO1sQ1/EmjQxwxzFqw6/avH0tipClrk/nvZONTYiVxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7pWP3xKmzr83; Thu, 06 Mar 2025 12:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 526COH1T072068; Thu, 6 Mar 2025 12:24:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526COHPC072065; Thu, 6 Mar 2025 12:24:17 GMT (envelope-from git) Date: Thu, 6 Mar 2025 12:24:17 GMT Message-Id: <202503061224.526COHPC072065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 04207850a9b9 - main - pfkey2: use correct value for a key length List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04207850a9b988d3c04e904cb5783f33da7fe184 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=04207850a9b988d3c04e904cb5783f33da7fe184 commit 04207850a9b988d3c04e904cb5783f33da7fe184 Author: Andrey V. Elsukov AuthorDate: 2025-03-06 12:18:59 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-03-06 12:18:59 +0000 pfkey2: use correct value for a key length The length of key data is specified via sadb_key_bits field. Use specified size for buffer allocation and key copying. Also add a check that the value of sadb_key_bits is not zero, as explicitly required in RFC 2367. PR: 241010 Submitted by: jean-francois.hren at stormshield eu MFC after: 1 week --- sys/netipsec/key.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index 3c64a65f024d..d6b492151565 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -699,7 +699,7 @@ static struct mbuf *key_setsadbxsa2(u_int8_t, u_int32_t, u_int32_t); static struct mbuf *key_setsadbxsareplay(u_int32_t); static struct mbuf *key_setsadbxpolicy(u_int16_t, u_int8_t, u_int32_t, u_int32_t); -static struct seckey *key_dup_keymsg(const struct sadb_key *, size_t, +static struct seckey *key_dup_keymsg(const struct sadb_key *, struct malloc_type *); static struct seclifetime *key_dup_lifemsg(const struct sadb_lifetime *src, struct malloc_type *); @@ -3561,6 +3561,9 @@ key_setsaval(struct secasvar *sav, const struct sadb_msghdr *mhp) if (len == PFKEY_ALIGN8(sizeof(struct sadb_key)) && sav->alg_auth != SADB_X_AALG_NULL) error = EINVAL; + if (key0->sadb_key_bits == 0 || (sizeof(struct sadb_key) + + (key0->sadb_key_bits >> 3)) > len) + error = EINVAL; break; case SADB_X_SATYPE_IPCOMP: default: @@ -3573,7 +3576,7 @@ key_setsaval(struct secasvar *sav, const struct sadb_msghdr *mhp) goto fail; } - sav->key_auth = key_dup_keymsg(key0, len, M_IPSEC_MISC); + sav->key_auth = key_dup_keymsg(key0, M_IPSEC_MISC); if (sav->key_auth == NULL ) { ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); @@ -3599,7 +3602,12 @@ key_setsaval(struct secasvar *sav, const struct sadb_msghdr *mhp) error = EINVAL; break; } - sav->key_enc = key_dup_keymsg(key0, len, M_IPSEC_MISC); + if (key0->sadb_key_bits == 0 || (sizeof(struct sadb_key) + + (key0->sadb_key_bits >> 3)) > len) { + error = EINVAL; + break; + } + sav->key_enc = key_dup_keymsg(key0, M_IPSEC_MISC); if (sav->key_enc == NULL) { ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); @@ -4266,13 +4274,14 @@ key_setsadbxpolicy(u_int16_t type, u_int8_t dir, u_int32_t id, u_int32_t priorit * OUT: NULL no more memory */ struct seckey * -key_dup_keymsg(const struct sadb_key *src, size_t len, - struct malloc_type *type) +key_dup_keymsg(const struct sadb_key *src, struct malloc_type *type) { struct seckey *dst; + size_t len; dst = malloc(sizeof(*dst), type, M_NOWAIT); if (dst != NULL) { + len = src->sadb_key_bits >> 3; dst->bits = src->sadb_key_bits; dst->key_data = malloc(len, type, M_NOWAIT); if (dst->key_data != NULL) { From nobody Thu Mar 6 13:33: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 4Z7r2y3g6bz5pc1t; Thu, 06 Mar 2025 13:33:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7r2y2nMpz3mJ1; Thu, 06 Mar 2025 13:33:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741267994; 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=naIaQvdX10XeUYdVGzrsF1xvgpeQ3zT3uVQFW6KOHzU=; b=VJokD7ctOqlz4z1l35U8p7sro27DfEz8jXTFeNTiCXVb76+kbdnFynpnG/wGA3HJYo7ePN JgQJ07xS219eZaRfI4RyxrrUcRn3JxQWupaBeYcAmHalA0lY/Q7IptlfGIfBcz/f6OJkZH aR2O58LmbGZ2/PjcH1cNFX9juOVIiNA+WPuN3nUj1n0TZYReOMlBbIg9nU6drpThgMYOF+ KO7aj5BhBTj9SDfPqSL9eJEnFdKReWvFuv51Yb2+KHqN+JRxvZDgGmh8z34RuEnPakMiuR ZEpUXGo23jwbe6LzwCVIseIi/jZEvQlefx6N8Fx8RVJuW4pcEzO776xZtHXGcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741267994; a=rsa-sha256; cv=none; b=Zpk9I1ggzXWpQib+irJr159WxUDHMnCfcFPPOJpBe1AZIHP4zs/wHm/qvONCGlrWp9NmUy 0m0ycQgtNU4S6G9IGSzkFhNbeUaAKknzYaXAObmOvJDXLkxmBhdIIGxMbERs5Eb5y8fdsW +ZYdZUtoiM4wrnOjtjyxCh+8i5xrxTRpWEsxQEgn1l0XWywiU0YVNJo4IMahuBo0xEIBOG veXKf4Dfvtz6C8GfcQyB52TmZNDW1K+KqlXdvmlWKJDXrO/Q48Ve/HBi94wXL810Jrdq/g 1rpCTjHtqMNfmr0byzKog528Xjbs7A8E4bvWf1grH4d6+w/iYQNLwVtcxz2emg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741267994; 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=naIaQvdX10XeUYdVGzrsF1xvgpeQ3zT3uVQFW6KOHzU=; b=erX9NekCr8jKro1GdNEX656Dxb8Cc+KJlarCxqpnppWUr42RuUrpVE4LSP7nqwDhkeOf3/ z79RvMdta7Efie6msvTtoOvgUmLGYdslnDL7HTD1lHsJDpwjN2tDFGvWGfoUaDae98YJKI 3jIFhFj70AkPbdMU/YOZEDXHuLZwNDnVSba4yus6Q2Io/2qstejwIBJLhVNlb2ri6c0dGq NMBVhH3J1ZVXzg+kuP7LZHsQloVEDTmNt+RAiIYomY/tcn3wCXL1BiI9W6jsteKcu0rxpE wmDVFET5KuBqwH0KRfSr8z+V8cP/nvDa53a1V3f5HepfjSzH/JLbUOQRD6V9QA== Received: from [IPV6:2601:5c0:4200:b830:ec45:8834:27fa:4893] (unknown [IPv6:2601:5c0:4200:b830:ec45:8834:27fa:4893]) (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 4Z7r2y0N3NzwmW; Thu, 06 Mar 2025 13:33:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Thu, 6 Mar 2025 08:33:12 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT Content-Language: en-US To: Mateusz Guzik , Zhenlei Huang Cc: Mateusz Guzik , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , Warner Losh , "dev-commits-src-main@freebsd.org" References: <202503061103.526B32Id022652@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 3/6/25 06:35, Mateusz Guzik wrote: > On Thu, Mar 6, 2025 at 12:32 PM Zhenlei Huang wrote: >> >> >> >> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: >> >> The branch main has been updated by mjg: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=234683726708cf5212d672d676d30056d4133859 >> >> commit 234683726708cf5212d672d676d30056d4133859 >> Author: Mateusz Guzik >> AuthorDate: 2025-03-06 11:01:49 +0000 >> Commit: Mateusz Guzik >> CommitDate: 2025-03-06 11:01:49 +0000 >> >> devclass: make devclass_alloc_unit use M_NOWAIT >> >> The only caller already does this. >> >> The routine can be called with a mutex held making M_WAITOK illegal. >> >> Sponsored by: Rubicon Communications, LLC ("Netgate") >> --- >> sys/kern/subr_bus.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c >> index 9506e471705c..0422352bba51 100644 >> --- a/sys/kern/subr_bus.c >> +++ b/sys/kern/subr_bus.c >> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) >> static int >> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) >> { >> + device_t *devices; >> const char *s; >> int unit = *unitp; >> >> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) >> int newsize; >> >> newsize = unit + 1; >> - dc->devices = reallocf(dc->devices, >> - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); >> + devices = reallocf(dc->devices, >> + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); >> >> >> I'd recommend against this. From the commit message of f3d3c63442ff, Warner said, >>> In addition, transition to M_WAITOK since this is a sleepable context >> So, the M_WAITOK is intentional. >> >> Rather than reverting this, the caller devclass_add_device() should use M_WAITOK. >> > > Per my commit message this is callable from a *NOT* sleepable context. > > Here is a splat we got at Netgate: > > uma_zalloc_debug: zone "malloc-16" with the following non-sleepable locks held: > exclusive sleep mutex SD slot mtx (sdhci) r = 0 (0xd8dec028) locked @ > /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 > stack backtrace: > #0 0xc0330ebc at witness_debugger+0x78 > #1 0xc033217c at witness_warn+0x428 > #2 0xc05b0a58 at uma_zalloc_debug+0x34 > #3 0xc05b067c at uma_zalloc_arg+0x30 > #4 0xc0291760 at malloc+0x8c > #5 0xc02920ec at reallocf+0x14 > #6 0xc02f8894 at devclass_add_device+0x1e8 > #7 0xc02f6c78 at make_device+0xe0 > #8 0xc02f6abc at device_add_child_ordered+0x30 > #9 0xc0156e0c at sdhci_card_task+0x238 > #10 0xc0324090 at taskqueue_run_locked+0x1b4 > #11 0xc0323ea0 at taskqueue_run+0x50 > #12 0xc0275f88 at ithread_loop+0x264 Just use a regular taskqueue like taskqueue_thread instead of taskqueue_swi? PCI hotplug defines its own thread taskqueue for adding and removing devices. The bug is here, IMO. Eventually new-bus will need some sort of topology lock and that will have to be an sx lock, so this code needs to change anyway. The sound code that tries to frob devices with a regular mutex also needs to change. In terms of taskqueue_swi, it's probably something that needs to go away. Generally speaking, code uses tasks for functions that need to sleep, and taskqueue_swi breaks that. I will fix sdhci to use a proper taskqueue and then revert this commit. -- John Baldwin From nobody Thu Mar 6 13:59: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 4Z7rdN16GDz5pdsT; Thu, 06 Mar 2025 13:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7rdN036Xz3tTJ; Thu, 06 Mar 2025 13:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741269576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOGC+wGBxchikOBkCC7UQAlQyUnqEvvb+CX8Xvm6leM=; b=g+mT19fSBRhJs7bbg9NGsGMEf3O7uLPlAv8a8F3FXRUwt4Ut0DhBKv5mMixFdVeSfzhUpJ hAxZETHHolG8WDTiaK6YDy0y20qDmbbTpGkJS/pzsTJqj1jrgNOxf7TJWgKKoxSXKF7vt5 saBrE51Wr+4hyWUC7PyfVBRn1vnAEfZou4zwTWC3WR/p9Me1wdcrEVFpzs85Y0kuU1X639 wfageGZrxTHOeivjpVMrlc/+pwALke8e/EpPLUJUtgotAIWCa9nYljS8uhKv9YT3Mc6h6x f5X0snsLAa1JZLK+91PYYJLnHKrTWadEsRfg3N6WNMkiuJ14BuXmWhaDs0fFzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741269576; a=rsa-sha256; cv=none; b=Frbx1zPYbN9Nsy4n6rklJ3W1Pq8WxMNOnfqHc0HTC46u24wI5f5swyRxs7aC8ixfuK4lKC jNE9oWoeJ5yrJL0TFiFqwi6aiJNacYWrHvEIiqkXVzhuTN1CZ66XowWqlUF+sCtjxJ6gOB 5+/Tzbc9BMlguUxolEFlRtBFinmlDQ/klOJrK1sykJd1hm7lq11DvoXOGKPP9uMo6yE/Ka ZRqsx2wBQrnDJhsmb8Sz8tQNipvxTA37U1/LZD05usIi1J9ohuVsXomEWTCdWfWD6g/8JC oWLUYT5DjoI8FpPclugMum5XZQpLhi8sLwwqYxzMPfIrZk3IsqScD4qxsjg/cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741269576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOGC+wGBxchikOBkCC7UQAlQyUnqEvvb+CX8Xvm6leM=; b=SHM0DcT7KPRiEbj9oAnus9epl3T3LYKHrKvG9B1Zr79BgT4mysUbQFphGfEn+3nhXbkH8+ I4iGneyrtVl+xpnUKWXNCIXVA6FCWhy+uONGuD0KIYLWNOnchQulLbPqXBBjjCiAZ3+q/1 FrWdw8rcUYthXW8roF/OLaAdS7dgINS96wpxHIyS48SNwp7iDsAHb7B3srKUImNtcNJ6I7 /9UI276YXxOXX67e8Fc311TKhw1gPZ4neV7NyEzBSJ5dLWICuK9zS/9mvx+B++KaLBClQf GqgBx3fqspuUWSDpcy4YJEOas286IYk82/FyWm3OuzIunLo7haNRxoWoXBnS0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7rdM6N5mztRw; Thu, 06 Mar 2025 13:59: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 526DxZqW041088; Thu, 6 Mar 2025 13:59:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526DxZJ1041085; Thu, 6 Mar 2025 13:59:35 GMT (envelope-from git) Date: Thu, 6 Mar 2025 13:59:35 GMT Message-Id: <202503061359.526DxZJ1041085@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: 180065eb09e6 - main - top: Make locale issues non-fatal. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 180065eb09e699820a1e1c45d3d00156e0effe29 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=180065eb09e699820a1e1c45d3d00156e0effe29 commit 180065eb09e699820a1e1c45d3d00156e0effe29 Author: Dag-Erling Smørgrav AuthorDate: 2025-03-06 13:43:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-03-06 13:59:23 +0000 top: Make locale issues non-fatal. If the `setlocale()` call fails, emit a warning and sleep briefly so the user has a chance to see the warning before we redraw the screen. Note that we have no way of knowing exactly what is wrong, but at least we can suggest that they check their environment. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D49230 --- usr.bin/top/top.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/top/top.c b/usr.bin/top/top.c index d35d755fdc82..8712e56d43ba 100644 --- a/usr.bin/top/top.c +++ b/usr.bin/top/top.c @@ -266,8 +266,8 @@ main(int argc, const char *argv[]) #endif if (setlocale(LC_ALL, "") == NULL) { - fprintf(stderr, "invalid locale.\n"); - exit(1); + warnx("invalid locale, check your environment"); + sleep(2); } mypid = getpid(); From nobody Thu Mar 6 14:22: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 4Z7s8M57R7z5pg1j; Thu, 06 Mar 2025 14:22:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7s8M4Gb4z46F2; Thu, 06 Mar 2025 14:22:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741270979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Ws5ugnQ3KGDZZBWNPApA3tKqYX7izd1Dp7FhQtaLsQ=; b=Z0IUpUmaAuMjuex/2dH7nauIFehfts6+YqXE05H8LJwVm9mrkqC2uy+vdeZrjbWuzLaxu3 3JHitYpxxNsd6F34spARPEe1lGzzTpiOZHwutjBy5/h7/GJ+EHY+UjuHSzTS/ZfDSNJk1t fa7G14TrF72n5/eqK6+HNXy4iAb7Rnyo870m7ZZu578rRZ+3shW+46CfeIWLXGOgwL1xkL vTPuTfXQuo/hbJbGQKiH7dd1lj8pPCxPlavscDNlKIq5UMt/Ih7GIaGUnVu35ky78fW3oV DoY+E/53btlLDyTTxgkVxryGpltlsJlcaNWx4QUzu55xALsEmY0bjLvxzBveBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741270979; a=rsa-sha256; cv=none; b=o2ElcIbwSAKE5nXKQCNMBk9+4XBg3qh2zWf9NMWcIo5qSwn+swU4ImBE1lQSTKs+4zmTkF v/O/meRGqJGza45+S6dcANVrp3L0XGcFblf5PTofAOyXi6jmbBUknmrR1GTX1vwY6NSJLp TAkpI19OWN4HgHBszf8D6QRi8ucRIAk7D4/Fa1iFv0/OnSzRTSfDD+bA7wmeZsJZfG6JhC E88EDzfabhCDKWHPFQrrPCDEoNTpf3NSKO31PrGUqlI7vUij+u5IAsvdzjBN/PBH3x+KPO ZlIqtlljG1Kaha8tEMzTe1X0nzfSGloTy5ZZiHc+A3kw3cNvpEy5k8lLFHqoMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741270979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Ws5ugnQ3KGDZZBWNPApA3tKqYX7izd1Dp7FhQtaLsQ=; b=TUKniG9gL//mXxYPu1oXUbg5QAokDrudWCqBsIy2CWSwh+6MAsPvTHIGXCACaXRwtlPLgP kyeGZoS/cTnhmSPI1vc2nzh66YJtpCCwACdtV7YX2tI8bcHSfkrE5ZIul16yd02b/As2DI WvPrKvEbqVT/1+UMzuHrVm5QO7Dn1octClxZfDdJwXcbAVhcxks2WwAKROALZarviFsOem EgrJHOb/7guETZcOBzXZdWouWBT8hNKIQG60iqxBuaL3/s7GElJI5bW4R/T3BNoeiaWmRw BWSqwDdrnB9N86gXdK2TFj14DajGOcGWXXz0t8tIajCwmgnpun35pXH6vMcOIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7s8M3c94zvS6; Thu, 06 Mar 2025 14:22: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 526EMxe8095551; Thu, 6 Mar 2025 14:22:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526EMxvM095548; Thu, 6 Mar 2025 14:22:59 GMT (envelope-from git) Date: Thu, 6 Mar 2025 14:22:59 GMT Message-Id: <202503061422.526EMxvM095548@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: 8e99c8ad8fd4 - main - pkgbase: make pkg repo reproducible List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 commit 8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 Author: Baptiste Daroussin AuthorDate: 2025-03-06 14:16:44 +0000 Commit: Baptiste Daroussin CommitDate: 2025-03-06 14:22:48 +0000 pkgbase: make pkg repo reproducible Add a PKG_WORKERS_THREADS variable set to 1 by default, if as a user you want speed again, then just override it. --- Makefile.inc1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index f51fe7d3b119..75fcbc0bf968 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -606,6 +606,7 @@ SOURCE_DATE_EPOCH= ${TIMEEPOCHNOW:gmtime} .else SOURCE_DATE_EPOCH= ${PKG_TIMESTAMP} .endif +PKG_WORKERS_COUNT?= 1 PKG_NAME_PREFIX?= FreeBSD PKG_MAINTAINER?= re@FreeBSD.org @@ -2367,7 +2368,8 @@ real-sign-packages: _pkgbootstrap .PHONY .if ${PKG_BIN_VERSION} < 11700 printf "packing_format = \"${PKG_FORMAT}\";\n" >> ${WSTAGEDIR}/meta .endif - @${PKG_CMD} -o ABI=${PKG_ABI} -o OSVERSION="${SRCRELDATE}" repo \ + @${PKG_CMD} -o ABI=${PKG_ABI} -o OSVERSION="${SRCRELDATE}" \ + -o WORKERS_COUNT=${PKG_WORKERS_COUNT} repo \ -m ${WSTAGEDIR}/meta \ -o ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ From nobody Thu Mar 6 14:24: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 4Z7s9l5W42z5pfyn; Thu, 06 Mar 2025 14:24:11 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7s9l4blBz471w; Thu, 06 Mar 2025 14:24:11 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741271051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=p2jxzjy9amPUEm4vqzzGsdXI6MpyceGpJMaUg5XuB6E=; b=VutbgV2dfnq+EcqSTO2+m0m4Iwk87P3JStYARah2FrFWOaF/6GVSASDopNLM51oaV+d/ek yfxKcuJKNaO8Trck1YlEKyUG1mBRP+giibQwc/t93RC8UAhfcdh/xbdK6tqJhg3e5aQfwS hsDu0dT4RoN/zLfrKJm3bnJvyVUpBvYzqnZY1TRd72ZQbAGBALV5eWzyNIUoArUwq7/Lfl EpS4KrB0NrMyTCKCe0OdtyOHIobdIKyNfi5VZLHxxgmA23zL1oVV85rRwK9y8NFVfqGRv/ 6Y+iMO8i/ZdaxCiWnpbzoQoz70C8PRmcJN5RhHuH8vgUVm++i0S5JeEcoRn9bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741271051; a=rsa-sha256; cv=none; b=Fql0HJMQLXMgp+fXaUts/8w5geHk4Msto6N7WI/xFkbI4xGtlTeJfCj74Svu42CeXbHjo2 fnilHxoAniMlnAHSfar/W7g24yrDipmYiGOKgQiY8q0XpEYC9eeQaCZyognaTZuAg9HDBo zECYlKrZ1x+v5SprOxujNpJJCYDsT8MSIEM8T/dq26q3AiA0a5JMeZ8zEjgDGGy7FQQPFO zwyNEY6IV+NogOodsRvK0AF2nuqNSklEUk1qnp4cPniOPBq76V5m9lFAmZ/hOHQ7owDalT sYXqQXpODIEFRD+dWYnhptb6dDoQ8rgy0NrC+Rp3FBBF9R1VF4hLltAszOs8Sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741271051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=p2jxzjy9amPUEm4vqzzGsdXI6MpyceGpJMaUg5XuB6E=; b=R7UpjINoZr74j4USOw7nsP2AwXlWGemn56jNwGyOU/3c3EcNoxhgbERfvT+dVf3zlR6rNQ UekcZWW+gGPccq3gv6UYFvonswcAVjk+VFeqoc4QWEOMB2uQLd7xnIsJoTS2dnpFUoTMn7 MSe0jSMYBBS4DOuSr4/YSUS8KXbHqPyw3Kpa20u4WYHDFAFXa8py8Px33jKPNxx1PMP5Tz c8sm/uMxg0CHPY7Mo+EyES5cmmVqvRKFwO3yRVXpLPzxkhIBt2DkUS7vgfbfThG1dVOHfD Ytzsra7o4KFXt/IwlxPKktci/yd4i4MexZ/tbHLDZEBqNJWxbMt4oRwIFLtHhA== Received: from b.nours.eu (b.nours.eu [54.38.177.57]) (using TLSv1.3 with cipher TLS_AES_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: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z7s9l36mhzxvQ; Thu, 06 Mar 2025 14:24:11 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by b.nours.eu (Postfix, from userid 1001) id 252AD12F36; Thu, 06 Mar 2025 15:24:09 +0100 (CET) Date: Thu, 6 Mar 2025 15:24:09 +0100 From: Baptiste Daroussin To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 8e99c8ad8fd4 - main - pkgbase: make pkg repo reproducible Message-ID: References: <202503061422.526EMxvM095548@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: <202503061422.526EMxvM095548@gitrepo.freebsd.org> On Thu 06 Mar 14:22, Baptiste Daroussin wrote: > The branch main has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 > > commit 8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 > Author: Baptiste Daroussin > AuthorDate: 2025-03-06 14:16:44 +0000 > Commit: Baptiste Daroussin > CommitDate: 2025-03-06 14:22:48 +0000 > > pkgbase: make pkg repo reproducible > > Add a PKG_WORKERS_THREADS variable set to 1 by default, if as a user > you want speed again, then just override it. Erg I forgot to edit the commit log: Differential Revision: https://reviews.freebsd.org/D49254 Reviewed by: emaste Bapt From nobody Thu Mar 6 14:28: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 4Z7sHJ32tNz5pgJt; Thu, 06 Mar 2025 14:29:00 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 4Z7sHJ1Hnqz48jc; Thu, 06 Mar 2025 14:29:00 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5e5deb6482cso185762a12.1; Thu, 06 Mar 2025 06:29:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741271338; x=1741876138; 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=qrUAW48hTK5gu0CDCeMWApeF+DtVkEhbH10xB0SRBiA=; b=XbM8HxIs+F4/25nwbWlz9/rMYYSgydrXar4J3nmlRwOszPkOmptaGo7E0RW9bZog02 Q9no3rVB3+TL3gIT/tI9l+f3isyYoIAYwSfHXZFLmvTfe89YJB7T4+MpHYClbrFAHC9+ 3oGM+wL+dhlYSqh879TXw9Bz6onlpXS+EgG7fL33Vy8llDMU70Gj9OuOrKVAVbme93lJ 6g56tjtCkYw/+cdR4ALznHApgaGk6Xlae5ZsT1O4hg21eW596Ed/5q4JZsPiI1uiu2Gf VNUgMyMZHWKVJ/KefCG+Xx8fuc1w6SPbm9vZKG8yYxvqr2O87IgjqWlHIB0optXo4ezM WLYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741271338; x=1741876138; 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=qrUAW48hTK5gu0CDCeMWApeF+DtVkEhbH10xB0SRBiA=; b=n2gBSvStNHmk3/50mJAv+Sk6J8y/QGMZJRhsPS5KaE32AoFsmRTpq20WsofrD7+5Rt 0t8Vi5jycEhZtv9RggpNuhGxNMK2M+jMJPM+7dwfcF1hC1lvDcCaRBhckX4z3ysC2/VE 8CrMCmhDdcjBcAEm/gja3zbgfpw+LXnXiV4a2TjxRP7qaK8eLX/Jq067ITokiQpAAWAv aB/N3NBOUVyTeTptczAkPsoBToK2kzN38c9dS8gmsRW2cvUa044YujdhOwx/PaLb6sIL 5Wm5YKL/auiKwhqEWUIB9Fu1W79QMcRsPUTsGsW4odnhNo3xHkWJbUj+I5Cs93IMRDdB /zJQ== X-Forwarded-Encrypted: i=1; AJvYcCUBOZn2QXj8nEVZLlJDRw27aCfT+r2oIW5mr2t/TgaAvaW3x25tGO+zHSp9GUvmXkMaJ0KP@freebsd.org, AJvYcCUG1nxBHKqXetR5+Pkm1iPBrbv9ZVIl9IACGvAmMl8KLlomdpV+dcGvUtmqyzprDibtwIkj3N2L4ZoLTORBQFfjavKu@freebsd.org, AJvYcCWPCYtOZ+Y5S3g5SIkvIfPC3xb/NxhJiayrWWMACOHu2zIb6wuHgu1f/MaZzqWU0r+ab1qPoxXbN2Jz/zudB8P7QydB9og=@freebsd.org, AJvYcCX95jbXDO7ljzyz1OYloTKmXukB1K3/amJMbvJqklamkr6rCTCGKcYVKtl3WnQufd15NLpkPWxBcWG1XHZs1jw=@freebsd.org, AJvYcCXzuxmiQZZqhYCQDJdWHMp0dRoi1CMLll2XUNlLET9q6HFRQLGwVhz8ouF4+eqcEf4H8U8y@freebsd.org X-Gm-Message-State: AOJu0YwNQPj7m+0B3QgAd5edxPeULZnyixuuror80JhcNdypHi02SMVq G3ma9IIYDihW5griKZNZMqBarlkyQgfAit7bdR3UHDN9L1ktNLNsKvp4aXtS0Pk9yweNFtS5s8/ G40cFs80OO+k9SzaF+4BtVRG2v2MLXqVC X-Gm-Gg: ASbGncu2xVFU6c9Nepl4ctAjzSO095QxJ7mI8S9kqBOa0mGr5SxfxTzXjkZfm+pykrL uEs0OvvOm498s4wU+MqkfvV+hvIJH8jn5CBRnd0QZ6xnn6ae0i7vZPp+dTNgR+nEb3vcnMkSuC/ HuE+ApysawDMtm6PMwh2OIPYYqOA== X-Google-Smtp-Source: AGHT+IHA01TyPUUaguBJI/PZI4AtZFVePTVcjA9+pdhEp34xV0YqemvEH2vxZqmcPedAWmOVARukXUWW+tX6oGTrkWY= X-Received: by 2002:a17:907:8687:b0:ac1:17fe:c74f with SMTP id a640c23a62f3a-ac22cc5501fmr357873766b.21.1741271337823; Thu, 06 Mar 2025 06:28:57 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202503061103.526B32Id022652@gitrepo.freebsd.org> In-Reply-To: From: Mateusz Guzik Date: Thu, 6 Mar 2025 15:28:45 +0100 X-Gm-Features: AQ5f1JppXgMPth-euR0aJuysNU8aNSQPkryhamZENKrb_YuqSXX3UIrZiUv9f-M Message-ID: Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT To: John Baldwin Cc: Zhenlei Huang , Mateusz Guzik , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , Warner Losh , "dev-commits-src-main@freebsd.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Z7sHJ1Hnqz48jc X-Spamd-Bar: ---- On Thu, Mar 6, 2025 at 2:33=E2=80=AFPM John Baldwin wrote= : > > On 3/6/25 06:35, Mateusz Guzik wrote: > > On Thu, Mar 6, 2025 at 12:32=E2=80=AFPM Zhenlei Huang wrote: > >> > >> > >> > >> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: > >> > >> The branch main has been updated by mjg: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d= 676d30056d4133859 > >> > >> commit 234683726708cf5212d672d676d30056d4133859 > >> Author: Mateusz Guzik > >> AuthorDate: 2025-03-06 11:01:49 +0000 > >> Commit: Mateusz Guzik > >> CommitDate: 2025-03-06 11:01:49 +0000 > >> > >> devclass: make devclass_alloc_unit use M_NOWAIT > >> > >> The only caller already does this. > >> > >> The routine can be called with a mutex held making M_WAITOK illega= l. > >> > >> Sponsored by: Rubicon Communications, LLC ("Netgate") > >> --- > >> sys/kern/subr_bus.c | 8 ++++++-- > >> 1 file changed, 6 insertions(+), 2 deletions(-) > >> > >> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > >> index 9506e471705c..0422352bba51 100644 > >> --- a/sys/kern/subr_bus.c > >> +++ b/sys/kern/subr_bus.c > >> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) > >> static int > >> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) > >> { > >> + device_t *devices; > >> const char *s; > >> int unit =3D *unitp; > >> > >> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev= , int *unitp) > >> int newsize; > >> > >> newsize =3D unit + 1; > >> - dc->devices =3D reallocf(dc->devices, > >> - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > >> + devices =3D reallocf(dc->devices, > >> + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); > >> > >> > >> I'd recommend against this. From the commit message of f3d3c63442ff, W= arner said, > >>> In addition, transition to M_WAITOK since this is a sleepable context > >> So, the M_WAITOK is intentional. > >> > >> Rather than reverting this, the caller devclass_add_device() should us= e M_WAITOK. > >> > > > > Per my commit message this is callable from a *NOT* sleepable context. > > > > Here is a splat we got at Netgate: > > > > uma_zalloc_debug: zone "malloc-16" with the following non-sleepable loc= ks held: > > exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked @ > > /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBS= D-src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 > > stack backtrace: > > #0 0xc0330ebc at witness_debugger+0x78 > > #1 0xc033217c at witness_warn+0x428 > > #2 0xc05b0a58 at uma_zalloc_debug+0x34 > > #3 0xc05b067c at uma_zalloc_arg+0x30 > > #4 0xc0291760 at malloc+0x8c > > #5 0xc02920ec at reallocf+0x14 > > #6 0xc02f8894 at devclass_add_device+0x1e8 > > #7 0xc02f6c78 at make_device+0xe0 > > #8 0xc02f6abc at device_add_child_ordered+0x30 > > #9 0xc0156e0c at sdhci_card_task+0x238 > > #10 0xc0324090 at taskqueue_run_locked+0x1b4 > > #11 0xc0323ea0 at taskqueue_run+0x50 > > #12 0xc0275f88 at ithread_loop+0x264 > > Just use a regular taskqueue like taskqueue_thread instead of taskqueue_s= wi? > PCI hotplug defines its own thread taskqueue for adding and removing devi= ces. > > The bug is here, IMO. Eventually new-bus will need some sort of topology > lock and that will have to be an sx lock, so this code needs to change > anyway. The sound code that tries to frob devices with a regular mutex > also needs to change. > > In terms of taskqueue_swi, it's probably something that needs to go away. > Generally speaking, code uses tasks for functions that need to sleep, > and taskqueue_swi breaks that. > > I will fix sdhci to use a proper taskqueue and then revert this commit. > That's fine with me, but if you do, also make sure to change the M_NOWAIT into M_WAITOK in devclass_add_device: dev->nameunit =3D malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); --=20 Mateusz Guzik From nobody Thu Mar 6 14:49:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z7skn3WWYz5phJk for ; Thu, 06 Mar 2025 14:49:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) (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 4Z7skn06tSz3Lkr for ; Thu, 06 Mar 2025 14:49:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-2fea47bcb51so1638085a91.2 for ; Thu, 06 Mar 2025 06:49:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1741272555; x=1741877355; 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=LuWI13uaCsaDRUtYEhDZZ+HLnYAa35A70M1m9iaaXGg=; b=qBWPTIpmE5zrtTQOivV0+VwXvgb0vLku7KgbTBVNzMYHTma8doUcQwBGCZQhzb0+rQ O7tL8hhhAnwZTyJwLMAO2TsHXNQmHrJMxDLmKfKp2cJ7OkC9aEYcYQY7GkTyl3MdQtT4 h7Al42kJ9fCxLhWDgyUMrT5Ov2khQQDCmzDafdwza2Dxwyy1UvDk5NdytJc3Z4IlD6jo Oa4oYNpiMnc+dnJi+YD9auZyFy46AYjkNmGxsIVXvJ2rG3+1WR9R94yrV5VSmeoT3Z6P dZ/7s5g0Piq9ShfEkScMpPP9E7bVq6OYxjSqCGQTjdeWB5LCLALjy/kbtuSaE4xuEA6d b+Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741272555; x=1741877355; 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=LuWI13uaCsaDRUtYEhDZZ+HLnYAa35A70M1m9iaaXGg=; b=H+blVqZ69H71tgK+1ZO2Jylqstcl7BGjW1MRPdNkBcZHwFIV0Hg2/aDgIz/RZjyvyd +JMjfHOQNDMthlB92u705l4dUP3WxPaeSaFFvA8RFisVlEHU9e9lWA2axYDi8iC7D9XQ 9Ij6YWMq/GRenCrCNHT59yRZve81Gi0BlUnONJl6Wb1X4xqahNIXvGhwYjbENP+scKjL Yk3FyVM3p1GLb6rP3ZFwId5fX90TuFiIABcaMDS5U0H9D5Kr5Ni+qcFZqV5ypMx05uL/ 5SJsU7a7nX/vT05sECnzz9wfz5ndNSJz1OwxcQndB+oLHynvs9PIxYetx9wOTaY4BMGO gdOw== X-Forwarded-Encrypted: i=1; AJvYcCUXhFXbl4hl7XwfbIoxsxPTfMhtWsCaEnK7D45nXAuFWJu9SeK612ExG6SoWx7eUA6vzHxNxEGrwyVk60WzNVqD4o+Ipg==@freebsd.org X-Gm-Message-State: AOJu0Yw7vo11G1I7XXoKBhi1xnXsB+ptxbPKAqdYOIJl/TkOhulWajwP a31YMGQc1eP6KXRc+33p+0PCXCpPuBAXyJkkgnrmGuDE2nE5D/D+Lz5C36EBZXY+lGHSJR3NEZc jkq/PByKXBfqSLZiUtP4djXf4xkQv+elT2nE4Qx5qvetMObnq X-Gm-Gg: ASbGncs8b7f1zFusYoOliezKML5eiI1PNzZVRlfeuNkZgnpjaubyYZxKWnCuiN+uPOi es3FUC0hFbx7x+YuVEDfT8geSIfWpUCocmEFGExkbTebJnJHRP/3MAmufoCpOB6qqxUD15fP0J8 T//tbmSy4zfZaRsbYIbRSvJSz7THaBuMe+OqyO6kIsuOMsbHAlrwK0BKoEmiJL X-Google-Smtp-Source: AGHT+IH4LS9b/5Ax+Sch5zBblE2YNCyiO9ysgNP6NU/WMgVWG6hHYFY76nnt4/h4ncbUmRV7HjO0rwHEWqI/5tr4fYE= X-Received: by 2002:a17:90b:2402:b0:2ff:53ad:a0ec with SMTP id 98e67ed59e1d1-2ff53ada24fmr7285814a91.21.1741272554702; Thu, 06 Mar 2025 06:49:14 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202503061103.526B32Id022652@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 6 Mar 2025 06:49:03 -0800 X-Gm-Features: AQ5f1Jqwd1nJcfqZUIHjktf1P1pr3ak_iifXoXZxpCxOVrw2-lGJZHup8iu7aig Message-ID: Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT To: Mateusz Guzik Cc: Zhenlei Huang , Mateusz Guzik , src-committers , "" , Warner Losh , "" Content-Type: multipart/alternative; boundary="00000000000014a6a1062fad9ca8" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Z7skn06tSz3Lkr X-Spamd-Bar: ---- --00000000000014a6a1062fad9ca8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 6, 2025, 3:35=E2=80=AFAM Mateusz Guzik wrot= e: > On Thu, Mar 6, 2025 at 12:32=E2=80=AFPM Zhenlei Huang = wrote: > > > > > > > > On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: > > > > The branch main has been updated by mjg: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676d3005= 6d4133859 > > > > commit 234683726708cf5212d672d676d30056d4133859 > > Author: Mateusz Guzik > > AuthorDate: 2025-03-06 11:01:49 +0000 > > Commit: Mateusz Guzik > > CommitDate: 2025-03-06 11:01:49 +0000 > > > > devclass: make devclass_alloc_unit use M_NOWAIT > > > > The only caller already does this. > > > > The routine can be called with a mutex held making M_WAITOK illegal. > > > > Sponsored by: Rubicon Communications, LLC ("Netgate") > > --- > > sys/kern/subr_bus.c | 8 ++++++-- > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > > index 9506e471705c..0422352bba51 100644 > > --- a/sys/kern/subr_bus.c > > +++ b/sys/kern/subr_bus.c > > @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) > > static int > > devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) > > { > > + device_t *devices; > > const char *s; > > int unit =3D *unitp; > > > > @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev, > int *unitp) > > int newsize; > > > > newsize =3D unit + 1; > > - dc->devices =3D reallocf(dc->devices, > > - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > > + devices =3D reallocf(dc->devices, > > + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); > > > > > > I'd recommend against this. From the commit message of f3d3c63442ff, > Warner said, > > > In addition, transition to M_WAITOK since this is a sleepable context > > So, the M_WAITOK is intentional. > > > > Rather than reverting this, the caller devclass_add_device() should use > M_WAITOK. > > > > Per my commit message this is callable from a *NOT* sleepable context. > > Here is a splat we got at Netgate: > > uma_zalloc_debug: zone "malloc-16" with the following non-sleepable locks > held: > exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked @ > > /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-= src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 > stack backtrace: > #0 0xc0330ebc at witness_debugger+0x78 > #1 0xc033217c at witness_warn+0x428 > #2 0xc05b0a58 at uma_zalloc_debug+0x34 > #3 0xc05b067c at uma_zalloc_arg+0x30 > #4 0xc0291760 at malloc+0x8c > #5 0xc02920ec at reallocf+0x14 > #6 0xc02f8894 at devclass_add_device+0x1e8 > #7 0xc02f6c78 at make_device+0xe0 > #8 0xc02f6abc at device_add_child_ordered+0x30 > #9 0xc0156e0c at sdhci_card_task+0x238 > #10 0xc0324090 at taskqueue_run_locked+0x1b4 > #11 0xc0323ea0 at taskqueue_run+0x50 > #12 0xc0275f88 at ithread_loop+0x264 > #13 0xc0271f28 at fork_exit+0xa0 > #14 0xc05f82d4 at swi_exit+0 > > It may be some callers are sleepable. Perhaps a different variant > accepting flags would be prudent, but I have no interest in looking > into that. > This is a big in sdhci_card_task. Newbus in general isn't callable from a sleepable context. Warner > ``` > > - dev->nameunit =3D malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); > > - if (!dev->nameunit) > > - return (ENOMEM); > > + dev->nameunit =3D malloc(buflen, M_BUS, M_WAITOK | M_ZERO); > > ``` > > > > Best regards, > > Zhenlei > > > > + if (devices =3D=3D NULL) > > + return (ENOMEM); > > + dc->devices =3D devices; > > memset(dc->devices + dc->maxunit, 0, > > sizeof(device_t) * (newsize - dc->maxunit)); > > dc->maxunit =3D newsize; > > > > > > > > > > > -- > Mateusz Guzik > --00000000000014a6a1062fad9ca8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Mar 6, 2025, 3:35=E2=80= =AFAM Mateusz Guzik <mjguzik@gmail.= com> wrote:
On Thu, Mar 6, 2= 025 at 12:32=E2=80=AFPM Zhenlei Huang <zlei@freebsd.org> wrote:
>
>
>
> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik <mjg@FreeBSD.org> wrot= e:
>
> The branch main has been updated by mjg:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676d300= 56d4133859
>
> commit 234683726708cf5212d672d676d30056d4133859
> Author:=C2=A0 =C2=A0 =C2=A0Mateusz Guzik <mjg@FreeBSD.org>
> AuthorDate: 2025-03-06 11:01:49 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Mateusz Guzik <mjg@FreeBSD.org>
> CommitDate: 2025-03-06 11:01:49 +0000
>
>=C2=A0 =C2=A0 devclass: make devclass_alloc_unit use M_NOWAIT
>
>=C2=A0 =C2=A0 The only caller already does this.
>
>=C2=A0 =C2=A0 The routine can be called with a mutex held making M_WAIT= OK illegal.
>
>=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Rubicon Communications, LLC (&q= uot;Netgate")
> ---
> sys/kern/subr_bus.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
> index 9506e471705c..0422352bba51 100644
> --- a/sys/kern/subr_bus.c
> +++ b/sys/kern/subr_bus.c
> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc)
> static int
> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp)
> {
> + device_t *devices;
> const char *s;
> int unit =3D *unitp;
>
> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev= , int *unitp)
> int newsize;
>
> newsize =3D unit + 1;
> - dc->devices =3D reallocf(dc->devices,
> -=C2=A0 =C2=A0 newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > + devices =3D reallocf(dc->devices,
> +=C2=A0 =C2=A0 newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); >
>
> I'd recommend against this. From the commit message of f3d3c63442f= f, Warner said,
> > In addition, transition to M_WAITOK since this is a sleepable con= text
> So, the M_WAITOK is intentional.
>
> Rather than reverting this, the caller devclass_add_device() should us= e M_WAITOK.
>

Per my commit message this is callable from a *NOT* sleepable context.

Here is a splat we got at Netgate:

uma_zalloc_debug: zone "malloc-16" with the following non-sleepab= le locks held:
exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked @
/var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-sr= c-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688
stack backtrace:
#0 0xc0330ebc at witness_debugger+0x78
#1 0xc033217c at witness_warn+0x428
#2 0xc05b0a58 at uma_zalloc_debug+0x34
#3 0xc05b067c at uma_zalloc_arg+0x30
#4 0xc0291760 at malloc+0x8c
#5 0xc02920ec at reallocf+0x14
#6 0xc02f8894 at devclass_add_device+0x1e8
#7 0xc02f6c78 at make_device+0xe0
#8 0xc02f6abc at device_add_child_ordered+0x30
#9 0xc0156e0c at sdhci_card_task+0x238
#10 0xc0324090 at taskqueue_run_locked+0x1b4
#11 0xc0323ea0 at taskqueue_run+0x50
#12 0xc0275f88 at ithread_loop+0x264
#13 0xc0271f28 at fork_exit+0xa0
#14 0xc05f82d4 at swi_exit+0

It may be some callers are sleepable. Perhaps a different variant
accepting flags would be prudent, but I have no interest in looking
into that.

This is a big in sdhci_card_task. Newbus in general isn't cal= lable from a sleepable context.


Warner

> ```
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0dev->nameunit =3D malloc(buflen, M_BUS,= M_NOWAIT|M_ZERO);
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0if (!dev->nameunit)
> -=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->nameunit =3D malloc(buflen, M_BUS,= M_WAITOK | M_ZERO);
> ```
>
> Best regards,
> Zhenlei
>
> + if (devices =3D=3D NULL)
> + return (ENOMEM);
> + dc->devices =3D devices;
> memset(dc->devices + dc->maxunit, 0,
>=C2=A0 =C2=A0 sizeof(device_t) * (newsize - dc->maxunit));
> dc->maxunit =3D newsize;
>
>
>
>


--
Mateusz Guzik <mjguzik gmail.com>
--00000000000014a6a1062fad9ca8-- From nobody Thu Mar 6 14:56: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 4Z7svF66vYz5pkGY for ; Thu, 06 Mar 2025 14:56:41 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) (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 4Z7svD4XLqz3QbG for ; Thu, 06 Mar 2025 14:56:40 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22374f56453so17120615ad.0 for ; Thu, 06 Mar 2025 06:56:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1741272999; x=1741877799; 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=+HCPnkoeW0uXRkQ3PIJmRPtKK/op9+myfsondPk+9uE=; b=uKZZrI6sIjjj7TOlWo7IQu+pGTvyThnhizCdaQ4pzULgJ8PGOnz4tmdZm21vDrR/Ar 0ZwCJN+sP35d5WbTpPAJWeP3U4NPCjszSuxEMiJE/Ku1bdIpjf/8TgRJtQ93uLZsX6zC q3NbUvXH+o9sqlhxPACR1EXL+2N7ObzVuPumOZ00vDBn1ZHHzule4bHGUnZjECoIf/Q4 +k7fWhKtdORCVnaICPY+7TRjhe3YkmdeXU6LHLVG5eGBi+1dr42wz72imhoy+9Y+M3o7 ddSa4dt7bdbxuqlVWXgQBym+v5Iir0E1RB9vvKzMvil+FR5uAfTDUAZASpm/zkn97Aym HxKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741272999; x=1741877799; 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=+HCPnkoeW0uXRkQ3PIJmRPtKK/op9+myfsondPk+9uE=; b=WZLEP2Db9JxjmZsyo24KuYl0YVKDbDdY7GgnLN9hF+k2EkJuHB6G5hbq2SXwvm1WiA cq2UF2Rdi1unWESgkep341YDPvRN0+jHserIy9eq27AYdwTtjowPlXjO61yjGXOgZk9Z PzpXaZc/ARI/BSAgdN/DKwFwwwa+ODjUaS+J2/uhy1mxAWdY9tUrUIEvDW4Sx8v4EfCb w1FNR5u1XytJUVCWIpjcd8uHCi3t+NEvFRFAnHmIu6blZ3HZaxioes2i4IYs8dKOJfbJ DEjN7K1JLA42NHd/BstqJIjPQJbRy6dQaTYCa7/y6c3qk0viQV2RPUsrcFGREupNNXA+ W4Og== X-Forwarded-Encrypted: i=1; AJvYcCUqKfD3K2j4QoXD4NIwJUQDyLyodXQ/ilgzpO9wN4nNIvOXsDsnucbEctwblyDC6/KVku1HFt5bacqaLQ/MljyVUE7dlQ==@freebsd.org X-Gm-Message-State: AOJu0Yy58w4CcR+8IPFU79Mfa7WWXQINeveGFNztHspGmwggkEuyaitA vXMrAftj+tmrDZYr0kd9udtqHv4oRv0VBaqpKOAb09tOTS947E/9h5u9oYTNGX7qh1COOd+dIex Z8N8JUes0fSrmWOgbCPHLZVKSXj3NCgAzjqA1kg== X-Gm-Gg: ASbGnctEkNZaCaqdo2ypKDQpfvit2BzVWC3Vx5ZETowmTAVaH8BDWjWhykU60mZ7+r5 ZscQ9YqGyHFJJfnrZTp/pRxSnor2fmRL808fyZetHhzppItNOFUv/I4ThY4OmM2dQqQwYDKYmvd FS/H+Oy98teSxHs8XCWQmal2FIuLZwAGGsT7H8D7xlV3T7+xpfg1LWHt0qxTv+ X-Google-Smtp-Source: AGHT+IF8VHjMwkI04Ur4cDkeXBdzwNli1AdP4b0L6kSk1oH58Y+6NYijwmZ59oZmpm5c5w87AafhPskY56Nooc9TFME= X-Received: by 2002:a05:6a00:2e9f:b0:736:6d4d:ffa6 with SMTP id d2e1a72fcca58-73682c52f85mr11096162b3a.15.1741272998706; Thu, 06 Mar 2025 06:56:38 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202503061103.526B32Id022652@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 6 Mar 2025 06:56:27 -0800 X-Gm-Features: AQ5f1JppwZ2pTNwdQSmP4RmfNk2j3zkuqYnXfXK7PQihZwEQwVlaBrufiiPEIUI Message-ID: Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT To: John Baldwin Cc: Mateusz Guzik , Zhenlei Huang , Mateusz Guzik , src-committers , "" , Warner Losh , "" Content-Type: multipart/alternative; boundary="0000000000008ba1a2062fadb614" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Z7svD4XLqz3QbG X-Spamd-Bar: ---- --0000000000008ba1a2062fadb614 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 6, 2025, 5:33=E2=80=AFAM John Baldwin wrote: > On 3/6/25 06:35, Mateusz Guzik wrote: > > On Thu, Mar 6, 2025 at 12:32=E2=80=AFPM Zhenlei Huang wrote: > >> > >> > >> > >> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: > >> > >> The branch main has been updated by mjg: > >> > >> URL: > https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676d3005= 6d4133859 > >> > >> commit 234683726708cf5212d672d676d30056d4133859 > >> Author: Mateusz Guzik > >> AuthorDate: 2025-03-06 11:01:49 +0000 > >> Commit: Mateusz Guzik > >> CommitDate: 2025-03-06 11:01:49 +0000 > >> > >> devclass: make devclass_alloc_unit use M_NOWAIT > >> > >> The only caller already does this. > >> > >> The routine can be called with a mutex held making M_WAITOK illega= l. > >> > >> Sponsored by: Rubicon Communications, LLC ("Netgate") > >> --- > >> sys/kern/subr_bus.c | 8 ++++++-- > >> 1 file changed, 6 insertions(+), 2 deletions(-) > >> > >> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > >> index 9506e471705c..0422352bba51 100644 > >> --- a/sys/kern/subr_bus.c > >> +++ b/sys/kern/subr_bus.c > >> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) > >> static int > >> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) > >> { > >> + device_t *devices; > >> const char *s; > >> int unit =3D *unitp; > >> > >> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev= , > int *unitp) > >> int newsize; > >> > >> newsize =3D unit + 1; > >> - dc->devices =3D reallocf(dc->devices, > >> - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); > >> + devices =3D reallocf(dc->devices, > >> + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); > >> > >> > >> I'd recommend against this. From the commit message of f3d3c63442ff, > Warner said, > >>> In addition, transition to M_WAITOK since this is a sleepable context > >> So, the M_WAITOK is intentional. > >> > >> Rather than reverting this, the caller devclass_add_device() should us= e > M_WAITOK. > >> > > > > Per my commit message this is callable from a *NOT* sleepable context. > > > > Here is a splat we got at Netgate: > > > > uma_zalloc_debug: zone "malloc-16" with the following non-sleepable > locks held: > > exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked @ > > > /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-= src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 > > stack backtrace: > > #0 0xc0330ebc at witness_debugger+0x78 > > #1 0xc033217c at witness_warn+0x428 > > #2 0xc05b0a58 at uma_zalloc_debug+0x34 > > #3 0xc05b067c at uma_zalloc_arg+0x30 > > #4 0xc0291760 at malloc+0x8c > > #5 0xc02920ec at reallocf+0x14 > > #6 0xc02f8894 at devclass_add_device+0x1e8 > > #7 0xc02f6c78 at make_device+0xe0 > > #8 0xc02f6abc at device_add_child_ordered+0x30 > > #9 0xc0156e0c at sdhci_card_task+0x238 > > #10 0xc0324090 at taskqueue_run_locked+0x1b4 > > #11 0xc0323ea0 at taskqueue_run+0x50 > > #12 0xc0275f88 at ithread_loop+0x264 > > Just use a regular taskqueue like taskqueue_thread instead of > taskqueue_swi? > PCI hotplug defines its own thread taskqueue for adding and removing > devices. > > The bug is here, IMO. Eventually new-bus will need some sort of topology > lock and that will have to be an sx lock, so this code needs to change > anyway. The sound code that tries to frob devices with a regular mutex > also needs to change. > I should dust off the branch that i have this one. There's about a dozen places I had to change at the time... In terms of taskqueue_swi, it's probably something that needs to go away. > Generally speaking, code uses tasks for functions that need to sleep, > and taskqueue_swi breaks that. > Its a holdover from spl days for sure. I will fix sdhci to use a proper taskqueue and then revert this commit. > Thanks. You can add me to the review Warner > -- > John Baldwin > > --0000000000008ba1a2062fadb614 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Mar 6, 2025, 5:33=E2=80= =AFAM John Baldwin <jhb@freebsd.org> wrote:
On 3/6/25 06:35, Mate= usz Guzik wrote:
> On Thu, Mar 6, 2025 at 12:32=E2=80=AFPM Zhenlei Huang <
zlei@freebsd.o= rg> wrote:
>>
>>
>>
>> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik <mjg@FreeBSD.org> = wrote:
>>
>> The branch main has been updated by mjg:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D234683726708cf5212d672d676= d30056d4133859
>>
>> commit 234683726708cf5212d672d676d30056d4133859
>> Author:=C2=A0 =C2=A0 =C2=A0Mateusz Guzik <mjg@FreeBSD.org> >> AuthorDate: 2025-03-06 11:01:49 +0000
>> Commit:=C2=A0 =C2=A0 =C2=A0Mateusz Guzik <mjg@FreeBSD.org> >> CommitDate: 2025-03-06 11:01:49 +0000
>>
>>=C2=A0 =C2=A0 =C2=A0devclass: make devclass_alloc_unit use M_NOWAIT=
>>
>>=C2=A0 =C2=A0 =C2=A0The only caller already does this.
>>
>>=C2=A0 =C2=A0 =C2=A0The routine can be called with a mutex held mak= ing M_WAITOK illegal.
>>
>>=C2=A0 =C2=A0 =C2=A0Sponsored by:=C2=A0 =C2=A0Rubicon Communication= s, LLC ("Netgate")
>> ---
>> sys/kern/subr_bus.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
>> index 9506e471705c..0422352bba51 100644
>> --- a/sys/kern/subr_bus.c
>> +++ b/sys/kern/subr_bus.c
>> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc)
>> static int
>> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp)
>> {
>> + device_t *devices;
>> const char *s;
>> int unit =3D *unitp;
>>
>> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t= dev, int *unitp)
>> int newsize;
>>
>> newsize =3D unit + 1;
>> - dc->devices =3D reallocf(dc->devices,
>> -=C2=A0 =C2=A0 newsize * sizeof(*dc->devices), M_BUS, M_WAITOK)= ;
>> + devices =3D reallocf(dc->devices,
>> +=C2=A0 =C2=A0 newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT)= ;
>>
>>
>> I'd recommend against this. From the commit message of f3d3c63= 442ff, Warner said,
>>> In addition, transition to M_WAITOK since this is a sleepable = context
>> So, the M_WAITOK is intentional.
>>
>> Rather than reverting this, the caller devclass_add_device() shoul= d use M_WAITOK.
>>
>
> Per my commit message this is callable from a *NOT* sleepable context.=
>
> Here is a splat we got at Netgate:
>
> uma_zalloc_debug: zone "malloc-16" with the following non-sl= eepable locks held:
> exclusive sleep mutex SD slot mtx (sdhci) r =3D 0 (0xd8dec028) locked = @
> /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeB= SD-src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688
> stack backtrace:
> #0 0xc0330ebc at witness_debugger+0x78
> #1 0xc033217c at witness_warn+0x428
> #2 0xc05b0a58 at uma_zalloc_debug+0x34
> #3 0xc05b067c at uma_zalloc_arg+0x30
> #4 0xc0291760 at malloc+0x8c
> #5 0xc02920ec at reallocf+0x14
> #6 0xc02f8894 at devclass_add_device+0x1e8
> #7 0xc02f6c78 at make_device+0xe0
> #8 0xc02f6abc at device_add_child_ordered+0x30
> #9 0xc0156e0c at sdhci_card_task+0x238
> #10 0xc0324090 at taskqueue_run_locked+0x1b4
> #11 0xc0323ea0 at taskqueue_run+0x50
> #12 0xc0275f88 at ithread_loop+0x264

Just use a regular taskqueue like taskqueue_thread instead of taskqueue_swi= ?
PCI hotplug defines its own thread taskqueue for adding and removing device= s.

The bug is here, IMO.=C2=A0 Eventually new-bus will need some sort of topol= ogy
lock and that will have to be an sx lock, so this code needs to change
anyway.=C2=A0 The sound code that tries to frob devices with a regular mute= x
also needs to change.

I should dust off the branch that i have this one. The= re's about a dozen places I had to change at the time...

In terms of taskqueue_swi, it's probably something that needs to go awa= y.
Generally speaking, code uses tasks for functions that need to sleep,
and taskqueue_swi breaks that.

Its a holdover from spl days for sure.
<= div dir=3D"auto">
I will fix sdhci to use a proper taskqueue and then revert this commit.
=

Than= ks. You can add me to the review=C2=A0

Warner
--
John Baldwin

--0000000000008ba1a2062fadb614-- From nobody Thu Mar 6 18:22: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 4Z7yTH4524z5q1K0; Thu, 06 Mar 2025 18:22:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z7yTH2wX8z3j9n; Thu, 06 Mar 2025 18:22:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741285379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnuVpKVt5g395bu6mixkhI7VjmSxoZFfNxrATa+lqso=; b=H2p9Nvuykrfvrfafy7X7I8LCBGop0qQwxZl77mHQMSUgmZi7swicQVNUhofJrtW1Gi6doB EJpneNzlDhPXgKYUXlzQoowVvDnxbnUVL2tVmJi9k+I8PpYs2zOn+/h7xZyiryZS9ze3aC 2Y4u4e7O1DDicJlzPKa12SOprC9s2WIOwXZKRB639MO3jvx5GW59kZGyJyhATiPTWLkSX9 n2WEHognQSQ6FwAFHZjsNrIf/Ux3sY1ZrUI6do3TYZSVch4X79Qu5kL3xWumZc06ztLK51 PUskU0QXv0G3wQ+aBkN4eL89MqRlyk4frD4ZupLbE3aDW07dL1kxTZzpVeT/dA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741285379; a=rsa-sha256; cv=none; b=VFi3kZhWA/NjRDZNLUy6AfwyUR4h6SEirzPifbrzeztivZFbgKxTQi+wRVcCkx2uddiND0 38ZS+dwjjcMIeoxUFSe2Lt+vtPKYPBWnUyjOPbVkdgUAuSlWu7E+nWsxydBXcZPeQcMv06 oLmdn7xxSQnRfjgbPzcpFFZYvpv4kl/DaELfCwUiKIEZuaVHXR6kqmk3Zmc4CsUkD5E+fI 5Ur0O2XSbrclYsPRZFA2R4rcG+xySCw6ypqXFM15WWKdmjkhPT4jGJIfjU4lpBFMWiVtg6 PWVkkQV4SZX3PyK0Kg8G7Z+yapJD1OrjA6ME0CpjNtlP3GRoQpAKm93iIgqIHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741285379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnuVpKVt5g395bu6mixkhI7VjmSxoZFfNxrATa+lqso=; b=q7nsIhnf4wGoHXov7WsX9cN3IITQ0mjJ5nfuI+06RgzaixEd6rR/rLTgJW7oFV3AiUq3tR pD4IRO6/7ncjGtrS+YP5ETSsC3VeoGRrR0I9hFdrHtPeUv5Kh7FD3fELg75NGIeX6fFO6t 7OJQMm+M5cHk4iDW6hbm3toTsSD/dlppTz+/Iabk73wBg8Gr4Hqmt0nr/nJXVslP47juH/ lnDOYser2CUHTIwc20EeAvw+Zyyt3DZ45EdUcDhVlIlugoLpdSEfo/5YnJPZa1Qo8JrbBh TacfdojPnMClP0AihfXOM/9orcblHUSR0RAgK/2rorkJuUNppPd8Apuguc769Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z7yTH2PJDz11xw; Thu, 06 Mar 2025 18:22: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 526IMxGF045511; Thu, 6 Mar 2025 18:22:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526IMxQT045508; Thu, 6 Mar 2025 18:22:59 GMT (envelope-from git) Date: Thu, 6 Mar 2025 18:22:59 GMT Message-Id: <202503061822.526IMxQT045508@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: ecb3a7d43dd6 - main - netmap: Disable a buggy and unsafe test (sync_kloop_conflict) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ecb3a7d43dd67809037f9066e7716a05c41d8d63 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ecb3a7d43dd67809037f9066e7716a05c41d8d63 commit ecb3a7d43dd67809037f9066e7716a05c41d8d63 Author: John Baldwin AuthorDate: 2025-03-06 18:22:25 +0000 Commit: John Baldwin CommitDate: 2025-03-06 18:22:25 +0000 netmap: Disable a buggy and unsafe test (sync_kloop_conflict) This test starts two threads to verify that two concurrent threads cannot enter the kernel loop on the same netmap context. The test even has a comment about a potential race condition where the first thread enters the loop and is stopped before the second thread tries to enter the loop. It claims it is fixed by the use of a semaphore. Unfortunately, the semaphore doesn't close the race. In the CI setup for CHERI, we run the testsuite once a week against various architectures using single CPU QEMU instances. Across multiple recent runs of the plain "aarch64" test the job ran for an entire day before QEMU was killed by a timeout. The last messages logged were from this test: 734.881045 [1182] generic_netmap_attach Emulated adapter for tap3312 created (prev was NULL) 734.882340 [ 321] generic_netmap_register Emulated adapter for tap3312 activated 734.882675 [2224] netmap_csb_validate csb_init for kring tap3312 RX0: head 0, cur 0, hwcur 0, hwtail 0 734.883042 [2224] netmap_csb_validate csb_init for kring tap3312 TX0: head 0, cur 0, hwcur 0, hwtail 1023 734.915397 [ 820] netmap_sync_kloop kloop busy_wait 1, direct_tx 0, direct_rx 0, na_could_sleep 0 736.901945 [ 820] netmap_sync_kloop kloop busy_wait 1, direct_tx 0, direct_rx 0, na_could_sleep 0 From the timestamps, the synchronous kloop was entered twice 2 seconds apart. This corresponds to the 2 second timeout on the semaphore in the test. What appears to have happened is that th1 started and entered the kernel where it spun in an endless busy loop. This starves th2 so it _never_ runs. Once the semaphore times out, th1 is preempted to run the main thread which invokes the ioctl to stop the busy loop. th1 then exits the loop and returns to userland to exit. Only after this point does th2 actually run and execute the ioctl to enter the kernel. Since th1 has already exited, th2 doesn't error and enters its own happy spin loop. The main thread hangs forever in pthread_join, and the process is unkillable (the busy loop in the kernel doesn't check for any pending signals so kill -9 is ignored and ineffective). I don't see a way to fix this test, so I've just disabled it. There is no good way to ensurce concurrency on a single CPU system when one thread wants to sit in a spin loop. Someone should fix the netmap kloop to respond to kill -9 in which case kyua could perhaps at least timeout the individual test process and kill it. Reviewed by: vmaffione Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49220 --- tests/sys/netmap/ctrl-api-test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/sys/netmap/ctrl-api-test.c b/tests/sys/netmap/ctrl-api-test.c index 8d33b4c58d2a..6b45dbb1cfea 100644 --- a/tests/sys/netmap/ctrl-api-test.c +++ b/tests/sys/netmap/ctrl-api-test.c @@ -1596,6 +1596,7 @@ sync_kloop_csb_enable(struct TestContext *ctx) return sync_kloop_start_stop(ctx); } +#if 0 static int sync_kloop_conflict(struct TestContext *ctx) { @@ -1640,6 +1641,14 @@ sync_kloop_conflict(struct TestContext *ctx) /* Wait for one of the two threads to fail to start the kloop, to * avoid a race condition where th1 starts the loop and stops, * and after that th2 starts the loop successfully. */ + /* + * XXX: This doesn't fully close the race. th2 might fail to + * start executing since th1 can enter the kernel and hog the + * CPU on a single-CPU system until the semaphore timeout + * awakens this thread and it calls sync_kloop_stop. Once th1 + * exits the kernel, th2 can finally run and will then loop + * forever in the ioctl handler. + */ clock_gettime(CLOCK_REALTIME, &to); to.tv_sec += 2; ret = sem_timedwait(&sem, &to); @@ -1674,6 +1683,7 @@ sync_kloop_conflict(struct TestContext *ctx) ? 0 : -1; } +#endif static int sync_kloop_eventfds_mismatch(struct TestContext *ctx) @@ -2079,7 +2089,9 @@ static struct mytest tests[] = { decltest(sync_kloop_eventfds_all_direct_rx), decltest(sync_kloop_nocsb), decltest(sync_kloop_csb_enable), +#if 0 decltest(sync_kloop_conflict), +#endif decltest(sync_kloop_eventfds_mismatch), decltest(null_port), decltest(null_port_all_zero), From nobody Thu Mar 6 19:32: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 4Z801S68tlz5q4JV; Thu, 06 Mar 2025 19:32:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z801S1gQDz3YNt; Thu, 06 Mar 2025 19:32:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741289548; 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=0vw1L4Dlaxj0SIFeeuXTSEwgnvI/jSnbfTYbD7aGF9s=; b=rlqe3/BobvV1g4bEnC+7MA1wCNF/PFq0ZRP3wQD0mcTqeIbJiJY+Shfsg8abEVEVbSOvWK eapffdBCdOzOWbdXqJ/IxfNktuojt1zlwDWXgbxWnPaNIfY0LnZoGTxEEPRopX/XTQWpbx g/QMvSg3zHVkK2uoGDx0gprqM6P/nY1DeBQis/3dbAI9eNyU3imtsya+hPwbOvQu1/eLdE HnoaT0RJ+UX40cPv5ijXZlfS1bbWRUwN43BP5Che45ekRNHD318gRPG81hLsdY1z46gLzG WIwz4Qaq+hcJq7eL6FGMx2vNdc5jABfTmrcHsHgv/XKUQNy+Bil10Jlc/TSrZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741289548; a=rsa-sha256; cv=none; b=VDCaJ4Lf9ck7r5e9rVzP9sPVCIYfu9SuyrLGUnBGZobiA5BFOW6WC6lVUiRmgV7fmbIvRc DKokN5Iv3L1P9P7LcrYwnbPpGgs0WA4bkgdvy43CndMr64pTTrM7G8WcCr4m7v6gpdonfy /6ab3+JLqbUefzwtbhlm2rA+zLIgmdqhM7JQE23YtwUYEyRhDmZOCGWJ0nKd1iFtP1YMpk ubxLpJSl6AG1QeZvDQxKPdLgA/HgDJhxkBS6g6kEB4UDjbiMcPGvo7sWr93Ms4ZwcV5BEt IgGPwpurWYechCClCIJl238rePMc6RVhjAYjm4eO3sNj5UG4Glc1brqVEafePQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741289548; 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=0vw1L4Dlaxj0SIFeeuXTSEwgnvI/jSnbfTYbD7aGF9s=; b=qivLoFDM6mnIh/S+c8NvjKwrWxyXehvy5dPEVZD0d37opaMt5nKTmgydH1nUhsObh82HJr I2X5U1yAb1kUQ7rg/VJxvmiKi5WRhsXYTpo9O+97OUJQezKwlutsuJ4tZ3/sejk3or7OxB XB530qPO7Ud66XbMmyGIAw6OfMIMowYWTa3kCaxbEXjE5QbR5XzFCoF4CkBK8a2AOv095N Vi8tnjXAB+OuAt1oCeaIqBHsQhCkUss0yomPoZh4VNd0PNZTNRn2f95FwJpdTtbi4uNTao ZX/pD5pgfPa9fW/AJ7dXZ6rlYuLaE9IcnEBHmw+LabmEGfMqL8NrwlfzhfYshw== Received: from [IPV6:2601:5c0:4200:b830:ec45:8834:27fa:4893] (unknown [IPv6:2601:5c0:4200:b830:ec45:8834:27fa:4893]) (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 4Z801R63dzz13pl; Thu, 06 Mar 2025 19:32:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <137702dd-6190-452f-be0d-9d04b779ce0a@FreeBSD.org> Date: Thu, 6 Mar 2025 14:32:27 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 234683726708 - main - devclass: make devclass_alloc_unit use M_NOWAIT Content-Language: en-US To: Warner Losh Cc: Mateusz Guzik , Zhenlei Huang , Mateusz Guzik , src-committers , dev-commits-src-all@freebsd.org, Warner Losh , dev-commits-src-main@freebsd.org References: <202503061103.526B32Id022652@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 3/6/25 09:56, Warner Losh wrote: > On Thu, Mar 6, 2025, 5:33 AM John Baldwin wrote: > >> On 3/6/25 06:35, Mateusz Guzik wrote: >>> On Thu, Mar 6, 2025 at 12:32 PM Zhenlei Huang wrote: >>>> >>>> >>>> >>>> On Mar 6, 2025, at 7:03 PM, Mateusz Guzik wrote: >>>> >>>> The branch main has been updated by mjg: >>>> >>>> URL: >> https://cgit.FreeBSD.org/src/commit/?id=234683726708cf5212d672d676d30056d4133859 >>>> >>>> commit 234683726708cf5212d672d676d30056d4133859 >>>> Author: Mateusz Guzik >>>> AuthorDate: 2025-03-06 11:01:49 +0000 >>>> Commit: Mateusz Guzik >>>> CommitDate: 2025-03-06 11:01:49 +0000 >>>> >>>> devclass: make devclass_alloc_unit use M_NOWAIT >>>> >>>> The only caller already does this. >>>> >>>> The routine can be called with a mutex held making M_WAITOK illegal. >>>> >>>> Sponsored by: Rubicon Communications, LLC ("Netgate") >>>> --- >>>> sys/kern/subr_bus.c | 8 ++++++-- >>>> 1 file changed, 6 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c >>>> index 9506e471705c..0422352bba51 100644 >>>> --- a/sys/kern/subr_bus.c >>>> +++ b/sys/kern/subr_bus.c >>>> @@ -1208,6 +1208,7 @@ devclass_get_sysctl_tree(devclass_t dc) >>>> static int >>>> devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) >>>> { >>>> + device_t *devices; >>>> const char *s; >>>> int unit = *unitp; >>>> >>>> @@ -1264,8 +1265,11 @@ devclass_alloc_unit(devclass_t dc, device_t dev, >> int *unitp) >>>> int newsize; >>>> >>>> newsize = unit + 1; >>>> - dc->devices = reallocf(dc->devices, >>>> - newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); >>>> + devices = reallocf(dc->devices, >>>> + newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); >>>> >>>> >>>> I'd recommend against this. From the commit message of f3d3c63442ff, >> Warner said, >>>>> In addition, transition to M_WAITOK since this is a sleepable context >>>> So, the M_WAITOK is intentional. >>>> >>>> Rather than reverting this, the caller devclass_add_device() should use >> M_WAITOK. >>>> >>> >>> Per my commit message this is callable from a *NOT* sleepable context. >>> >>> Here is a splat we got at Netgate: >>> >>> uma_zalloc_debug: zone "malloc-16" with the following non-sleepable >> locks held: >>> exclusive sleep mutex SD slot mtx (sdhci) r = 0 (0xd8dec028) locked @ >>> >> /var/jenkins/workspace/pfSense-Plus-snapshots-25_03-main/sources/FreeBSD-src-plus-RELENG_25_03/sys/dev/sdhci/sdhci.c:688 >>> stack backtrace: >>> #0 0xc0330ebc at witness_debugger+0x78 >>> #1 0xc033217c at witness_warn+0x428 >>> #2 0xc05b0a58 at uma_zalloc_debug+0x34 >>> #3 0xc05b067c at uma_zalloc_arg+0x30 >>> #4 0xc0291760 at malloc+0x8c >>> #5 0xc02920ec at reallocf+0x14 >>> #6 0xc02f8894 at devclass_add_device+0x1e8 >>> #7 0xc02f6c78 at make_device+0xe0 >>> #8 0xc02f6abc at device_add_child_ordered+0x30 >>> #9 0xc0156e0c at sdhci_card_task+0x238 >>> #10 0xc0324090 at taskqueue_run_locked+0x1b4 >>> #11 0xc0323ea0 at taskqueue_run+0x50 >>> #12 0xc0275f88 at ithread_loop+0x264 >> >> Just use a regular taskqueue like taskqueue_thread instead of >> taskqueue_swi? >> PCI hotplug defines its own thread taskqueue for adding and removing >> devices. >> >> The bug is here, IMO. Eventually new-bus will need some sort of topology >> lock and that will have to be an sx lock, so this code needs to change >> anyway. The sound code that tries to frob devices with a regular mutex >> also needs to change. >> > > I should dust off the branch that i have this one. There's about a dozen > places I had to change at the time... > > In terms of taskqueue_swi, it's probably something that needs to go away. >> Generally speaking, code uses tasks for functions that need to sleep, >> and taskqueue_swi breaks that. >> > > Its a holdover from spl days for sure. > > I will fix sdhci to use a proper taskqueue and then revert this commit. >> > > Thanks. You can add me to the review It turned into a series. I'll post for review in a bit. -- John Baldwin From nobody Thu Mar 6 21:51: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 4Z835q0ndHz5qCJb for ; Thu, 06 Mar 2025 21:51:27 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-21.consmr.mail.gq1.yahoo.com (sonic306-21.consmr.mail.gq1.yahoo.com [98.137.68.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) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z835n1LqZz3sM4 for ; Thu, 06 Mar 2025 21:51:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=egts6QYb; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1741297883; bh=03iFJLUnIP3VmQ3mwx38bbNL9q1YRvN8kOm7l9b+qCY=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=egts6QYbQDOgdOyZn9/2XTUhwbZbBXbmLXjrqoduj5CCJOHSLe8njpWeurQVOgNz76wt1TuqeDpEB6/87QfYpzaY7dKyEi0kTuiNh1v6evTxrzE00vV5bLDRutjfbYQbYT2RIjUezL6uWrVjOnjC353wmI8fKbF2Y3kHYVmovV6xUzPUB+Pjc2IMkW9zcIizS+gx35h06je3TBAqDYJCvns0ciDCS8UKSnP+IqTdk+NWTB2BHI+Z0kpS8IWRLFnnTOLUiKAFPy3+M+DS6mhTjrdyJA2afnaplHCcpw0fnVYD5i+mz76zs/JA6JrMReZnoS1kPbAhHPhRoueLo15P2Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1741297883; bh=J1+h0Ev4JlVBfrWBc6a/OGSEsOyUNgqhvZWyKdvwX0e=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=nGKtQil+ubJWvzcOSTYOMDrpNf5/XOA1Vp+xBRFQRtKx6hIMMEjOTDbO0L06zazBovyw08LGOnoxXarg08tZTFlEFaNgjUAPuToBcHQxD7UNWC3UBn+Yl9cvSB8Cs5CY07fjd1IoUHqiDMjKEo/GYJy1ohoDChgkmnGohWnCv5B/RQEx1tbbAwn4EDg4usiADG9fMA95zpog7kOUHR6bh/a3OFiwhMb3ALpoHXybpXTYn011Qxq7FTpG+k5cOG+gr1HPOBxI7HqNdB6mp7WXLAtIame/5P63rox4JAphzvO/3GvAz3XJvrifztEdVeM4pD6EXZE6BNmqEfSxeIllGw== X-YMail-OSG: 6Pds4soVM1kX4zrdntJjT1lvgBeL9XhzVtZDDooEna8AlgIAp.amvxjZzD2oobu .zlSaRSWW3JCt0CvMxgNcPZISTusQWSSB6qkzsPukq_Iy5kLZrQsG3vmGr6H3CFSweywlPvNtj9v lLRrNkwZHc5XYRc.vg2XcHgL6qk0jlCzJujLEHL74yFlEVbyX5xkvOx_nhXj_jR8kVy8iwxaX3X6 U9Jxy29aCWgzEnp4tttLD76iBdxRdl14gEEfalbHD4xEINRzyO32ng2IXEHlbw_MFGnCHwLpVK7G rNvk5EZeOj_jLbzSazLjwwiWrNhU49e2ESJ104T.8_jAtmax7C8nXNtUxT9446Hk0GbR1Z_0LMMc Zex2.ykslRFuE6_pQHqQVXB787zUQPYXi4hKh5sm_sS5I.EFUHrLhHO9QybFZBOIQHRasvM9Fo6_ als7IJ5wOsshuBdl72t7IeOVbQX7QZQhDao427A8Igp8T1BhqhgZXX1lK8kV17fn.3VbSVWpXP6n xJjxsP5s6SbjNoXPpE9f0SuyKQoL8.VuFbyRDjjBIxAosD8wkU6RVKI6Ar1_qqt45Q8vO5mjdZgy 41e1EBBiaZ.SkhGPY3D_1xeJ0DVhnM9fgxHg8NsNhc97L.8sUkczUZtqUXZBijXm7QyY6GnMp40u USvxtA6aOusBES9yvtew.KAlxK8JQj2lGUxfMeHWw0OMvesHW0IGhVJsgvK.mT4b3eZPdz__HvY0 qbAFkbQv9n5ujD.yRcY0Bdu0VCkMT8Mj.ozWyIQwEn_MIpruFHpG1Kra1M4MTDgKHi2y34YibmYU zxvF7eUMcstYJ.lw_LasNDgf6hHeWJ5KpLIAdGVWjxxG_beUcwbOo1b5siGI9IvMqU_WYmiSaNdX wjjuGLiAggRG5VqYTY9HDJ3omiPZXlua2SUF65XnQPGpN2NM9eQpCWAb9UlbdHIXLFJoP3UsofrB ozfgL0IsANHVqPJFqlkFOOSAPtIUsgnNCQYpn14sCtLJHIakV9aDqbaZ7jwXFtcpMKyjnx1j31lZ IY9KyUJ2TO9.L.D6NbMZkYZSGmvEWoELnDZQE.8o5pX6Qgu5wgooQZ8lYUDv3L2OXck6DUJl10ra K52gH83PkB2t4Ik8EClDEhwBKulYw8M2FY93CtHp3vQnL5DryHpEUJlp7c7aSd2oO1YU_IFir6nn 8tCipQ4.2p8z_LwMgwGFJBRYxmR5ZZCP6PgwwA6wJnPEVZA4lE.fJXhfYp_x6t_TCypG6s8urDYa p98KXATlyUtNqPNHAmcTBR4btJyKDV6eU8RaEOPhJnZeR_DGXSHO8DHf4dHlce9DeYJW_uAysXcJ b9qKUFJilYwvj8WUmbEwfbV5le5fDOof0WAd9I1FAxDIgJixbxFoGEkj0mOu3VDU5EtReMZPTKQS iamBOS7K41wHk5.kkLiTHtf8QbAOsiZw.6xpagQQrBe0.YdlyZiY9cOTBLiUFWY0XrRc1f.1I_wg tOUZ4jBVdNbe9tN.tlBbmVVPZdATZSAPt5S10P8TZYAwx6I0W90.mBeKG9t1Aw.r5_XeZhsT1aUr HYkkQD5N_mfUe94hwsJKm6NeKzFpcuF69lOeThxlvETmtYR6j8NWU1HjbUeNqIaE3uSjQoh2gcoe 9Eo8l.A2O5IVm1izbRx3dAVjhtzYFRKBI2hit2.EYivgCa4beJka.y7m2MDnPehVJmJmjOmEVXu_ cKI06xVTXonChC8gDMEZadiHzN1cEK5ABPMsRLEBZVTqJbQwF7Dhkj99lJD7fKqrDC47zz5RVx8n FeJRfdNbyzDwbTSrt_i2p2bKzXYC7aHwLpcuE2Dfq0C78q91ds9jBYnuNbdl8P9mieNlUdXlpkf_ uWGR_CpaZ69UPAXNd9wJDdNC_ALeJZXzoZW4S50Yd8Ww72EaOy.xlfSXeNdjOSQv2ECjYrWS4rFT ZKEZEpXehdthjKHYuJg9hyctsrfgb6TY2D4VrF76lgD8OijKfTumwWvLYtRMH3LCwGLE4HfuIJNB D3qDXFyKXHlAFHhQVOeoA3GEerbyZXwpYwcrI9MGVGdRRdqppQgdzZzYOxUi5d23sZNdyq0er9ta LuhMnyUC70TukzG4ZgMLm18GrqmZuMaFepzP5KkKE3PfPp9ZzLm3IvXznSxpsFmF5jp9f2iFvJyj TcaLPB1viNbiyfmldROapCtzw7qQFU8c9MVu5rNo8JaspbdIU9cIpcGbYKR4yNkDM4NuFmIvRjGR YKcA7b9PQwDsSx1fX9pv6AS2UoystaOq.C6pfAJwnll8o9Fbu4d2.3b12In4Zrwa2DPnn4VJWZaT bgYVJlInBM3BXXgfALmI- X-Sonic-MF: X-Sonic-ID: c23a368a-25b8-440b-b8a6-7630d2a2dbd5 Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Thu, 6 Mar 2025 21:51:23 +0000 Received: by hermes--production-gq1-7d5f4447dd-42bnt (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 200f43a32bb779099f6aa200b8c67f71; Thu, 06 Mar 2025 21:51:19 +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.400.131.1.6\)) Subject: git: 8e99c8ad8fd4 - main - pkgbase: make pkg repo reproducible Message-Id: <75195E37-09E4-4982-A4EF-0DCE79CB8FD0@yahoo.com> Date: Thu, 6 Mar 2025 13:51:08 -0800 To: Baptiste Daroussin , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3826.400.131.1.6) References: <75195E37-09E4-4982-A4EF-0DCE79CB8FD0.ref@yahoo.com> X-Spamd-Result: default: False [-4.50 / 15.00]; RBL_SENDERSCORE_REPUT_9(-1.00)[98.137.68.84:from]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-1.00)[-0.997]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; 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)[]; RCPT_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.84:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.84:from] X-Rspamd-Queue-Id: 4Z835n1LqZz3sM4 X-Spamd-Bar: ---- Baptiste Daroussin wrote on Date: Thu, 06 Mar 2025 14:22:59 UTC : > The branch main has been updated by bapt: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8e99c8ad8fd41d3befae62f9eee59d8c= 5c60a539 >=20 > commit 8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 > Author: Baptiste Daroussin > AuthorDate: 2025-03-06 14:16:44 +0000 > Commit: Baptiste Daroussin > CommitDate: 2025-03-06 14:22:48 +0000 >=20 > pkgbase: make pkg repo reproducible >=20 > Add a PKG_WORKERS_THREADS variable set to 1 by default, if as a user > you want speed again, then just override it. Compare/contrast the PKG_WORKERS_THREADS name to the later PKG_WORKERS_COUNT name. I'm guessing PKG_WORKERS_COUNT was the final intent: processes vs. threads and threads possibly being misleading and COUNT being more generic for such distinctions. > --- > Makefile.inc1 | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > index f51fe7d3b119..75fcbc0bf968 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -606,6 +606,7 @@ SOURCE_DATE_EPOCH=3D ${TIMEEPOCHNOW:gmtime} > .else > SOURCE_DATE_EPOCH=3D ${PKG_TIMESTAMP} > .endif > +PKG_WORKERS_COUNT?=3D 1 PKG_WORKERS_COUNT vs. PKG_WORKERS_THREADS ? > =20 > PKG_NAME_PREFIX?=3D FreeBSD > PKG_MAINTAINER?=3D re@FreeBSD.org > @@ -2367,7 +2368,8 @@ real-sign-packages: _pkgbootstrap .PHONY > .if ${PKG_BIN_VERSION} < 11700 > printf "packing_format =3D \"${PKG_FORMAT}\";\n" >> = ${WSTAGEDIR}/meta > .endif > - @${PKG_CMD} -o ABI=3D${PKG_ABI} -o OSVERSION=3D"${SRCRELDATE}" = repo \ > + @${PKG_CMD} -o ABI=3D${PKG_ABI} -o OSVERSION=3D"${SRCRELDATE}" \ > + -o WORKERS_COUNT=3D${PKG_WORKERS_COUNT} repo \ PKG_WORKERS_COUNT vs. PKG_WORKERS_THREADS ? > -m ${WSTAGEDIR}/meta \ > -o ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ > ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Thu Mar 6 23:10: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 4Z84ry0myTz5qHTL; Thu, 06 Mar 2025 23:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z84ry007Tz3bXm; Thu, 06 Mar 2025 23:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741302626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=POVNH8c8AlTU5w408ENgc1DyehI4nU0PGJW6OvNj9iw=; b=aOueuZ8gyqmcqo+MWWZgEiLJe0GYWyQrTiRXvsA3Y26MRgXwc6GioWRVuZp5TQgtu4YMjb NDBkVApBtldg9+shYShQ/5W6Umd/vCMOsfw6pxWSWl8lOtTV2GCmvvXbVpsKCvqaf8kU+V aNDPYMSEv3yLp8Izzw9NhSsL2Se6Gn7bES5BcfsrvmrlxbmTt5Zo/wQmyAaBw2TitTQqjJ YpTBD7A4oom7wJ5kPBIBJrMAAoAj2GkWqU6vNhXxntH1TjpOdxa9w8UWJks0a9oz/N/g6X anxK2j2tqXpJBpcdOyw1BC/0WeQ422VUuATrSCyCCID/Lb8Eaa17FxcqttOZFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741302626; a=rsa-sha256; cv=none; b=GD1ZUR7tasnR2azLmVdCDY7c1jmgZVJWD+68a2RIfzu168idkIus8A+frieQ5hrVHbohhP Upkxn+7gCA8UwFycK7pqRZyGHXANHHcGLmaQItnO0iLbrrm83YiQotftVJ867Jt76N/Tww p9mWVY6dKlt0xJD9GRfYKwgvocxoSOBL8l0WZj8qek2KJG1gzRdIqcbWBvmTQvVu2GcWCr WfHdlaWk2KEYVOneQBDj9FHwxldsMjP0lG3qa7BX+f4hM4cl1jalCGluemRBMfJThkwwzb 0rz0oI+GUg/3VlOj8SDSlWvfFO0UEkN4dvaP75uRRVD0ya8IcPAykKOrDPOy1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741302626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=POVNH8c8AlTU5w408ENgc1DyehI4nU0PGJW6OvNj9iw=; b=DRAOUgyhZ5pH1XQqkOQuepCRLldHchtKYyMK95NbylINUqq73TiZUuvUdFtC5DuxBvjs7d ZX/HxaKOy6u3b5bWxojdZ/CaFa0kDi/wRA7trc767RwwyQZTc/ndiZDpI1jR464l17BZKy KLL+UtlSwXgmD80mo6Ap+SGhO7Ie//rWDTPctZyP+4R8VXuJGs6vMpAkpIOEYW7HZm74Pz db+WBDS5ePUKkjGJuLGJvcST5qUrLPk7VwpPyyOzTBCcR+pBt6YIGjGS1Ei5NJTlQISL7j iZuC0o7RBs7NYC7XFJOXhF9ti1uYnFbXbKgrXPaOtertZxavO6JmMY7iFY7jKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z84rx6Hfzz19Bh; Thu, 06 Mar 2025 23:10: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 526NAPWJ080590; Thu, 6 Mar 2025 23:10:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 526NAPS9080587; Thu, 6 Mar 2025 23:10:25 GMT (envelope-from git) Date: Thu, 6 Mar 2025 23:10:25 GMT Message-Id: <202503062310.526NAPS9080587@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: b8dfc3ecf703 - main - LinuxKPI: 802.11: improve key update locking to work around net80211 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b8dfc3ecf7031a0a7764cdb67d85ebe0c03d5d93 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b8dfc3ecf7031a0a7764cdb67d85ebe0c03d5d93 commit b8dfc3ecf7031a0a7764cdb67d85ebe0c03d5d93 Author: Bjoern A. Zeeb AuthorDate: 2025-03-06 13:17:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-06 23:02:08 +0000 LinuxKPI: 802.11: improve key update locking to work around net80211 As indicated in 11db70b6057e there was another panic on key removal which could no longer be reproduced. As originally assumed the problem was "hidden" by commit 9763fec11b83 as mentioned in 11db70b6057e. Said commit had logic inverted and 27bf5c405bf2 fixed that and with that the possible panic came back. The problem exists because some code paths out of net80211 are locked while others are not. This opens a possible race in net80211 which was tracked by extra logging in (*iv_key_update_begin)() (log lines shortend): key_update_begin: tid 100112 vap X nt Y unlocked key_update_begin: tid 100133 vap X nt Y locked One thread can be wpa_supplicant, the other is driven from the driver net80211 taskq. Further LinuxKPI needs to unlock (conditionally in case the lock is held) as a downcall to the driver/FW may sleep. This opens up possibilities for said race even further so that we observe it more reliably. This all leads to one thread calling down into the driver/firmware (unlocked) while the other will get to the same place (after acquiring the wiphy lock) before the nt re-lock happens and thus state checks did not catch this either. For LinuxKPI work around the problem utilizing (*iv_key_update_begin/end)() and taking the wiphy_lock() there holding it over the entire operation. Given we still have to conditionally unlock we need to keep track from _begin to _end on whether we have to re-lock. The checks for this need to be done under the wiphy_lock(). While a bool would suffice we use a refcount to make any future debugging easier. This isn't the most elegant solution but having the wiphy lock covering the full operation allows the 2nd thread to later run through the same code path and find the key gone (which we already checked). It remains questionable if (*iv_key_update_begin/end)() is the correct solution (as there are futher callers covering which would not need the unlock cycle) or if it should be done in the current code. The former will allow us to cover a full key store which we will need in case we will implement suspend/resume beyond what is done in native drivers/net80211 currently, if we will factor out the crypto locking for good, and fix the inconsistent locking of the nt (NODE) lock in net80211. Alternate solutions were discussed on freebsd-wireless today (2025-03-06, in the thread "Re: HEADS UP! Do not update on main currently (panic - on boot)"). Sponsored by: The FreeBSD Foundation MFC after: 3 days X-MFC with: 27bf5c405bf2 Differential Revision: https://reviews.freebsd.org/D49256 --- sys/compat/linuxkpi/common/src/linux_80211.c | 99 +++++++++++++++++++++++----- sys/compat/linuxkpi/common/src/linux_80211.h | 2 + 2 files changed, 85 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index be0006769e33..ec1798d2e886 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1135,9 +1135,7 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) struct ieee80211_sta *sta; struct ieee80211_node *ni; struct ieee80211_key_conf *kc; - struct ieee80211_node_table *nt; int error; - bool islocked; ic = vap->iv_ic; lhw = ic->ic_softc; @@ -1172,13 +1170,6 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) return (1); } - /* This is inconsistent net80211 locking to be fixed one day. */ - nt = &ic->ic_sta; - islocked = IEEE80211_NODE_IS_LOCKED(nt); - if (islocked) - IEEE80211_NODE_UNLOCK(nt); - - wiphy_lock(hw->wiphy); kc = lsta->kc[k->wk_keyix]; /* Re-check under lock. */ if (kc == NULL) { @@ -1210,9 +1201,6 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) free(kc, M_LKPI80211); error = 1; out: - wiphy_unlock(hw->wiphy); - if (islocked) - IEEE80211_NODE_LOCK(nt); ieee80211_free_node(ni); return (error); } @@ -1262,7 +1250,6 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) } sta = LSTA_TO_STA(lsta); - wiphy_lock(hw->wiphy); if (lsta->kc[k->wk_keyix] != NULL) { IMPROVE("Still in firmware? Del first. Can we assert this cannot happen?"); ic_printf(ic, "%s: sta %6D found with key information\n", @@ -1283,7 +1270,6 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) ic_printf(ic, "%s: CIPHER SUITE %#x (%s) not supported\n", __func__, lcipher, lkpi_cipher_suite_to_name(lcipher)); IMPROVE(); - wiphy_unlock(hw->wiphy); ieee80211_free_node(ni); return (0); } @@ -1324,7 +1310,6 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) __func__, SET_KEY, "SET", sta->addr, ":", error); lsta->kc[k->wk_keyix] = NULL; free(kc, M_LKPI80211); - wiphy_unlock(hw->wiphy); ieee80211_free_node(ni); return (0); } @@ -1337,7 +1322,6 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc, kc->keyidx, kc->hw_key_idx, kc->flags); #endif - wiphy_unlock(hw->wiphy); ieee80211_free_node(ni); return (1); } @@ -1348,6 +1332,86 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) return (_lkpi_iv_key_set(vap, k)); } + +static void +lkpi_iv_key_update_begin(struct ieee80211vap *vap) +{ + struct ieee80211_node_table *nt; + struct ieee80211com *ic; + struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct lkpi_vif *lvif; + bool islocked; + + ic = vap->iv_ic; + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + lvif = VAP_TO_LVIF(vap); + nt = &ic->ic_sta; + + islocked = IEEE80211_NODE_IS_LOCKED(nt); + +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(vap->iv_ic, "%s: tid %d vap %p nt %p %slocked " + "lvif nt_unlocked %d\n", __func__, curthread->td_tid, + vap, nt, islocked ? "" : "un", lvif->nt_unlocked); +#endif + + /* This is inconsistent net80211 locking to be fixed one day. */ + if (islocked) + IEEE80211_NODE_UNLOCK(nt); + + wiphy_lock(hw->wiphy); + + /* + * nt_unlocked could be a bool given we are under the lock and there + * must only be a single thread. + * In case anything in the future disturbs the order the refcnt will + * help us catching problems a lot easier. + */ + if (islocked) + refcount_acquire(&lvif->nt_unlocked); +} + +static void +lkpi_iv_key_update_end(struct ieee80211vap *vap) +{ + struct ieee80211_node_table *nt; + struct ieee80211com *ic; + struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct lkpi_vif *lvif; + bool islocked; + + ic = vap->iv_ic; + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + lvif = VAP_TO_LVIF(vap); + nt = &ic->ic_sta; + + islocked = IEEE80211_NODE_IS_LOCKED(nt); + MPASS(!islocked); + +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(vap->iv_ic, "%s: tid %d vap %p nt %p %slocked " + "lvif nt_unlocked %d\n", __func__, curthread->td_tid, + vap, nt, islocked ? "" : "un", lvif->nt_unlocked); +#endif + + /* + * Check under lock; see comment in lkpi_iv_key_update_begin(). + * In case the refcnt gets out of sync locking in net80211 will + * quickly barf as well (trying to unlock a lock not held). + */ + islocked = refcount_release_if_last(&lvif->nt_unlocked); + wiphy_unlock(hw->wiphy); + + /* This is inconsistent net80211 locking to be fixed one day. */ + if (islocked) + IEEE80211_NODE_LOCK(nt); +} #endif static u_int @@ -3413,6 +3477,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], mtx_init(&lvif->mtx, "lvif", NULL, MTX_DEF); INIT_LIST_HEAD(&lvif->lsta_list); lvif->lvif_bss = NULL; + refcount_init(&lvif->nt_unlocked, 0); lvif->lvif_bss_synched = false; vap = LVIF_TO_VAP(lvif); @@ -3545,6 +3610,8 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], if (lkpi_hwcrypto && lhw->ops->set_key != NULL) { vap->iv_key_set = lkpi_iv_key_set; vap->iv_key_delete = lkpi_iv_key_delete; + vap->iv_key_update_begin = lkpi_iv_key_update_begin; + vap->iv_key_update_end = lkpi_iv_key_update_end; } #endif diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index b17e6072066c..c2d29b2dcc4b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -186,6 +186,8 @@ struct lkpi_vif { struct list_head lsta_list; struct lkpi_sta *lvif_bss; + + int nt_unlocked; /* Count of nt unlocks pending (*mo_set_key) */ bool lvif_bss_synched; bool added_to_drv; /* Driver knows; i.e. we called add_interface(). */ From nobody Thu Mar 6 23:47: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 4Z85gs2bwlz5qK3S for ; Thu, 06 Mar 2025 23:47:37 +0000 (UTC) (envelope-from adziaee@runbox.com) Received: from mailtransmit05.runbox.com (mailtransmit05.runbox.com [IPv6:2a0c:5a00:149::26]) (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) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z85gq1VV4z3wPd; Thu, 06 Mar 2025 23:47:35 +0000 (UTC) (envelope-from adziaee@runbox.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=runbox.com header.s=selector1 header.b=TW+YebdQ; dmarc=pass (policy=quarantine) header.from=runbox.com; spf=pass (mx1.freebsd.org: domain of adziaee@runbox.com designates 2a0c:5a00:149::26 as permitted sender) smtp.mailfrom=adziaee@runbox.com Received: from mailtransmit03.runbox ([10.9.9.163] helo=aibo.runbox.com) by mailtransmit05.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1tqKw8-001tP9-8m; Fri, 07 Mar 2025 00:47:32 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=runbox.com; s=selector1; h=Message-Id:In-Reply-To:Date:Subject:CC:To:From:MIME-Version: Content-Transfer-Encoding:Content-Type; bh=g2KtfiruVobUA0jmzRgRjGvg2bEFuydMNG3nCPwbSZU=; b=TW+YebdQeen8zBhQ3km5n2cbJr ac86gXmKTqz37CwMuyACTRP9/knd/5raen3eu4ro5sJbUgFHwRbkoYq3KsojfGkk3tnxLGDIfJSL6 X9B0WgkodrPqfvphaWUFiRCUbIsdQoEj1kHmtcsP0K+htKxKpiqKyal2GjYgm4WVApxxaem+g09g3 aHjGcSOVyy94yrPxuF4m9RUoNI13TshY/jM9NBQtiPY3/ssZQwh+pxrQLk8YWE1CX4LjNlOTiAQwK 7xMfwCyu/eBuym90SZcOlJPXzxkakBtCmJuTxcw4ymLcPX0DsjXtxsz2naXZCaPY6YxMFWWTZb1L9 qGAM0BMw==; Received: from [10.9.9.127] (helo=rmmprod05.runbox) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1tqKw7-0008U5-Du; Fri, 07 Mar 2025 00:47:31 +0100 Received: from mail by rmmprod05.runbox with local (Exim 4.86_2) (envelope-from ) id 1tqKw7-0006H0-Ae; Fri, 07 Mar 2025 00:47:31 +0100 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline 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 Received: from [Authenticated alias (1070552)] by runbox.com with http (RMM6); Thu, 06 Mar 2025 23:47:31 GMT From: "Alexander Ziaee" To: "Warner Losh" , "John Baldwin" CC: "Bjoern A. Zeeb" , "Herbert J. Skuhra" , "Alexander Ziaee" , "Adrian Chadd" , "src-committers" , "dev-commits-src-all" , "dev-commits-src-main" , "Christos Margiolis" Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency Date: Thu, 06 Mar 2025 23:47:31 +0000 (UTC) X-RMM-Aliasid: 1070552 X-Mailer: RMM6 In-Reply-To: Message-Id: X-Spamd-Result: default: False [-4.17 / 15.00]; DWL_DNSWL_LOW(-1.00)[runbox.com:dkim]; NEURAL_HAM_LONG(-0.98)[-0.975]; NEURAL_HAM_MEDIUM(-0.94)[-0.940]; DMARC_POLICY_ALLOW(-0.50)[runbox.com,quarantine]; R_DKIM_ALLOW(-0.20)[runbox.com:s=selector1]; R_SPF_ALLOW(-0.20)[+ip6:2a0c:5a00:149::26]; NEURAL_HAM_SHORT(-0.15)[-0.153]; RCVD_IN_DNSWL_LOW(-0.10)[2a0c:5a00:149::26:from]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[runbox.com]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[runbox.com]; ASN(0.00)[asn:50304, ipnet:2a0c:5a00::/29, country:NO]; RCPT_COUNT_SEVEN(0.00)[10]; RCVD_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[runbox.com:+] X-Rspamd-Queue-Id: 4Z85gq1VV4z3wPd X-Spamd-Bar: ---- On 2025-03-04 12:07 -05:00 EST, "Warner Losh" wrote: > On Tue, Mar 4, 2025 at 8:23=E2=80=AFAM John Baldwin wro= te: >=20 >> On 3/4/25 09:25, Bjoern A. Zeeb wrote: >> > On Tue, 4 Mar 2025, Herbert J. Skuhra wrote: >> > >> >> On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: >> >>> >> >>> The branch main has been updated by ziaee: >> >>> >> >>> URL: >> https://cgit.FreeBSD.org/src/commit/?id=3D4262dbc57982383eb61a8b7806de6d= d4b7802da8 >> >>> >> >>> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 >> >>> Author: Alexander Ziaee >> >>> AuthorDate: 2025-02-19 15:54:27 +0000 >> >>> Commit: Alexander Ziaee >> >>> CommitDate: 2025-02-27 22:20:22 +0000 >> >>> >> >>> wifi manuals: Mlink + document description consistency >> >>> >> >>> Interfaces all have an mlink to if_$foo. Add these for the >> missing ones >> >>> and remove an incorrect one from rtwn_pci. Wireless network >> drivers are >> >>> all accessible via `apropos -s4 "wireless network driver", exce= pt >> two >> >>> which are "wireless network device". I actually prefer the >> latter, but >> >>> make them all consistent upon the more common parlance. Tag SPDX >> on one >> >>> of the files I touched, while here. >> >>> >> >>> MFC after: 3 days >> >>> Reviewed by: bz, carlavilla, mhorne >> >>> Approved by: carlavilla, mhorne (mentors) >> >>> Differential Revision: https://reviews.freebsd.org/D49063 >> >>> --- >> >>> share/man/man4/Makefile | 4 +++- >> >>> share/man/man4/uath.4 | 4 +++- >> >>> share/man/man4/upgt.4 | 2 +- >> >>> 3 files changed, 7 insertions(+), 3 deletions(-) >> >>> >> >>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile >> >>> index 13afc9b8d399..8e0af19eec3d 100644 >> >>> --- a/share/man/man4/Makefile >> >>> +++ b/share/man/man4/Makefile >> >>> @@ -764,7 +764,9 @@ MLINKS+=3Dptnet.4 if_ptnet.4 >> >>> MLINKS+=3Dral.4 if_ral.4 >> >>> MLINKS+=3Dre.4 if_re.4 >> >>> MLINKS+=3Drl.4 if_rl.4 >> >>> -MLINKS+=3Drtwn_pci.4 if_rtwn_pci.4 >> >>> +MLINKS+=3Drtw88.4 if_rtw89.4 >> >>> +MLINKS+=3Drtw89.4 if_rtw89.4 >> >>> +MLINKS+=3Drtwn.4 if_rtwn.4 >> >> ^^^^^^^^^ >> >> $ grep if_rtwn.4 ObsoleteFiles.inc >> >> OLD_FILES+=3Dusr/share/man/man4/if_rtwn.4.gz >> > >> > In fact that is probably correct but things are confusing. >> > >> > The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those >> > should have the man page and links (so contrary to what was done). >> > rtwn.ko is just the common code if I am not mistaken (Adrian should kn= ow >> > better). >> > >> > But everyone is just referring to the driver as rtwn and I fear if the= re >> > is no man page to be found as man rtwn / man if_rtwn people will be >> > confused. >> > >> > I wanted to do the same with rtw88 but was told to keep it all together >> > as one so rtwn is an excemption. >> > >> > That all said, yes, it needs a further cleanup. >> >> The manpages should just be rtwn/if_rtwn. The bus attachment doesn't >> matter. >> We don't have separate manpages when a storage adapter has been supported >> on both PCI and ISA in the past, you just had the ahc(4) driver (for >> example). >> USB vs PCI is the same. It should just be a single manpage for the driv= er >> regardless of the attachment. If the driver has separate modules that c= an >> be documented in the one manpage, but the list of supported chipsets, et= c. >> is presumably shared hence the shared driver name and common code. In >> particular, the thing a user sees in dmesg is 'rtwn0', not 'rtwn_pci0' so >> the manpage needs to be tied to what a user sees as a device name in dme= sg. >> >=20 > Yea, the man page should mention the detail that we have separate .ko's, = but > otherwise I agree with John here. IIUC, all interfaces should be documented as $foo with an mlink (but no add= itional name macro) to if_$foo. I've also been pushing for sound to become represen= ted the same way for consistency, which christos said (paraphrased) no objectio= n.= From nobody Fri Mar 7 01:48: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 4Z88MX4Nntz5qRV8; Fri, 07 Mar 2025 01:48:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z88MX0l91z3qXF; Fri, 07 Mar 2025 01:48:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741312120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xjKnnW4sOuW/vA9HEqznlXlnJhste/vb9R5gRoIlwJA=; b=OjzQDVohlPnEKboicpA7EDs2QBWGd9OiiD+nP+HmtB3RkKL2HaeZWuDZ/W6/kDApoR5MoD QD0gsqbpM4uur32vQmT/1R7qrl/nt4ZlAZ8YpVaUcv2Rn6XnS5LEF8E0g1zqOPfyMWC79A OtVda2lnGh/g+1bKlbh7WmNxIlaW2owLgDeQOsJZ9J7zGrp76PaZ4JDg9rYGyVROwUUqHG /9RyeZCNUO8Am2VJj5eltNly9bZtHZfOhmL8tG6tXZtkMNI+grRnWZvdAFnOLOBY14Yv9F jSatOLuotM5wcfzKLH7LBP/iXlqTKIBUALoftjiKQjSjB+tKQyxnVj5nNE27vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741312120; a=rsa-sha256; cv=none; b=CgBclpXN5yRjAq/RIy8eOjp72TrPd0AOoqT2cV4Sw0FvHpxmxkSY0GO5WdhD4Kgd3GQzDN cfWhuXswDDeMULm+qcYR2qAxPSJ1VFQB/yCypsl8+Sulda1mZIEjKX8ufLafADFUDSsk5n TQugrXNU8HesNsn/fMRjejiB1uZVcW6d6W7TEv3YtVo844Vvmb96CbUnY5wZWewXdilrab oPDvymu7MZGZ7BDwyYtJfJgwo5AiNfd9r+iOHiau9T6hxTxPwwfAG0+prwex/Ri9sgwKhT 3wDa4gDtyPAMACff5nIgknuM16MBMHI5XBl4llTWU9hjY6k6KfZiF5yINgg5Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741312120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xjKnnW4sOuW/vA9HEqznlXlnJhste/vb9R5gRoIlwJA=; b=e8Tm2jr6YZu1+m0GCitlZpkcv5+ugPi17KBexDil+b891Iq91pIrgiBFk5Bhq/XXAlonU0 HQW65bvE+eJQ0pkItKhN+Ut0gyGi+0KllH3vgfTHe4XTW0Ar6XpC3XatpQlxv73BuzO7XM 0bHlLnwVHYSJ/9KIx5y9v/oo9rOjMCAWIS8BNhxIW0MS6gIGSoCLakw3QlDxnvi2EkK+8k IueYKTey/LNsuuLLGzEkQVgBnWwno3FcoN+g5zfMEFyDiyXqrC3EjatdHVRu2kpso6eUg4 x93zmpjhp1CtwlLCQdELM0LvTA/r7dl5mO6heJnCG8dKQPlzHCzUqoPnybtshg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z88MW6rtFz1lZ; Fri, 07 Mar 2025 01:48: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 5271mddC068571; Fri, 7 Mar 2025 01:48:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5271mdZe068568; Fri, 7 Mar 2025 01:48:39 GMT (envelope-from git) Date: Fri, 7 Mar 2025 01:48:39 GMT Message-Id: <202503070148.5271mdZe068568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 5460bdda9d4c - main - truncate.1: improve the example section List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5460bdda9d4cb3ce1d7431824b6f53c545888b53 Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=5460bdda9d4cb3ce1d7431824b6f53c545888b53 commit 5460bdda9d4cb3ce1d7431824b6f53c545888b53 Author: Maxim Konovalov AuthorDate: 2025-03-07 01:45:21 +0000 Commit: Maxim Konovalov CommitDate: 2025-03-07 01:45:21 +0000 truncate.1: improve the example section Notably: * spell "Megabytes" as "megabytes" consistently; * remove a stray asterisk from the /boot/kernel/kernel listing * avoid using a shell prompt in the examples consistently * fixes the size parameter * add an example how to increase the file size PR: 273997 MFC after: 1 week --- usr.bin/truncate/truncate.1 | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/usr.bin/truncate/truncate.1 b/usr.bin/truncate/truncate.1 index 649749ddf255..f6b8b0cc37c9 100644 --- a/usr.bin/truncate/truncate.1 +++ b/usr.bin/truncate/truncate.1 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2021 +.Dd March 6, 2025 .Dt TRUNCATE 1 .Os .Sh NAME @@ -188,14 +188,14 @@ and continue processing the remaining arguments. .Sh EXAMPLES Adjust the size of the file .Pa test_file -to 10 Megabytes but do not create it if it does not exist: +to 10 megabytes but do not create it if it does not exist: .Bd -literal -offset indent -truncate -c -s +10M test_file +truncate -c -s 10M test_file .Ed .Pp Same as above but create the file if it does not exist: .Bd -literal -offset indent -truncate -s +10M test_file +truncate -s 10M test_file ls -l test_file -rw-r--r-- 1 root wheel 10485760 Jul 22 18:48 test_file .Ed @@ -208,18 +208,28 @@ with the same size: .Bd -literal -offset indent truncate -r /boot/kernel/kernel test_file test_file2 ls -l /boot/kernel/kernel test_file* --r-xr-xr-x 1 root wheel 31352552 May 15 14:18 /boot/kernel/kernel* +-r-xr-xr-x 1 root wheel 31352552 May 15 14:18 /boot/kernel/kernel -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2 .Ed .Pp -Downsize +Increase the size of the file .Pa test_file -in 5 Megabytes: +by 5 megabytes but do not create it if it does not exist: .Bd -literal -offset indent -# truncate -s -5M test_file +truncate -s +5M test_file ls -l test_file* --rw-r--r-- 1 root wheel 26109672 Jul 22 19:17 test_file +-rw-r--r-- 1 root wheel 36595432 Sep 20 19:17 test_file +-rw-r--r-- 1 root wheel 31352552 Sep 20 19:15 test_file2 +.Ed +.Pp +Reduce the size of the file +.Pa test_file +by 5 megabytes: +.Bd -literal -offset indent +truncate -s -5M test_file +ls -l test_file* +-rw-r--r-- 1 root wheel 31352552 Jul 22 19:19 test_file -rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2 .Ed .Sh SEE ALSO From nobody Fri Mar 7 04:15: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 4Z8Ccd33Rqz5qbdy; Fri, 07 Mar 2025 04:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ccc6zsmz466y; Fri, 07 Mar 2025 04:15:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741320913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0O3XSQtSRwUcHCdzNJeo8ea7r0eGxUTvrum0J1I8fo=; b=pgzVbL8pBfwNLY6UJ5HXuEyEv+9dKu9JnU2U64RHH0ycT6/bZKXVoKUwtOKvDti41Wl/jq eBagWbI7biIWDQ4nxHC2JvPnhcHQbOJy4Q80UK/O+/qq1Ij7TFkvOo8vZ816JCQSQdUgQ4 EvKAnUrDexui0LKlhqsFma7Q6XXBv8vgRLqFJcZhHAtzCdsi5ZnvTp1pHRAV9ebxkQBiQR Vyk7VbreqdDpQH4569baEbQjjuuW322mYUvNDZdjTgh6D4w24GaH2LH/C/rgpFkCBYny6R dlOSZTL1QAls5kNGX6CXf4nMbzv+kMhtTZkWOnM6F73BKO5PgJMGveMCxPfGkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741320913; a=rsa-sha256; cv=none; b=BTigCveHq9t8HKjtdNyiDvr8yZH2zZdI94y36bNmrDiyKrgUJnpJkdriZ1xYjJLrXuODk8 mzIKgOTkFxo6phKhztTMOBhF8P5cu9btholxT+GE1Mwyz1HAdHe3gcG3T4b1iUDfKoMO8A 9d4JaXXP5WGK/8FZ0fXOxqfZ69B+sCl5n/fkm2LuaE1FJeq6Uyk+LyqxEf5sDa4Te6t2w/ NZXx+mP4quIn8T6f3ccy6NMVLVsIvGHZE/vDZ/xSebokakAwwOhPuoOkxYoSudc8ERN35K yMwE32kr20bLS+AtufpnSNgqMf07H9ju1lfUNqiiyf8gfTGcHJqJfv3U8uOK1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741320913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0O3XSQtSRwUcHCdzNJeo8ea7r0eGxUTvrum0J1I8fo=; b=NCI7RQ1KgZdtaxtXJFKmJxPbt+enNDVN+doLFsIpdDkmK8KTiCaODEqndeqlgS5WLvfhqi +YuUVBZi87IDlWGKqLiH/5CpowjmFKQZVHHmieyUxyntel6klfxKknl09JNew23AW71oZQ jcF5s8BZvF5n4UTp5mVedIlo0HPQKmSyx7rrSxqEM+9vMXDPoZI/TJ5gvHY6LNuUkhaBHc 6NLnglbDjEEhob/qRVEN+ZX9SK1xg25fxW1mYPFBJdsgamf2jDGnulKoh5/shzFMe+WjR1 9kHdXcboswNEAqlM/qLvHNgvy1g6Lbz4PZ4zMM8bsNO567hFi6/VN6PJSEYDrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ccc6Q14z62k; Fri, 07 Mar 2025 04:15: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 5274FC2n049679; Fri, 7 Mar 2025 04:15:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5274FCmg049676; Fri, 7 Mar 2025 04:15:12 GMT (envelope-from git) Date: Fri, 7 Mar 2025 04:15:12 GMT Message-Id: <202503070415.5274FCmg049676@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: 0e096bb3fcaa - main - netlink: Fix getting route scope of interface's IPv4 addresses List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e096bb3fcaaf663df372aa4abb986e8d63c6e68 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0e096bb3fcaaf663df372aa4abb986e8d63c6e68 commit 0e096bb3fcaaf663df372aa4abb986e8d63c6e68 Author: Zhenlei Huang AuthorDate: 2025-03-07 04:14:44 +0000 Commit: Zhenlei Huang CommitDate: 2025-03-07 04:14:44 +0000 netlink: Fix getting route scope of interface's IPv4 addresses sin_addr of a `struct sockaddr_in` is stored in network byte order, but IN_LOOPBACK() and IN_LINKLOCAL() want the host order. Reviewed by: melifaro, #network Fixes: 7e5bf68495cc netlink: add netlink support MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49226 --- sys/netlink/route/iface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 93465e55e6aa..8b871576d0b2 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -818,9 +818,9 @@ ifa_get_scope(const struct ifaddr *ifa) { struct in_addr addr; addr = ((const struct sockaddr_in *)sa)->sin_addr; - if (IN_LOOPBACK(addr.s_addr)) + if (IN_LOOPBACK(ntohl(addr.s_addr))) addr_scope = RT_SCOPE_HOST; - else if (IN_LINKLOCAL(addr.s_addr)) + else if (IN_LINKLOCAL(ntohl(addr.s_addr))) addr_scope = RT_SCOPE_LINK; break; } From nobody Fri Mar 7 06:28: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 4Z8GYt2h9Gzt3xh; Fri, 07 Mar 2025 06:28:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8GYt24PTz3MpV; Fri, 07 Mar 2025 06:28:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vyg6w2e5JFSxLr1tI7vPtWI4/I2OVPCKbgjqyj8sgPs=; b=bLKw77mrt6cmGuTtVtxi/VgRezXHg694u0AKPoAtlTsNNBDuQANW7jxFf66eCkVih+np4r mHQ8wLOn4Jp/u2Y1ZZJG0y13hyuawCW/t0LDnfgOJBapoEnmG8qcypauD7BRspwOwp6TSC 1m/MYhsSo+o5DjplpsTzkVqePKEVZurBxpJaWV7PncPwcVNx9pKxbva6fGSCh3uzpy18ny ymCo01Es8FZ7g5HXe4Bqu9n81yxHWf4XJ/mJg8fpxbTPspDZZR7gO7LYy6shoYKv0TuLWO C7LDSP7cnShwLUqDxCM/Q26KOCloB87pQe8JZzOxMsqf7sTw6ajtsdv32g3xMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741328882; a=rsa-sha256; cv=none; b=SBePn7diNUhPtPba1q+tAZVgkLtPWqkxJ8C77maXTxP34fHn0fkbPJ9+xO7fdfxhbKX0iC z5wAKhZQgBOPLSbZnPNpeYhvC/u5PDT6CelJZxBHM2KC2YNNYs9I2+fOEeTXV+ZoeDWUeT N3KwlHLcRWuvZZ0/qGL5nFJyAQLEv27moJsAjR1b/tgbjzm52mAuXgmG3gbnVm2RaDQ4lV ES7ImrgfshlKZj4YjHtl8tf4Xg47lj6tur7ezSknmht6DQPnIrF7yc9XBMXcvjjoLLf2iC s6fP0jnCoHDCWn85ptUYsc9xlTNQHnyf17QKCuaXu8JM2OIvajurnoKOWmMocA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vyg6w2e5JFSxLr1tI7vPtWI4/I2OVPCKbgjqyj8sgPs=; b=Nn2+ULT/sZvn0cvt0Mkl9g4Xcop3Ao12MH4f0OUFCjtjzN8z1qlXU6YQvoGPKIysL9zMwe HDS5LI3zl5l2Eb7S5TpDNFv3835iUamcj44C8bQPlN4ExtGl5r1IwnbAHnWkp6uBTS58tn K1RvHF/8rHAmEwA5RnPaj6ksedw4D5Tv/0t2+n7aUn6OIQcThLulgOlpPmY2mhMEpA4kiT DRoV8mp0ARXI8HHQydSOiB99dpFCw3ulqcLTzmmf0WeG6synxkF8u6na7TQwGal1Y72d+/ HMcxAuSFD6WkC1YqsFgA4LXkNP7mzaZP9i32oZHsQt2rlXgt4brzn8rZXZB6mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8GYt1bzrz9Qg; Fri, 07 Mar 2025 06:28: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 5276S24o092975; Fri, 7 Mar 2025 06:28:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5276S2mX092972; Fri, 7 Mar 2025 06:28:02 GMT (envelope-from git) Date: Fri, 7 Mar 2025 06:28:02 GMT Message-Id: <202503070628.5276S2mX092972@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: c7225a3ede3c - main - ig4_iic: Allow sleeping if called from iichid interrupt handler. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c7225a3ede3cf99c538158962f4d65dee435bbcd Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=c7225a3ede3cf99c538158962f4d65dee435bbcd commit c7225a3ede3cf99c538158962f4d65dee435bbcd Author: Vladimir Kondratyev AuthorDate: 2025-03-07 06:26:51 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 06:26:51 +0000 ig4_iic: Allow sleeping if called from iichid interrupt handler. This replaces 50 ms busy loop with mtx_sleep for the same duration thus saving CPU time when iichid is driven with interrupts. Sponsored by: Future Crew, LLC MFC after: 2 month Differential Revision: https://reviews.freebsd.org/D48956 --- sys/dev/ichiic/ig4_iic.c | 5 +---- sys/dev/ichiic/ig4_var.h | 1 - sys/dev/iicbus/iichid.c | 3 +++ 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/dev/ichiic/ig4_iic.c b/sys/dev/ichiic/ig4_iic.c index c9346ff12350..cd88b28a2d52 100644 --- a/sys/dev/ichiic/ig4_iic.c +++ b/sys/dev/ichiic/ig4_iic.c @@ -72,7 +72,7 @@ #include #include -#define DO_POLL(sc) (cold || kdb_active || SCHEDULER_STOPPED() || sc->poll) +#define DO_POLL(sc) (cold || kdb_active || SCHEDULER_STOPPED()) /* * tLOW, tHIGH periods of the SCL clock and maximal falling time of both @@ -720,14 +720,11 @@ ig4iic_callback(device_t dev, int index, caddr_t data) if ((how & IIC_WAIT) == 0) { if (sx_try_xlock(&sc->call_lock) == 0) error = IIC_EBUSBSY; - else - sc->poll = true; } else sx_xlock(&sc->call_lock); break; case IIC_RELEASE_BUS: - sc->poll = false; sx_unlock(&sc->call_lock); break; diff --git a/sys/dev/ichiic/ig4_var.h b/sys/dev/ichiic/ig4_var.h index 989cf23779a2..0d000ab34c1d 100644 --- a/sys/dev/ichiic/ig4_var.h +++ b/sys/dev/ichiic/ig4_var.h @@ -93,7 +93,6 @@ struct ig4iic_softc { bool platform_attached : 1; bool use_10bit : 1; bool slave_valid : 1; - bool poll: 1; /* * Locking semantics: diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index 346d432a74b5..fb6e8606adae 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -602,7 +603,9 @@ iichid_intr(void *context) * acknowledge interrupts we fetch only length header and discard it. */ maxlen = sc->power_on ? sc->intr_bufsize : 0; + THREAD_SLEEPING_OK(); error = iichid_cmd_read(sc, sc->intr_buf, maxlen, &actual); + THREAD_NO_SLEEPING(); if (error == 0) { if (sc->power_on) { if (actual != 0) From nobody Fri Mar 7 06:28: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 4Z8GYv6mp0zt43F; Fri, 07 Mar 2025 06:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8GYv2fnfz3MYX; Fri, 07 Mar 2025 06:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8OSFu+Fr01qplbW2cEiVyDLFoRm+Sj/M6B1ZbFjMwxw=; b=VU1PYwU9aBQShizTcIL1sRd0eXlJ0ctA9z2HQFNWpiCDQT4lRSM8C72knxl/UV8dBuaa8O PanDDKGlXE7UKVmrlVGkWniGRuw1p35gVHN0NL5kd37iYgqNowiTbjW5IvEBqOZd2DmS/f KWcYbs1SL5MLFgk6G2Ydbs8Et5pei/1iuEuPEFbEYu7chJ0FOKiJTyKL6umD5tYUM0Jw36 iPwJov8Q4P42WjntXrd+B4g81bsgZyRc+ZFFzoD/9C6U6mzdIW2Hl5uvC3xcTlIKyvMfci HL3xWonuBPuRKNJNPiQs2rGtI5Cwbj4nxIWS8FT6YZTHWTT8kpzB0hzYfI4sqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741328883; a=rsa-sha256; cv=none; b=MqeDbZmf6DNPutyjHS06YmK4ExCngWp3wVz7wQ/mQJJz0QUlmShSFT09MS6vud6E5ZVvlh RHMaQkLWkCcffqaajEPyzFo84KBf0KT/3eLqBQzAJt+DpbsZrtk9RbWvGvi6iH9uVZgbj+ AOfoNMuzVDnEV6Dcjhmk0UZnOvAI0sDvIotdTVspuHYHZkGlwZehMMA/uxEKIZuINuumzi 3/vgih4Rk9NJ8Y4Iy1ouWpBfaW01qWjBigQKQmFGlai7U6qxwD/SDE2ernDe2cg7DiQ9BY cRs+ZlTpzKktRJigKMWIme7aar706ElDP2/xU5vTQsPY/b52uP57Nx7RwqkJeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8OSFu+Fr01qplbW2cEiVyDLFoRm+Sj/M6B1ZbFjMwxw=; b=UkOq8PSbpYYUHuNWl8zutgJxZ5gHt3KssquIDqAxRZ6FrfJ4SJtWBTZnNHKbkYay9uZRAH fcLJfxoiIBpkLvT4XRDBcAn3xpOppmQv7yC2viP3LwnnOtUyuYcai8TPBvQZDEnZOUtGQc ovw6SaDV0ihnvir4POMHx+pcxVcazmFgER6pDbRojWrNlIELCXMOjesZnnAsOWLtHDZB1E AUcOOCJWnmdCaa2bhFjKsUbl22zmONTJqwhED444qLzw8fbSRBeDp6v0PnyLcbNcUHDJB3 rU8UAkXnXCXeKOwWqgnal2/e5iKImDyY24CWVhUg9lgSKZz51WpDowoe6e/pow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8GYv2GZZz8cj; Fri, 07 Mar 2025 06:28: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 5276S3sY093018; Fri, 7 Mar 2025 06:28:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5276S3mH093015; Fri, 7 Mar 2025 06:28:03 GMT (envelope-from git) Date: Fri, 7 Mar 2025 06:28:03 GMT Message-Id: <202503070628.5276S3mH093015@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: 548d3aa856a9 - main - iichid(4): Read wMaxInputLength bytes over I2C even if we discards 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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 548d3aa856a97f4483554beceeb57fa9ba0ff913 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=548d3aa856a97f4483554beceeb57fa9ba0ff913 commit 548d3aa856a97f4483554beceeb57fa9ba0ff913 Author: Vladimir Kondratyev AuthorDate: 2025-03-07 06:26:51 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 06:26:51 +0000 iichid(4): Read wMaxInputLength bytes over I2C even if we discards data For some devices e.g. ITE5570 it is not enough to read HID-over-I2C input length header of RESET command response to acknowledge interrupt. Do a full-size read to avoid interrupt storm. Sponsored by: Future Crew LLC MFC after: 2 month Differential Revision: https://reviews.freebsd.org/D48957 --- sys/dev/iicbus/iichid.c | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index fb6e8606adae..1a08bd1d824a 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -284,11 +284,25 @@ iichid_cmd_read(struct iichid_softc* sc, void *buf, iichid_size_t maxlen, return (error); actlen = actbuf[0] | actbuf[1] << 8; - if (actlen <= 2 || actlen == 0xFFFF || maxlen == 0) { +#ifdef IICHID_SAMPLING + if ((actlen == 0 && sc->sampling_rate_slow < 0) || + (maxlen == 0 && sc->sampling_rate_slow >= 0)) { +#else + if (actlen == 0) { +#endif + /* Read and discard reset command response. */ + msgs[0] = (struct iic_msg) + { sc->addr, IIC_M_RD | IIC_M_NOSTART, + le16toh(sc->desc.wMaxInputLength) - 2, sc->intr_buf }; + actlen = 0; +#ifdef IICHID_SAMPLING + } else if ((actlen <= 2 || actlen == 0xFFFF) && + sc->sampling_rate_slow >= 0) { /* Read and discard 1 byte to send I2C STOP condition. */ msgs[0] = (struct iic_msg) { sc->addr, IIC_M_RD | IIC_M_NOSTART, 1, actbuf }; actlen = 0; +#endif } else { actlen -= 2; if (actlen > maxlen) { @@ -580,7 +594,7 @@ iichid_intr(void *context) { struct iichid_softc *sc; device_t parent; - iichid_size_t maxlen, actual; + iichid_size_t actual; int error; sc = context; @@ -602,9 +616,8 @@ iichid_intr(void *context) * (to ON) before any other command. As some hardware requires reads to * acknowledge interrupts we fetch only length header and discard it. */ - maxlen = sc->power_on ? sc->intr_bufsize : 0; THREAD_SLEEPING_OK(); - error = iichid_cmd_read(sc, sc->intr_buf, maxlen, &actual); + error = iichid_cmd_read(sc, sc->intr_buf, sc->intr_bufsize, &actual); THREAD_NO_SLEEPING(); if (error == 0) { if (sc->power_on) { @@ -812,6 +825,7 @@ iichid_intr_setup(device_t dev, device_t child __unused, hid_intr_t intr, void *context, struct hid_rdesc_info *rdesc) { struct iichid_softc *sc; + device_t parent; if (intr == NULL) return; @@ -821,33 +835,38 @@ iichid_intr_setup(device_t dev, device_t child __unused, hid_intr_t intr, * Do not rely on wMaxInputLength, as some devices may set it to * a wrong length. Find the longest input report in report descriptor. */ - rdesc->rdsize = rdesc->isize; + rdesc->rdsize = + MAX(rdesc->isize, le16toh(sc->desc.wMaxInputLength) - 2); /* Write and get/set_report sizes are limited by I2C-HID protocol. */ rdesc->grsize = rdesc->srsize = IICHID_SIZE_MAX; rdesc->wrsize = IICHID_SIZE_MAX; + parent = device_get_parent(sc->dev); + iicbus_request_bus(parent, sc->dev, IIC_WAIT); + sc->intr_handler = intr; sc->intr_ctx = context; - sc->intr_buf = malloc(rdesc->rdsize, M_DEVBUF, M_WAITOK | M_ZERO); sc->intr_bufsize = rdesc->rdsize; + sc->intr_buf = realloc(sc->intr_buf, sc->intr_bufsize, + M_DEVBUF, M_WAITOK | M_ZERO); #ifdef IICHID_SAMPLING - sc->dup_buf = malloc(rdesc->rdsize, M_DEVBUF, M_WAITOK | M_ZERO); + sc->dup_buf = realloc(sc->dup_buf, sc->intr_bufsize, + M_DEVBUF, M_WAITOK | M_ZERO); taskqueue_start_threads(&sc->taskqueue, 1, PI_TTY, "%s taskq", device_get_nameunit(sc->dev)); #endif + iicbus_release_bus(parent, sc->dev); } static void iichid_intr_unsetup(device_t dev, device_t child __unused) { +#ifdef IICHID_SAMPLING struct iichid_softc *sc; sc = device_get_softc(dev); -#ifdef IICHID_SAMPLING taskqueue_drain_all(sc->taskqueue); - free(sc->dup_buf, M_DEVBUF); #endif - free(sc->intr_buf, M_DEVBUF); } static int @@ -1132,6 +1151,8 @@ iichid_attach(device_t dev) sc->power_on = true; + sc->intr_bufsize = le16toh(sc->desc.wMaxInputLength) - 2; + sc->intr_buf = malloc(sc->intr_bufsize, M_DEVBUF, M_WAITOK | M_ZERO); TASK_INIT(&sc->suspend_task, 0, iichid_suspend_task, sc); #ifdef IICHID_SAMPLING sc->taskqueue = taskqueue_create_fast("iichid_tq", M_WAITOK | M_ZERO, @@ -1142,6 +1163,7 @@ iichid_attach(device_t dev) sc->sampling_rate_slow = -1; sc->sampling_rate_fast = IICHID_SAMPLING_RATE_FAST; sc->sampling_hysteresis = IICHID_SAMPLING_HYSTERESIS; + sc->dup_buf = malloc(sc->intr_bufsize, M_DEVBUF, M_WAITOK | M_ZERO); #endif sc->irq_rid = 0; @@ -1164,6 +1186,7 @@ iichid_attach(device_t dev) if (sc->irq_res != NULL) bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid, sc->irq_res); + iichid_detach(dev); error = ENXIO; goto done; #endif @@ -1189,7 +1212,7 @@ iichid_attach(device_t dev) if (sc->sampling_rate_slow >= 0) { pause("iichid", (hz + 999) / 1000); - (void)iichid_cmd_read(sc, NULL, 0, NULL); + (void)iichid_cmd_read(sc, sc->intr_buf, 0, NULL); } #endif /* IICHID_SAMPLING */ @@ -1232,7 +1255,9 @@ iichid_detach(device_t dev) if (sc->taskqueue != NULL) taskqueue_free(sc->taskqueue); sc->taskqueue = NULL; + free(sc->dup_buf, M_DEVBUF); #endif + free(sc->intr_buf, M_DEVBUF); return (0); } From nobody Fri Mar 7 06:28: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 4Z8GYw5rf4zt3rZ; Fri, 07 Mar 2025 06:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8GYw3g8lz3Ms2; Fri, 07 Mar 2025 06:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbjDr1HcPoC3p5rrQbllFeLrkaYK8J0stwl6s7oI0+k=; b=j6QhuOq4q8dlH9zsN5gY4Ox1ML4V+YBOVdjZeBdwzCBRnyp2hA8vylM0CCzEZRDURu1VSh qW3V9XIxwmPUu1jiv1L0KKbTU7JI4L7W+EAgf1CG64IBvoeQl7NNSf1T+6W54PCTWoSJ4A hBQtPP0VZxxKIe8FTc7/l9jiGMGjp5R8PG6vL9rkS09t4Cek6mcWLcH3jLDCAeaJYId+KC UAZ6FrSeYn0mfJpwdXEDuqPdcZftbxB39TTyVMXg6LS04fZ1DDRmQsErG6PFgYe4gDAY6C q8JIhVoNsK6qp7Hl1/zNpzR987GehHxnCUfhvKK++HcjHPuEKZcY4eyEfOQEPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741328884; a=rsa-sha256; cv=none; b=u4TtqTpfueaTWt7uFkpP2H5D3/m1JUKMsk3Y9ESY4u2S7qFInyjUZKkAUatxB3EZNvTPNV 3Rep1LJIftc+d3O9Zy+nllr8lNrm2fldMyBOOtNmamQXQcBLSuqk36s4D30DSJsxrwIopT zCBd1xARMda7XjfWqV63anm1HzvXFpZSnMem7Vzd67rcc60I2GPiREUiLDY+EVEoefC6AB Dd/4pQAuSpi1or+r7dgPviEcpqSkEXIF/e08Uhouy3jKFItJLrvmH+eY9FJ4V7nS2xP/v9 hGe6Rk4UXr2YOA+Wyj/RuFuosmp4GP5xu0wVUWZ95/UzyrMso4OyDgXXtUcZhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741328884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbjDr1HcPoC3p5rrQbllFeLrkaYK8J0stwl6s7oI0+k=; b=wmEV+qUT8PJgSLm1CcBYzhVT+4eTrH5jIzwQzcGwKodDGAMcUVPkhSR4VGI5zwL9JSmqMf Luw3zEkR8IYuJJgVJo0hyO8AcMqfk0vVJsEBCvD4je06ZSi90R+LM0O5z9VV7pAS4fsIc2 V+JiQlPSsqOGsUEKLlgZd2q235i7rT8f4Wla9RKn1q6hD3cl1QB9fq8Rcj6QbRXqMwyZhb XPfgeNKVu/o0/IlD8cRjXNezcqbwWf3ldUlUmHTE1XJLjYMeSTPELoExgplu+FXMTMWT4M /VS4HGqnxxWDRmEwj1iYNw52OjfTIyBkuB+F1m2GYJQS3DNdi4fJKIlODvUGug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8GYw34pWz8vv; Fri, 07 Mar 2025 06:28: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 5276S4tP093059; Fri, 7 Mar 2025 06:28:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5276S46x093056; Fri, 7 Mar 2025 06:28:04 GMT (envelope-from git) Date: Fri, 7 Mar 2025 06:28:04 GMT Message-Id: <202503070628.5276S46x093056@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: daa098cc37b9 - main - iichid(4): Wait for RESET command response while attaching List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: daa098cc37b9db36281623c00558976aea4fa90e Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=daa098cc37b9db36281623c00558976aea4fa90e commit daa098cc37b9db36281623c00558976aea4fa90e Author: Vladimir Kondratyev AuthorDate: 2025-03-07 06:26:51 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 06:26:51 +0000 iichid(4): Wait for RESET command response while attaching before starting of children initialization to ensure that parent device is fully functional. Sponsored by: Future Crew LLC MFC after: 2 month Differential Revision: https://reviews.freebsd.org/D48958 --- sys/dev/iicbus/iichid.c | 55 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index 1a08bd1d824a..b86858791a4d 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -98,6 +98,8 @@ enum { #define I2C_HID_POWER_ON 0x0 #define I2C_HID_POWER_OFF 0x1 +#define IICHID_RESET_TIMEOUT 5 /* seconds */ + /* * Since interrupt resource acquisition is not always possible (in case of GPIO * interrupts) iichid now supports a sampling_mode. @@ -156,6 +158,7 @@ enum iichid_powerstate_how { */ struct iichid_softc { device_t dev; + struct mtx mtx; bool probe_done; int probe_result; @@ -190,6 +193,7 @@ struct iichid_softc { bool open; /* iicbus lock */ bool suspend; /* iicbus lock */ bool power_on; /* iicbus lock */ + bool reset_acked; /* iichid mtx */ }; static device_probe_t iichid_probe; @@ -295,6 +299,12 @@ iichid_cmd_read(struct iichid_softc* sc, void *buf, iichid_size_t maxlen, { sc->addr, IIC_M_RD | IIC_M_NOSTART, le16toh(sc->desc.wMaxInputLength) - 2, sc->intr_buf }; actlen = 0; + if (!sc->reset_acked) { + mtx_lock(&sc->mtx); + sc->reset_acked = true; + wakeup(&sc->reset_acked); + mtx_unlock(&sc->mtx); + } #ifdef IICHID_SAMPLING } else if ((actlen <= 2 || actlen == 0xFFFF) && sc->sampling_rate_slow >= 0) { @@ -1136,21 +1146,9 @@ iichid_attach(device_t dev) device_printf(dev, "failed to power on: %d\n", error); return (ENXIO); } - /* - * Windows driver sleeps for 1ms between the SET_POWER and RESET - * commands. So we too as some devices may depend on this. - */ - pause("iichid", (hz + 999) / 1000); - - error = iichid_reset(sc); - if (error) { - device_printf(dev, "failed to reset hardware: %d\n", error); - error = ENXIO; - goto done; - } - sc->power_on = true; + mtx_init(&sc->mtx, device_get_nameunit(dev), NULL, MTX_DEF); sc->intr_bufsize = le16toh(sc->desc.wMaxInputLength) - 2; sc->intr_buf = malloc(sc->intr_bufsize, M_DEVBUF, M_WAITOK | M_ZERO); TASK_INIT(&sc->suspend_task, 0, iichid_suspend_task, sc); @@ -1209,12 +1207,40 @@ iichid_attach(device_t dev) &sc->sampling_hysteresis, 0, "number of missing samples before enabling of slow mode"); hid_add_dynamic_quirk(&sc->hw, HQ_IICHID_SAMPLING); +#endif /* IICHID_SAMPLING */ + + /* + * Windows driver sleeps for 1ms between the SET_POWER and RESET + * commands. So we too as some devices may depend on this. + */ + pause("iichid", (hz + 999) / 1000); + + error = iichid_reset(sc); + if (error) { + device_printf(dev, "failed to reset hardware: %d\n", error); + iichid_detach(dev); + error = ENXIO; + goto done; + } + /* Wait for RESET response */ +#ifdef IICHID_SAMPLING if (sc->sampling_rate_slow >= 0) { pause("iichid", (hz + 999) / 1000); (void)iichid_cmd_read(sc, sc->intr_buf, 0, NULL); - } + } else #endif /* IICHID_SAMPLING */ + { + mtx_lock(&sc->mtx); + if (!sc->reset_acked && !cold) { + error = mtx_sleep(&sc->reset_acked, &sc->mtx, 0, + "iichid_reset", hz * IICHID_RESET_TIMEOUT); + if (error != 0) + device_printf(sc->dev, + "Reset timeout expired\n"); + } + mtx_unlock(&sc->mtx); + } child = device_add_child(dev, "hidbus", DEVICE_UNIT_ANY); if (child == NULL) { @@ -1258,6 +1284,7 @@ iichid_detach(device_t dev) free(sc->dup_buf, M_DEVBUF); #endif free(sc->intr_buf, M_DEVBUF); + mtx_destroy(&sc->mtx); return (0); } From nobody Fri Mar 7 06:35: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 4Z8Gkx242Kzt47j for ; Fri, 07 Mar 2025 06:35:53 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Gkw31Hzz3SfP; Fri, 07 Mar 2025 06:35:52 +0000 (UTC) (envelope-from bapt@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741329352; h=from:from:reply-to:subject: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=GD18ykRov6QXmUKnpYUaLQKdg0MBh6W2UYB2rAIGio0=; b=N9d3T1QD2psOX+xPGY68U47OgGF/6wCcE6ohODhgPnx5u4oJqpGmuW3WMhTmSk83N4rFLU hwPa4PXhqTrMc+4PuGczJD4B29Z7i8tSeb0cSPCjJWX5xaJS1gzutt2lBKtqTfYJyvQwHW gibjWIs7jyLHuCXXHgg+PJGGrrR6w1qUGjJS9ibv8sQHUoY1E/hlch2UvhIVV8yJpCjz4P gm72UyCNh3QY5kgf6Rn0vSW+cvnyIY/sEp3syV4XnWh9HI0tlw2GifJGJiryORu0jRoQ84 HN958tLOfsxFQlwiQw4hEgIcCo66JohI/tFcH6777Z3spVdJBSaY8lrPmmDxaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741329352; a=rsa-sha256; cv=none; b=Nr7+prC68RnNYaBjds2yzt2quyFg3Y8oHQ9XlpNMlCVnAyt28XJlEoFTf6z0aeL+5V/Pry U6vyxYB9uFcE8KvoUmzcwvyAfhm/4ZSVPAim3Yf5iWyEmrus+/CyVrex4656MSB1j3Iutj cY2OtaFjJPObb0kHI/q5A9WEOQ+WjZCToIoRN87+h+xhD9nQY3v0Kj1L2NvgcuihsBLTX8 gFFR/5ekNmAsBHB4cR9/2x8uyiR/k6SviytYgOZy79xYAVp6Z1m5A9KbsEnubDl6wAiIY9 dD0mogg83CGXpx1UcEqT0G7vWId/MiyCgqAKCn1TLl1IiD5OlRMLNUQpInCMnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741329352; h=from:from:reply-to:subject: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=GD18ykRov6QXmUKnpYUaLQKdg0MBh6W2UYB2rAIGio0=; b=o7xUX1tHk6Uk9GDaluQpDRdHVF9tVbL+0/gEKyU0spw37gSXj7D1Bx3K9jxf8buSxOp47j nRPzEsbaefUTMnlQG07eqDYrBB1rBm1UmXbJi20c4loPdzgRIQCLP+RhFHTcqxgT2/jnEW PpkamdMVC7kW1ly6Kbg316eJmJebd8WviwWKBDvh/nhadW5GybeOzDYufCTJFMMeBnViDo /Lpemohnoiz9JZlKXhxwAO1qB7sr7S+MXuSjyquolAKtE12w7PzKD5xc28MxQMdIq9MW6A baYQybYADTMcBwMvY4YQnmQRTBUrH9FMzR9fznGfP3Z5RBvNPWs2/6YAHGEhXQ== Received: from b.nours.eu (b.nours.eu [54.38.177.57]) (using TLSv1.3 with cipher TLS_AES_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: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z8Gkw1fRkz53r; Fri, 07 Mar 2025 06:35:52 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from [IPv6:::1] (unknown [IPv6:2a01:e0a:274:cc70:3a12:b893:bba6:3e12]) (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) (No client certificate requested) by b.nours.eu (Postfix) with ESMTPSA id 09D48136D3; Fri, 07 Mar 2025 07:35:49 +0100 (CET) Date: Fri, 07 Mar 2025 07:35:50 +0100 From: Baptiste Daroussin To: Mark Millard , dev-commits-src-main@freebsd.org Subject: Re: git: 8e99c8ad8fd4 - main - pkgbase: make pkg repo reproducible User-Agent: Thunderbird for Android In-Reply-To: <75195E37-09E4-4982-A4EF-0DCE79CB8FD0@yahoo.com> References: <75195E37-09E4-4982-A4EF-0DCE79CB8FD0.ref@yahoo.com> <75195E37-09E4-4982-A4EF-0DCE79CB8FD0@yahoo.com> Message-ID: <80760FD1-FEB7-494C-AE8C-D687EFEBD4E8@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Le 6 mars 2025 22:51:08 GMT+01:00, Mark Millard a =C3= =A9crit=C2=A0: >Baptiste Daroussin wrote on >Date: Thu, 06 Mar 2025 14:22:59 UTC : > >> The branch main has been updated by bapt: >>=20 >> URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3D8e99c8ad8fd41d3befae= 62f9eee59d8c5c60a539 >>=20 >> commit 8e99c8ad8fd41d3befae62f9eee59d8c5c60a539 >> Author: Baptiste Daroussin >> AuthorDate: 2025-03-06 14:16:44 +0000 >> Commit: Baptiste Daroussin >> CommitDate: 2025-03-06 14:22:48 +0000 >>=20 >> pkgbase: make pkg repo reproducible >>=20 >> Add a PKG_WORKERS_THREADS variable set to 1 by default, if as a user >> you want speed again, then just override it=2E > >Compare/contrast the PKG_WORKERS_THREADS name to the later >PKG_WORKERS_COUNT name=2E I'm guessing PKG_WORKERS_COUNT was >the final intent: processes vs=2E threads and threads >possibly being misleading and COUNT being more generic >for such distinctions=2E > the variables were named threads and rename last minute due to request in = the review, I forgot to adapt the commit log bapt From nobody Fri Mar 7 07:00: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 4Z8HHm3CXczt5h3; Fri, 07 Mar 2025 07:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHl5p4rz3gmh; Fri, 07 Mar 2025 07:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8BR5UkdKthS1J4dtyefUposRjqrMvtomPU0E4eoCr8=; b=Q0h1JvjB6rO5J303B/KxE96uiCQhQzoSLpghvzakMcatrhqaTdaSPPb17238uFREZFKEKt EeIpCLrFYq38nF4uIoNTmj41U+3cLM42Plw+4HO99LLzojOvDZl2qDLg/SPfgr6l4bqps2 g27eRqhWBS3UykHjDEn0zVeFgvO1iEMduED7H5lD8hQUh0xO5++PS1fKiJBWwhHCo86nQg BnF8ag3PSSZdRQoWaVaSl09xRdU3RcPv9ROkVguOZbDxNcsJYevwPcyhRFFlpdNC9UaSr1 Dcla6GoZlfEVcZw78JgVnUep1i+dFgod68KG5K0tp/64IYeoGpyF+iENXC4C7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330851; a=rsa-sha256; cv=none; b=yNmKbza5cByca4HO4aa5P6mZui5vsuR3JpFXDnLy5lRYQJrv0WTuJUrFoSS7JM/n503k5z BSPrAQYPSV5JdLfiwkIJqLgxFNBoyDN2cs5reUaQteuRD+yllgIgY7kFaQ7HLkjqOy1pBG rvGe+rTx03bafQuIUYvPKshg/qjFPPM2aAV8DOWVpAHgnEzjcvUnCV2sdTKe5Gp3m1wF0A dcss32LYNkDb1uNXh+O+mHCP42Amo3pjXIg60RaBWAvbFmwSQCGeVcJxlAU6e1cOcX6HVL r4OuTM/3M7174kSleN2X3NspuwlJiVYeozQr9/lSiONoGI7+2fb/B7wl1nGAlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8BR5UkdKthS1J4dtyefUposRjqrMvtomPU0E4eoCr8=; b=yaGImN6s9Qgzlkni6He52mb3eLJfzjdJU/o7YHvycgQMBwaBrisyYd7Y5YjQSkyqX+kWZj cobBzwGTsj8UjLyVk1hGoQ0E3Vs5Kbaa485zLa0HwBmH6+lWS/eaIEZOcWChPESgAqWe/I A/GUAoAtMWvZbtU6TDsGYCrK+VxJM2fk3rlqYPhw3ZERkFmruYAJGhcW9KuLS2AiUEY10m yXZEo1fJwRVmaoo1KJy3deFoOHl8uw8ZZfeI4t8Gsyn4pqoVOKfWavw8nDOaTeVDAVC90K NGuaTq8evWfHUArnt+PIFjpTSRo1Ht3EPUYJ7oqiwzR5EHrKKiWSPLDadg8+BA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHl5P5TzB0D; Fri, 07 Mar 2025 07:00: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 52770pFD060685; Fri, 7 Mar 2025 07:00:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770p49060682; Fri, 7 Mar 2025 07:00:51 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:51 GMT Message-Id: <202503070700.52770p49060682@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: 2af953b132ee - main - inpcb: inline in_pcbconnect_setup() into in_pcbconnect() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2af953b132ee8d2eb4d8d7bb15fc38bf04dde348 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=2af953b132ee8d2eb4d8d7bb15fc38bf04dde348 commit 2af953b132ee8d2eb4d8d7bb15fc38bf04dde348 Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:57:29 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:57:29 +0000 inpcb: inline in_pcbconnect_setup() into in_pcbconnect() The separation had been done back in 5200e00e7266 for the purposes of removing a true temporary connect of an unconnected UDP socket that does sendto(2) in 90162a4e87f0. Now, with 69c05f428714 in place, the separation is no longer needed. There should be no functional change. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49142 --- sys/netinet/in_pcb.c | 229 +++++++++++++++++++++------------------------------ sys/netinet/in_pcb.h | 2 - 2 files changed, 94 insertions(+), 137 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 1d9cc1866e15..fa2c60b93cfa 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1088,30 +1088,109 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, int in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) { - u_short lport, fport; - in_addr_t laddr, faddr; - int anonport, error; + struct in_addr laddr, faddr; + u_short lport; + int error; + bool anonport; INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); KASSERT(in_nullhost(inp->inp_faddr), ("%s: inp is already connected", __func__)); + KASSERT(sin->sin_family == AF_INET, + ("%s: invalid address family for %p", __func__, sin)); + KASSERT(sin->sin_len == sizeof(*sin), + ("%s: invalid address length for %p", __func__, sin)); - lport = inp->inp_lport; - laddr = inp->inp_laddr.s_addr; - anonport = (lport == 0); - error = in_pcbconnect_setup(inp, sin, &laddr, &lport, &faddr, &fport, - cred); - if (error) - return (error); + if (sin->sin_port == 0) + return (EADDRNOTAVAIL); + + anonport = (inp->inp_lport == 0); + + if (__predict_false(in_broadcast(sin->sin_addr))) { + if (!V_connect_inaddr_wild || CK_STAILQ_EMPTY(&V_in_ifaddrhead)) + return (ENETUNREACH); + /* + * If the destination address is INADDR_ANY, use the primary + * local address. If the supplied address is INADDR_BROADCAST, + * and the primary interface supports broadcast, choose the + * broadcast address for that interface. + */ + if (in_nullhost(sin->sin_addr)) { + faddr = + IA_SIN(CK_STAILQ_FIRST(&V_in_ifaddrhead))->sin_addr; + if ((error = prison_get_ip4(cred, &faddr)) != 0) + return (error); + } else if (sin->sin_addr.s_addr == INADDR_BROADCAST) { + if (CK_STAILQ_FIRST(&V_in_ifaddrhead)->ia_ifp->if_flags + & IFF_BROADCAST) + faddr = satosin(&CK_STAILQ_FIRST( + &V_in_ifaddrhead)->ia_broadaddr)->sin_addr; + else + faddr = sin->sin_addr; + } + } else + faddr = sin->sin_addr; + + if (in_nullhost(inp->inp_laddr)) { + error = in_pcbladdr(inp, &faddr, &laddr, cred); + /* + * If the destination address is multicast and an outgoing + * interface has been set as a multicast option, prefer the + * address of that interface as our source address. + */ + if (IN_MULTICAST(ntohl(sin->sin_addr.s_addr)) && + inp->inp_moptions != NULL && + inp->inp_moptions->imo_multicast_ifp != NULL) { + struct ifnet *ifp = + inp->inp_moptions->imo_multicast_ifp; + struct in_ifaddr *ia; + + CK_STAILQ_FOREACH(ia, &V_in_ifaddrhead, ia_link) { + if (ia->ia_ifp == ifp && + prison_check_ip4(cred, + &ia->ia_addr.sin_addr) == 0) + break; + } + if (ia == NULL) + return (EADDRNOTAVAIL); + laddr = ia->ia_addr.sin_addr; + error = 0; + } + if (error) + return (error); + } else + laddr = inp->inp_laddr; + + if (anonport) { + struct sockaddr_in lsin = { + .sin_family = AF_INET, + .sin_addr = laddr, + }; + struct sockaddr_in fsin = { + .sin_family = AF_INET, + .sin_addr = faddr, + }; + + error = in_pcb_lport_dest(inp, (struct sockaddr *)&lsin, + &lport, (struct sockaddr *)&fsin, sin->sin_port, cred, + INPLOOKUP_WILDCARD); + if (error) + return (error); + } else if (in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, + sin->sin_port, laddr, inp->inp_lport, 0, M_NODOM, RT_ALL_FIBS) != + NULL) + return (EADDRINUSE); + else + lport = inp->inp_lport; - inp->inp_faddr.s_addr = faddr; - inp->inp_fport = fport; + inp->inp_faddr = faddr; + inp->inp_fport = sin->sin_port; /* Do the initial binding of the local address if required. */ if (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0) { inp->inp_lport = lport; - inp->inp_laddr.s_addr = laddr; + inp->inp_laddr = laddr; if (in_pcbinshash(inp) != 0) { inp->inp_laddr.s_addr = inp->inp_faddr.s_addr = INADDR_ANY; @@ -1120,7 +1199,7 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) } } else { inp->inp_lport = lport; - inp->inp_laddr.s_addr = laddr; + inp->inp_laddr = laddr; if ((inp->inp_flags & INP_INHASHLIST) != 0) in_pcbrehash(inp); else @@ -1131,7 +1210,7 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) uint32_t hash_val, hash_type; hash_val = fib4_calc_software_hash(inp->inp_laddr, - inp->inp_faddr, 0, fport, + inp->inp_faddr, 0, sin->sin_port, inp->inp_socket->so_proto->pr_protocol, &hash_type); inp->inp_flowid = hash_val; @@ -1354,126 +1433,6 @@ done: return (error); } -/* - * Set up for a connect from a socket to the specified address. - * On entry, *laddrp and *lportp should contain the current local - * address and port for the PCB; these are updated to the values - * that should be placed in inp_laddr and inp_lport to complete - * the connect. - * - * On success, *faddrp and *fportp will be set to the remote address - * and port. These are not updated in the error case. - */ -int -in_pcbconnect_setup(const struct inpcb *inp, struct sockaddr_in *sin, - in_addr_t *laddrp, u_short *lportp, in_addr_t *faddrp, u_short *fportp, - struct ucred *cred) -{ - struct in_ifaddr *ia; - struct in_addr laddr, faddr; - u_short lport, fport; - int error; - - KASSERT(sin->sin_family == AF_INET, - ("%s: invalid address family for %p", __func__, sin)); - KASSERT(sin->sin_len == sizeof(*sin), - ("%s: invalid address length for %p", __func__, sin)); - - /* - * Because a global state change doesn't actually occur here, a read - * lock is sufficient. - */ - NET_EPOCH_ASSERT(); - INP_LOCK_ASSERT(inp); - INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); - - if (sin->sin_port == 0) - return (EADDRNOTAVAIL); - laddr.s_addr = *laddrp; - lport = *lportp; - faddr = sin->sin_addr; - fport = sin->sin_port; - if (V_connect_inaddr_wild && !CK_STAILQ_EMPTY(&V_in_ifaddrhead)) { - /* - * If the destination address is INADDR_ANY, - * use the primary local address. - * If the supplied address is INADDR_BROADCAST, - * and the primary interface supports broadcast, - * choose the broadcast address for that interface. - */ - if (faddr.s_addr == INADDR_ANY) { - faddr = - IA_SIN(CK_STAILQ_FIRST(&V_in_ifaddrhead))->sin_addr; - if ((error = prison_get_ip4(cred, &faddr)) != 0) - return (error); - } else if (faddr.s_addr == (u_long)INADDR_BROADCAST) { - if (CK_STAILQ_FIRST(&V_in_ifaddrhead)->ia_ifp->if_flags & - IFF_BROADCAST) - faddr = satosin(&CK_STAILQ_FIRST( - &V_in_ifaddrhead)->ia_broadaddr)->sin_addr; - } - } else if (faddr.s_addr == INADDR_ANY) { - return (ENETUNREACH); - } - if (laddr.s_addr == INADDR_ANY) { - error = in_pcbladdr(inp, &faddr, &laddr, cred); - /* - * If the destination address is multicast and an outgoing - * interface has been set as a multicast option, prefer the - * address of that interface as our source address. - */ - if (IN_MULTICAST(ntohl(faddr.s_addr)) && - inp->inp_moptions != NULL) { - struct ip_moptions *imo; - struct ifnet *ifp; - - imo = inp->inp_moptions; - if (imo->imo_multicast_ifp != NULL) { - ifp = imo->imo_multicast_ifp; - CK_STAILQ_FOREACH(ia, &V_in_ifaddrhead, ia_link) { - if (ia->ia_ifp == ifp && - prison_check_ip4(cred, - &ia->ia_addr.sin_addr) == 0) - break; - } - if (ia == NULL) - error = EADDRNOTAVAIL; - else { - laddr = ia->ia_addr.sin_addr; - error = 0; - } - } - } - if (error) - return (error); - } - - if (lport != 0) { - if (in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, - fport, laddr, lport, 0, M_NODOM, RT_ALL_FIBS) != NULL) - return (EADDRINUSE); - } else { - struct sockaddr_in lsin, fsin; - - bzero(&lsin, sizeof(lsin)); - bzero(&fsin, sizeof(fsin)); - lsin.sin_family = AF_INET; - lsin.sin_addr = laddr; - fsin.sin_family = AF_INET; - fsin.sin_addr = faddr; - error = in_pcb_lport_dest(inp, (struct sockaddr *) &lsin, - &lport, (struct sockaddr *)& fsin, fport, cred, - INPLOOKUP_WILDCARD); - if (error) - return (error); - } - *laddrp = laddr.s_addr; - *lportp = lport; - *faddrp = faddr.s_addr; - *fportp = fport; - return (0); -} - void in_pcbdisconnect(struct inpcb *inp) { diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index b0c64cfbd7ea..b56dedc25d63 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -645,8 +645,6 @@ int in_pcbbind(struct inpcb *, struct sockaddr_in *, int, struct ucred *); int in_pcbbind_setup(struct inpcb *, struct sockaddr_in *, in_addr_t *, u_short *, int, struct ucred *); int in_pcbconnect(struct inpcb *, struct sockaddr_in *, struct ucred *); -int in_pcbconnect_setup(const struct inpcb *, struct sockaddr_in *, - in_addr_t *, u_short *, in_addr_t *, u_short *, struct ucred *); void in_pcbdisconnect(struct inpcb *); void in_pcbdrop(struct inpcb *); void in_pcbfree(struct inpcb *); From nobody Fri Mar 7 07:00: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 4Z8HHl4Myrzt5Np; Fri, 07 Mar 2025 07:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHk5DChz3gVy; Fri, 07 Mar 2025 07:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LktReU4WbwhxAHiQjCNj0FPzmDUkV1m4XTWijyOC4+I=; b=ahmkZ73dXRj5bELrfZveAcgdFhOLVPNkaHV9DAcpicKYjrDe8AO+0pAu/1/VqXkIdOAWPp VG04Xqvd1dQZwdraWAvlCtn7vLV1ZPNSwod77ZkVb+nLKls5Q4D/z5QQ1x3EPaPbIb9q5z Mqf1mYurRdXO3ugfmhF8bVcQLDlOB4ERicBBe3yE/ZzSTFxFdXBigfxjA+LPv/VePgXkC2 3qdPHe6du7IhrZ75q0EgV/2gBRnq+6ombsFdbw/NNjXRTmr3Bb+iZv30szR4FXViVvW/5a dNY4LYnu8iWOEbtLriJ8Q7MZtK2DxukrJ6IiUqlYISe8kb22itkGYVFfj8w0iA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330850; a=rsa-sha256; cv=none; b=n7NLEXimrFlHF8TRIVRKF8lryuME/N3XNCE7Wr/QQyERiTODzxLtxdjbpLUUtWZecTtbi4 +FlFskLXMBURlPy6kULYnZNH8LyeHavVES1mmdf/GdgJGzusbFYr9h6OeFfKTv1dfVOI9l Bkg7b1vmFzaqxu97ADLK+ICXGzQS+YLPd/2XxWuupjUmx0gt1M8g9z7rkyzl88HwTdE4l4 P0v7vV5D7euilRToFGg06AaK6jZDH3rWoAUDJ/P/w5RP6A9wvfD/ZrW5y31nJ9UkGLJ0fP 4xMWtHvvZSmdUHo10Dx/cZvUe2je2pKsrS7E9pIDHdyjzeaLFM1mEGUQp5/f3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LktReU4WbwhxAHiQjCNj0FPzmDUkV1m4XTWijyOC4+I=; b=mOVXcgayfxIs3mNnI2jWsP51KXAKYC0HY/nqB+ywFP6oWZzivfuEafLBeQgk/mPvCBYPm5 kpuuxiivu7NwL5LfGoX86JrXSnjbMxI/bAmE+sZGbQDP8uqEFVINORrawhC6Dhveh5bDum Gy4ZTRB2uDLbAb097kZoPnZ12RDix/Yx5F4kD6EeDqBfXWVJWljyO3s7yN03etfKzulKdy TlXIhnavia8tbJX/e6UVwWMwxF5P6L1dznXKAbpKR7T63FB/D6FsFQRy8gY7j8V9ZoMcwg qJxqifdaM3GYD3O/f9cFF0OJxlV8E5dCju3Bw6SI5y5USdcFpGNT0TH3W4+ZHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHk4l2fzB7q; Fri, 07 Mar 2025 07:00: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 52770o49060646; Fri, 7 Mar 2025 07:00:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770oH1060643; Fri, 7 Mar 2025 07:00:50 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:50 GMT Message-Id: <202503070700.52770oH1060643@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: e92a78ad7a77 - main - tcp: return EOPNOTSUPP on attempt to connect(2) a listening socket List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e92a78ad7a778feb60f634ceda245f8b761a76ff Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e92a78ad7a778feb60f634ceda245f8b761a76ff commit e92a78ad7a778feb60f634ceda245f8b761a76ff Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:57:11 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:57:11 +0000 tcp: return EOPNOTSUPP on attempt to connect(2) a listening socket This is the error code specified by SUS. Only the TCP over IPv6 required this fix. Fixes: bd4a39cc93d9faf8b5c000855d5aa90df592dd49 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49275 --- sys/netinet/tcp_usrreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 0b4a93390f1b..03687c1d3515 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -594,7 +594,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) goto out; } if (SOLISTENING(so)) { - error = EINVAL; + error = EOPNOTSUPP; goto out; } #ifdef INET From nobody Fri Mar 7 07:00: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 4Z8HHn2JSLzt5kL; Fri, 07 Mar 2025 07:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHn045hz3gmm; Fri, 07 Mar 2025 07:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvNVPK4VqFWWNTabFBBa5w+hiSym3DwYizvv2a/qn1Q=; b=HKRMjPHzqZTb4d9KgZQv+82ywnlcfJb05McJxQzb/uA7LcUuYv9N+EmHVzlV1kA7twO0ui yf73GwW52EGVjmKAR4asjTEnTYKgNoh/RrOOmjxp8hhbZVUN6CKoSVFlcTqYYyEeFOvgy2 TxWWIUcgh5bPoYwqZX6Dk341LudMPQkMK/h2X/PTTe4mocVL+3jWfoo6dDtXEW1b1LQMCN 0yFmJ3nDcFiKWf6V6TdBgKRP+0BgzaIRSyc0G9eQW6g3gFYVXRRniKp1FC4acG27ruNxdk yh+B0xHaejIHqZ0BA77pBZMBOzgOkFHUOHpJrr/ucZTtxQeNa1xtXB2XzecYFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330853; a=rsa-sha256; cv=none; b=PYhuAwXmrUxldy7G8ogyV4QZcnay/4+eMOwa8FynPOBYrltKA5ijoMaQ+z+ukqSGXIaYyb wFp0Vi/isMWM3a3K8fQd8ntpEQPjRxDxWKLdKLianOviAqiqsz/elv2iGqqEahXAbrQuzv +ycDu5kADmIi1Euv24oevblz7RYVYdmQvIB8+azu8p05W/59yMjD39QME2G267d077U0pi jUbrlnA41xg8LSBYIUiSUW3waPy41+7Qxsvme8gIjcd9NM11fIFuDYFrQ+OO+mk9Cmk7S1 8bATeiZGPeAgaW4R2D5G9A0KTlqwViCMcvmG0fQNgSFNQ8h7/JryxERkfl2A1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvNVPK4VqFWWNTabFBBa5w+hiSym3DwYizvv2a/qn1Q=; b=wNHpmuue+5ObWbBR10dP1dK9xZESeBjEzNRj0W3u1UBaZFrp7abKcHpkcCChTL4Dag7Rcn Q2HdtFUCRguHk+74NXDag8Z1QA889VsBoCxztu3Pu05WaThxpy0v33kGqcBR2MJadkD4BY FwEWnbjAyROwtS5nPRhL3yW/L2EIYcKsxZuZATD+9kYyFKdHZDKB/vF62nKbtX8wczjE0x NnwoBamK4hlVfH8LR4MQ443FV49z5p5OT4wODyEPP8CUFHRFxWeWUpWrr7jSFQxhTiMYNY vkKQ7nRJQqLDiqPRXiPogfan9YGyfcR4IDv2vG0gDs3KzQhfNWTp6vkdCo6/Qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHm6cDZz9hh; Fri, 07 Mar 2025 07:00: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 52770qvJ060720; Fri, 7 Mar 2025 07:00:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770qIu060717; Fri, 7 Mar 2025 07:00:52 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:52 GMT Message-Id: <202503070700.52770qIu060717@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: c7f803c71dae - main - inpcb: fix a panic with SO_REUSEPORT_LB + connect(2) misuse List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c7f803c71dae9ca64abccc0b17e9014fe66e6d21 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c7f803c71dae9ca64abccc0b17e9014fe66e6d21 commit c7f803c71dae9ca64abccc0b17e9014fe66e6d21 Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:57:44 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:57:44 +0000 inpcb: fix a panic with SO_REUSEPORT_LB + connect(2) misuse This combination doesn't make any sense. This socket option makes sense only on a socket that is going to be a listening one. There are two options here: refuse connect(2) on a socket that has the option set previously, or ignore (and clear) the option. After some discussion on phabricator, we have chosen the former, for safety and consistency reasons. Any programmer that runs this sequence is doing something wrong and should be informed of that with appropriate error code. Since connect(2) is a SUS API that has a defined set of error codes, none of which corresponds to "a socket has non-standard incompatible socket option set", we decided to return the same error that an already listening socket would return. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49150 --- sys/netinet/tcp_usrreq.c | 4 +- tests/sys/netinet/so_reuseport_lb_test.c | 65 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 03687c1d3515..13e66f758d45 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -526,7 +526,7 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) } if ((error = prison_remote_ip4(td->td_ucred, &sinp->sin_addr)) != 0) goto out; - if (SOLISTENING(so)) { + if (SOLISTENING(so) || so->so_options & SO_REUSEPORT_LB) { error = EOPNOTSUPP; goto out; } @@ -593,7 +593,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) error = EAFNOSUPPORT; goto out; } - if (SOLISTENING(so)) { + if (SOLISTENING(so) || so->so_options & SO_REUSEPORT_LB) { error = EOPNOTSUPP; goto out; } diff --git a/tests/sys/netinet/so_reuseport_lb_test.c b/tests/sys/netinet/so_reuseport_lb_test.c index aaadaead5e23..a1b5a3f94f61 100644 --- a/tests/sys/netinet/so_reuseport_lb_test.c +++ b/tests/sys/netinet/so_reuseport_lb_test.c @@ -478,6 +478,69 @@ ATF_TC_BODY(bind_without_listen, tc) ATF_REQUIRE_MSG(error == 0, "close() failed: %s", strerror(errno)); } +/* + * Check that SO_REUSEPORT_LB doesn't mess with connect(2). + * Two sockets: + * 1) auxiliary peer socket 'p', where we connect to + * 2) test socket 's', that sets SO_REUSEPORT_LB and then connect(2)s to 'p' + */ +ATF_TC_WITHOUT_HEAD(connect_not_bound); +ATF_TC_BODY(connect_not_bound, tc) +{ + struct sockaddr_in sin = { + .sin_family = AF_INET, + .sin_len = sizeof(sin), + .sin_addr = { htonl(INADDR_LOOPBACK) }, + }; + socklen_t slen = sizeof(struct sockaddr_in); + int p, s, rv; + + ATF_REQUIRE((p = socket(PF_INET, SOCK_STREAM, 0)) > 0); + ATF_REQUIRE(bind(p, (struct sockaddr *)&sin, sizeof(sin)) == 0); + ATF_REQUIRE(listen(p, 1) == 0); + ATF_REQUIRE(getsockname(p, (struct sockaddr *)&sin, &slen) == 0); + + s = lb_listen_socket(PF_INET, 0); + rv = connect(s, (struct sockaddr *)&sin, sizeof(sin)); + ATF_REQUIRE_MSG(rv == -1 && errno == EOPNOTSUPP, + "Expected EOPNOTSUPP on connect(2) not met. Got %d, errno %d", + rv, errno); + + close(p); + close(s); +} + +/* + * Same as above, but we also bind(2) between setsockopt(2) of SO_REUSEPORT_LB + * and the connect(2). + */ +ATF_TC_WITHOUT_HEAD(connect_bound); +ATF_TC_BODY(connect_bound, tc) +{ + struct sockaddr_in sin = { + .sin_family = AF_INET, + .sin_len = sizeof(sin), + .sin_addr = { htonl(INADDR_LOOPBACK) }, + }; + socklen_t slen = sizeof(struct sockaddr_in); + int p, s, rv; + + ATF_REQUIRE((p = socket(PF_INET, SOCK_STREAM, 0)) > 0); + ATF_REQUIRE(bind(p, (struct sockaddr *)&sin, sizeof(sin)) == 0); + ATF_REQUIRE(listen(p, 1) == 0); + + s = lb_listen_socket(PF_INET, 0); + ATF_REQUIRE(bind(s, (struct sockaddr *)&sin, sizeof(sin)) == 0); + ATF_REQUIRE(getsockname(p, (struct sockaddr *)&sin, &slen) == 0); + rv = connect(s, (struct sockaddr *)&sin, sizeof(sin)); + ATF_REQUIRE_MSG(rv == -1 && errno == EOPNOTSUPP, + "Expected EOPNOTSUPP on connect(2) not met. Got %d, errno %d", + rv, errno); + + close(p); + close(s); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, basic_ipv4); @@ -486,6 +549,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, double_listen_ipv4); ATF_TP_ADD_TC(tp, double_listen_ipv6); ATF_TP_ADD_TC(tp, bind_without_listen); + ATF_TP_ADD_TC(tp, connect_not_bound); + ATF_TP_ADD_TC(tp, connect_bound); return (atf_no_error()); } From nobody Fri Mar 7 07:00: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 4Z8HHp2yNZzt5kM; Fri, 07 Mar 2025 07:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHp14Bqz3h3j; Fri, 07 Mar 2025 07:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xV0xCLpQ5ReIfmrCMUTBbOPBrcQcIh/O6dauQ+r9TMY=; b=wbXfQxZSTJ9fIIfFx9eAjUP7uKQrZaL7VI54h7kSEIVaJYNU/23IMgc+YW61nLy+fj//q0 1dMR/qDD2VhVE1z4hxOTDejz3FMIXgoepuHktXfDIrZyZN2tE1SMtQjJGPftmpFA85gSvn rKLvFZ/YpaHdvH8bHB0BcKhv999Z7kiP/4hf7+kmPREZaSCsvMzBc0ZRDBVWdj3WY7lBC0 tdxyER3dMaevdL37iEgdWNquUGIiMXaAvhVxNLwQR64/q8uel52PChdaEgfsSVwRpEXXEX MziRfVtLS0D+YardVhKXwA/MUoppwYT8PqG+gCvUDYp3BinH4Z511EmAUJk9pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330854; a=rsa-sha256; cv=none; b=Mlmspy6dSvI6Nc+L1xona9hqPYF7ZqaCYcULV1WoitjIsQ6lO5H/5KTWmiKNvbFXHCTiym GrUMZMxK83SSO7TMiexhlJKxhNqCWzaLNCUFRFadfvG2e2aE/YLBIUDtEUjwAaxk37GXGL WOJBAm/vd0sL7/9LAIbIO/fEi4Jw84vuJj1YvMC+vEDnSpVQJ+Sih/IUL7pNU3h/p2Z7HP yPg9yKvt8baOa6rpQNzcipWgz4WnfzJ2g33Qd0fqkJ1mV4lKxWLeUUXDaOWuTHBAazJCq9 gAzkhj5F04AgSkjWihsQqKs+p0emtLaTrHDXO48AGdD/yEEbdv6fwCU02Bk7SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xV0xCLpQ5ReIfmrCMUTBbOPBrcQcIh/O6dauQ+r9TMY=; b=YeClsbgBBd9Ku5BJ1R2BKEfQVMuVMsUKImJjHsbxcEN9c5otv350MtJdVu3j7eVqxbd028 gXNsDr8f1/EZZCnhbRK1ZQHfbtIGbnLLas/hGeNP0NEpaz+RjKIGS/ul2QLzrZErso07wF 1U0iD78QfTt3vCrRfQLQL8TjnzYWP3ZRswBmIT+2i8RWIVisfpd/S/AWN29e+lg3VT23DM GlTtOAoYlKridUCoSsj/Mt4E88TUE948xlQuMnX9qTtf7nvHU59C9xMeJHaxxbn22MdtVs XK7i9hKwJkjFHhWomVZFLFXonJU91tEZ+u8RM7QLe13mQeu0LciYKVv3jcl7hA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHp082Cz9Wq; Fri, 07 Mar 2025 07:00: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 52770rwV060755; Fri, 7 Mar 2025 07:00:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770rIw060752; Fri, 7 Mar 2025 07:00:53 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:53 GMT Message-Id: <202503070700.52770rIw060752@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: 79fb0d247403 - main - inpcb: make inpcb hash insertion/removal functions private List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 79fb0d247403e205b038f27a3bec90495f500acb Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=79fb0d247403e205b038f27a3bec90495f500acb commit 79fb0d247403e205b038f27a3bec90495f500acb Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:58:29 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:58:29 +0000 inpcb: make inpcb hash insertion/removal functions private --- sys/netinet/in_pcb.h | 3 --- sys/netinet/in_pcb_var.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index b56dedc25d63..c2b90de2ef54 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -648,7 +648,6 @@ int in_pcbconnect(struct inpcb *, struct sockaddr_in *, struct ucred *); void in_pcbdisconnect(struct inpcb *); void in_pcbdrop(struct inpcb *); void in_pcbfree(struct inpcb *); -int in_pcbinshash(struct inpcb *); int in_pcbladdr(const struct inpcb *, struct in_addr *, struct in_addr *, struct ucred *); int in_pcblbgroup_numa(struct inpcb *, int arg); @@ -660,8 +659,6 @@ struct inpcb * in_pcblookup_mbuf(struct inpcbinfo *, struct in_addr, u_int, struct in_addr, u_int, int, struct ifnet *, struct mbuf *); void in_pcbref(struct inpcb *); -void in_pcbrehash(struct inpcb *); -void in_pcbremhash_locked(struct inpcb *); bool in_pcbrele(struct inpcb *, inp_lookup_t); bool in_pcbrele_rlocked(struct inpcb *); bool in_pcbrele_wlocked(struct inpcb *); diff --git a/sys/netinet/in_pcb_var.h b/sys/netinet/in_pcb_var.h index 32fdbced175c..fb88dfec889e 100644 --- a/sys/netinet/in_pcb_var.h +++ b/sys/netinet/in_pcb_var.h @@ -55,6 +55,9 @@ int in_pcb_lport_dest(const struct inpcb *inp, struct sockaddr *lsa, struct ucred *cred, int lookupflags); struct inpcb *in_pcblookup_local(struct inpcbinfo *, struct in_addr, u_short, int, int, struct ucred *); +int in_pcbinshash(struct inpcb *); +void in_pcbrehash(struct inpcb *); +void in_pcbremhash_locked(struct inpcb *); struct inpcbport { struct inpcbhead phd_pcblist; From nobody Fri Mar 7 07:00: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 4Z8HHq3b7kzt5dl; Fri, 07 Mar 2025 07:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHq2Cwsz3gmw; Fri, 07 Mar 2025 07:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c4nQRAQH7mlRO4EUcih5OOlGQaO5XQR1VuzG4gF71Mc=; b=pB8eyccBAJucvPQw+H8i8GGMBuPH5T6S+adjR+/EkRLR6eUNtPs3bHaY5qLGTdfgn2ezeg V4iBraS3lqGxsfhdvphhtEReDB4Tx9kEEN9IGjj+P4K3yWYL1vSdtvzbowSjFKdTjla+dq +cYH/erChLecVttZyX9sKzSAQndqouiIpuTsChR8CoO9ElZTu8Ca2YbcxxbESkyX6lt5CX 5Ta/Uluav4WI9TCS7ncMKbAtw1wRTq5PXUbFwJx/1CyX0SGBRJ7a8r20sef+FnGH2IKjeV MrsNnyyeSevWtlLBT9lOf3ZF/94YbRzC2BLQf8kapPFlBepnOTW3l+S8GcuZxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330855; a=rsa-sha256; cv=none; b=LKIKHXrBFAnHJNDV6g3vDJOo0hAtEm+Ijo8YlfLNcsRdDp+vAujSF3eV7UC8N31FsKtgx9 +Z7ecuHlRJ79cJsA+uyCmXDCyqnWBft7dP6dCQgjUSjdosYf852uI+mMbeKwKXNW8qzcC4 kBwYKbRuJ1SLs2IdFKYoy1Rrc/IUyU4/1i4FAri/FLf2b6Yw1vWolQ06uJi+afvrZzhmLD xgMiZVc9GowJYJXV9pzBQihFPPQ41xrt9f3lUk9IlMDggOuaV3Hygsfs6USfuub/uqGg5J cUXw1TOfpaUZqSFboldnfpmSGwaSHRp6kcR/GeonBDgUkVlPtcQZiKGAh43YlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c4nQRAQH7mlRO4EUcih5OOlGQaO5XQR1VuzG4gF71Mc=; b=DT4+nKt9jNoknT/w/ed/wlACd85oD9k24K0wW51T2t7wLomokvIRStBvJsuavAdreBKK08 CFz9iTmAR5VzO9dIBgAmcBYW3rYkRjHdg4sWmi2iJdEKxUDza3CGWwNgUPCdNs2aat0bAu PstO774hpU9ZykiJ/QPqd61XlQHHfHqokHyHTKoBbCARE1Xfpi20gIrllkBD4eemrU8S7c yf5adLveRZlu37ZbJsi+3XnCkaU6LtdicCVRCi6nlS/ShVxzuxqjHRY/4XeuQch7AlFhuE P2IV2oSq5I5yNwbZfMfd1O7b2hooXdE8o8A3b0Tm4EI91hxiNOuP+hEwi373Sg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHq1SGZzB7s; Fri, 07 Mar 2025 07:00: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 52770tcq060818; Fri, 7 Mar 2025 07:00:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770t7D060807; Fri, 7 Mar 2025 07:00:55 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:55 GMT Message-Id: <202503070700.52770t7D060807@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: 5f539170784c - main - inpcb: retire two-level port hash database List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5f539170784cf8aed6989e055ff3ac190d0de80b Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=5f539170784cf8aed6989e055ff3ac190d0de80b commit 5f539170784cf8aed6989e055ff3ac190d0de80b Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:58:35 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:58:35 +0000 inpcb: retire two-level port hash database This structure originates from the pre-FreeBSD times when system RAM was measured in single digits of MB and Internet speeds were measured in Kb. At first level the database hashes the port value only to calculate index into array of pointers to lazily allocated headers that hold lists of inpcbs with the same local port. This design apparently was made to preserve kernel memory. In the modern kernel size of the first level of the hash is derived from maxsockets, which is derived from maxfiles, which in its turn is derived from amount of physical memory. Then the size of the hash is capped by IPPORT_MAX, cause it doesn't make any sense to have hash table larger then the set of possible values. In practice this cap works even on my laptop. I haven't done precise calculation or experiments, but my guess is that any system with > 8 Gb of RAM will be autotuned to IPPORT_MAX sized hash. Apparently, this hash is a degenerate one: it never has more than one entries in any slot. You can check this with kgdb: set $i = 0 while ($i <= tcbinfo->ipi_porthashmask) set $p = tcbinfo->ipi_porthashbase[$i].clh_first set $c = 0 while ($p != 0) set $c = $c + 1 set $p = $p->phd_hash.cle_next end if ($c > 1) printf "Slot %u count %u", $i, $c end set $i = $i + 1 end Retiring the two level hash we remove a lot of complexity at the cost of only one comparison 'inp->inp_lport != lport' in the lookup cycle, which is going to be always false on most machines anyway. This comparison definitely shall be cheaper than extra pointer traversal. Another positive change to be singled out is that now we no longer need to allocate memory in non-sleepable context in in_pcbinshash(), so a potential ENOMEM on connect(2) is removed. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49151 --- sys/netinet/in_pcb.c | 143 +++++++++++++++-------------------------------- sys/netinet/in_pcb.h | 7 +-- sys/netinet/in_pcb_var.h | 6 -- sys/netinet6/in6_pcb.c | 75 +++++++++++-------------- 4 files changed, 79 insertions(+), 152 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index fa2c60b93cfa..08097ea8c1b9 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -576,7 +576,6 @@ in_pcbinfo_init(struct inpcbinfo *pcbinfo, struct inpcbstorage *pcbstor, pcbinfo->ipi_lbgrouphashbase = hashinit(porthash_nelements, M_PCB, &pcbinfo->ipi_lbgrouphashmask); pcbinfo->ipi_zone = pcbstor->ips_zone; - pcbinfo->ipi_portzone = pcbstor->ips_portzone; pcbinfo->ipi_smr = uma_zone_get_smr(pcbinfo->ipi_zone); } @@ -612,10 +611,6 @@ in_pcbstorage_init(void *arg) pcbstor->ips_zone = uma_zcreate(pcbstor->ips_zone_name, pcbstor->ips_size, NULL, NULL, pcbstor->ips_pcbinit, inpcb_fini, UMA_ALIGN_CACHE, UMA_ZONE_SMR); - pcbstor->ips_portzone = uma_zcreate(pcbstor->ips_portzone_name, - sizeof(struct inpcbport), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); - uma_zone_set_smr(pcbstor->ips_portzone, - uma_zone_get_smr(pcbstor->ips_zone)); } /* @@ -627,7 +622,6 @@ in_pcbstorage_destroy(void *arg) struct inpcbstorage *pcbstor = arg; uma_zdestroy(pcbstor->ips_zone); - uma_zdestroy(pcbstor->ips_portzone); } /* @@ -2028,71 +2022,58 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, */ return (NULL); } else { - struct inpcbporthead *porthash; - struct inpcbport *phd; + struct inpcbhead *porthash; struct inpcb *match = NULL; + /* - * Best fit PCB lookup. - * - * First see if this local port is in use by looking on the - * port hash list. + * Port is in use by one or more PCBs. Look for best + * fit. */ porthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(lport, pcbinfo->ipi_porthashmask)]; - CK_LIST_FOREACH(phd, porthash, phd_hash) { - if (phd->phd_port == lport) - break; - } - if (phd != NULL) { + CK_LIST_FOREACH(inp, porthash, inp_portlist) { + if (inp->inp_lport != lport) + continue; + if (!prison_equal_ip4(inp->inp_cred->cr_prison, + cred->cr_prison)) + continue; + if (fib != RT_ALL_FIBS && + inp->inp_inc.inc_fibnum != fib) + continue; + wildcard = 0; +#ifdef INET6 + /* XXX inp locking */ + if ((inp->inp_vflag & INP_IPV4) == 0) + continue; /* - * Port is in use by one or more PCBs. Look for best - * fit. + * We never select the PCB that has INP_IPV6 flag and + * is bound to :: if we have another PCB which is bound + * to 0.0.0.0. If a PCB has the INP_IPV6 flag, then we + * set its cost higher than IPv4 only PCBs. + * + * Note that the case only happens when a socket is + * bound to ::, under the condition that the use of the + * mapped address is allowed. */ - CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { - wildcard = 0; - if (!prison_equal_ip4(inp->inp_cred->cr_prison, - cred->cr_prison)) - continue; - if (fib != RT_ALL_FIBS && - inp->inp_inc.inc_fibnum != fib) - continue; -#ifdef INET6 - /* XXX inp locking */ - if ((inp->inp_vflag & INP_IPV4) == 0) - continue; - /* - * We never select the PCB that has - * INP_IPV6 flag and is bound to :: if - * we have another PCB which is bound - * to 0.0.0.0. If a PCB has the - * INP_IPV6 flag, then we set its cost - * higher than IPv4 only PCBs. - * - * Note that the case only happens - * when a socket is bound to ::, under - * the condition that the use of the - * mapped address is allowed. - */ - if ((inp->inp_vflag & INP_IPV6) != 0) - wildcard += INP_LOOKUP_MAPPED_PCB_COST; + if ((inp->inp_vflag & INP_IPV6) != 0) + wildcard += INP_LOOKUP_MAPPED_PCB_COST; #endif - if (inp->inp_faddr.s_addr != INADDR_ANY) + if (inp->inp_faddr.s_addr != INADDR_ANY) + wildcard++; + if (inp->inp_laddr.s_addr != INADDR_ANY) { + if (laddr.s_addr == INADDR_ANY) + wildcard++; + else if (inp->inp_laddr.s_addr != laddr.s_addr) + continue; + } else { + if (laddr.s_addr != INADDR_ANY) wildcard++; - if (inp->inp_laddr.s_addr != INADDR_ANY) { - if (laddr.s_addr == INADDR_ANY) - wildcard++; - else if (inp->inp_laddr.s_addr != laddr.s_addr) - continue; - } else { - if (laddr.s_addr != INADDR_ANY) - wildcard++; - } - if (wildcard < matchwild) { - match = inp; - matchwild = wildcard; - if (matchwild == 0) - break; - } + } + if (wildcard < matchwild) { + match = inp; + matchwild = wildcard; + if (matchwild == 0) + break; } } return (match); @@ -2642,10 +2623,8 @@ _in6_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) int in_pcbinshash(struct inpcb *inp) { - struct inpcbhead *pcbhash; - struct inpcbporthead *pcbporthash; + struct inpcbhead *pcbhash, *pcbporthash; struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; - struct inpcbport *phd; uint32_t hash; bool connected; @@ -2685,31 +2664,6 @@ in_pcbinshash(struct inpcb *inp) return (error); } - /* - * Go through port list and look for a head for this lport. - */ - CK_LIST_FOREACH(phd, pcbporthash, phd_hash) { - if (phd->phd_port == inp->inp_lport) - break; - } - - /* - * If none exists, malloc one and tack it on. - */ - if (phd == NULL) { - phd = uma_zalloc_smr(pcbinfo->ipi_portzone, M_NOWAIT); - if (phd == NULL) { - if ((inp->inp_flags & INP_INLBGROUP) != 0) - in_pcbremlbgrouphash(inp); - return (ENOMEM); - } - phd->phd_port = inp->inp_lport; - CK_LIST_INIT(&phd->phd_pcblist); - CK_LIST_INSERT_HEAD(pcbporthash, phd, phd_hash); - } - inp->inp_phd = phd; - CK_LIST_INSERT_HEAD(&phd->phd_pcblist, inp, inp_portlist); - /* * The PCB may have been disconnected in the past. Before we can safely * make it visible in the hash table, we must wait for all readers which @@ -2730,6 +2684,7 @@ in_pcbinshash(struct inpcb *inp) #endif _in_pcbinshash_wild(pcbhash, inp); } + CK_LIST_INSERT_HEAD(pcbporthash, inp, inp_portlist); inp->inp_flags |= INP_INHASHLIST; return (0); @@ -2738,7 +2693,6 @@ in_pcbinshash(struct inpcb *inp) void in_pcbremhash_locked(struct inpcb *inp) { - struct inpcbport *phd = inp->inp_phd; INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); @@ -2761,10 +2715,6 @@ in_pcbremhash_locked(struct inpcb *inp) CK_LIST_REMOVE(inp, inp_hash_exact); } CK_LIST_REMOVE(inp, inp_portlist); - if (CK_LIST_FIRST(&phd->phd_pcblist) == NULL) { - CK_LIST_REMOVE(phd, phd_hash); - uma_zfree_smr(inp->inp_pcbinfo->ipi_portzone, phd); - } inp->inp_flags &= ~INP_INHASHLIST; } @@ -3275,8 +3225,7 @@ db_print_inpcb(struct inpcb *inp, const char *name, int indent) } db_print_indent(indent); - db_printf("inp_phd: %p inp_gencnt: %ju\n", inp->inp_phd, - (uintmax_t)inp->inp_gencnt); + db_printf("inp_gencnt: %ju\n", (uintmax_t)inp->inp_gencnt); } DB_SHOW_COMMAND(inpcb, db_show_inpcb) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index c2b90de2ef54..5fe12c4f1e76 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -64,7 +64,6 @@ * protocol-specific control block) are stored here. */ CK_LIST_HEAD(inpcbhead, inpcb); -CK_LIST_HEAD(inpcbporthead, inpcbport); CK_LIST_HEAD(inpcblbgrouphead, inpcblbgroup); typedef uint64_t inp_gen_t; @@ -221,7 +220,6 @@ struct inpcb { short in6p_hops; }; CK_LIST_ENTRY(inpcb) inp_portlist; /* (r:e/w:h) port list */ - struct inpcbport *inp_phd; /* (r:e/w:h) head of this list */ inp_gen_t inp_gencnt; /* (c) generation count */ void *spare_ptr; /* Spare pointer. */ rt_gen_t inp_rt_cookie; /* generation for route entry */ @@ -370,7 +368,7 @@ struct inpcbinfo { /* * Global hash of inpcbs, hashed by only local port number. */ - struct inpcbporthead *ipi_porthashbase; /* (h) */ + struct inpcbhead *ipi_porthashbase; /* (h) */ u_long ipi_porthashmask; /* (h) */ /* @@ -392,11 +390,9 @@ struct inpcbinfo { */ struct inpcbstorage { uma_zone_t ips_zone; - uma_zone_t ips_portzone; uma_init ips_pcbinit; size_t ips_size; const char * ips_zone_name; - const char * ips_portzone_name; const char * ips_infolock_name; const char * ips_hashlock_name; }; @@ -414,7 +410,6 @@ static struct inpcbstorage prot = { \ .ips_size = sizeof(struct ppcb), \ .ips_pcbinit = prot##_inpcb_init, \ .ips_zone_name = zname, \ - .ips_portzone_name = zname " ports", \ .ips_infolock_name = iname, \ .ips_hashlock_name = hname, \ }; \ diff --git a/sys/netinet/in_pcb_var.h b/sys/netinet/in_pcb_var.h index fb88dfec889e..7e8a1626ab40 100644 --- a/sys/netinet/in_pcb_var.h +++ b/sys/netinet/in_pcb_var.h @@ -59,12 +59,6 @@ int in_pcbinshash(struct inpcb *); void in_pcbrehash(struct inpcb *); void in_pcbremhash_locked(struct inpcb *); -struct inpcbport { - struct inpcbhead phd_pcblist; - CK_LIST_ENTRY(inpcbport) phd_hash; - u_short phd_port; -}; - /* * Load balance groups used for the SO_REUSEPORT_LB socket option. Each group * (or unique address:port combination) can be re-used at most diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 64c886ca2ed5..e77a1e9d3e87 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -767,56 +767,45 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, const struct in6_addr *laddr, */ return (NULL); } else { - struct inpcbporthead *porthash; - struct inpcbport *phd; + struct inpcbhead *porthash; struct inpcb *match = NULL; + /* - * Best fit PCB lookup. - * - * First see if this local port is in use by looking on the - * port hash list. + * Port is in use by one or more PCBs. Look for best + * fit. */ porthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(lport, pcbinfo->ipi_porthashmask)]; - CK_LIST_FOREACH(phd, porthash, phd_hash) { - if (phd->phd_port == lport) - break; - } - if (phd != NULL) { - /* - * Port is in use by one or more PCBs. Look for best - * fit. - */ - CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { - wildcard = 0; - if (!prison_equal_ip6(cred->cr_prison, - inp->inp_cred->cr_prison)) - continue; - /* XXX inp locking */ - if ((inp->inp_vflag & INP_IPV6) == 0) - continue; - if (fib != RT_ALL_FIBS && - inp->inp_inc.inc_fibnum != fib) + CK_LIST_FOREACH(inp, porthash, inp_portlist) { + if (inp->inp_lport != lport) + continue; + if (!prison_equal_ip6(cred->cr_prison, + inp->inp_cred->cr_prison)) + continue; + /* XXX inp locking */ + if ((inp->inp_vflag & INP_IPV6) == 0) + continue; + if (fib != RT_ALL_FIBS && + inp->inp_inc.inc_fibnum != fib) + continue; + wildcard = 0; + if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr)) + wildcard++; + if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) { + if (IN6_IS_ADDR_UNSPECIFIED(laddr)) + wildcard++; + else if (!IN6_ARE_ADDR_EQUAL( + &inp->in6p_laddr, laddr)) continue; - if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr)) + } else { + if (!IN6_IS_ADDR_UNSPECIFIED(laddr)) wildcard++; - if (!IN6_IS_ADDR_UNSPECIFIED( - &inp->in6p_laddr)) { - if (IN6_IS_ADDR_UNSPECIFIED(laddr)) - wildcard++; - else if (!IN6_ARE_ADDR_EQUAL( - &inp->in6p_laddr, laddr)) - continue; - } else { - if (!IN6_IS_ADDR_UNSPECIFIED(laddr)) - wildcard++; - } - if (wildcard < matchwild) { - match = inp; - matchwild = wildcard; - if (matchwild == 0) - break; - } + } + if (wildcard < matchwild) { + match = inp; + matchwild = wildcard; + if (matchwild == 0) + break; } } return (match); From nobody Fri Mar 7 07:00: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 4Z8HHs62Nrzt5hB; Fri, 07 Mar 2025 07:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHr6cwvz3hFp; Fri, 07 Mar 2025 07:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0NOpNUPNGwOP09Eclxysy/DgGwgM07zD2EX1hufPNA=; b=dKH6BKEMUVSpE802YCyPQsXyliobXt/pSX7WGRes7CVC9rvvC1s0AgBbPherrYYF+gFaJT BT9KvIIWGKxFJCQqAjtXHzMXqFLEG1YLyiUu1fE3mSv5nU3HjVeduOoweVZBbWFuCKVXV/ PDQtdZ4NbASHm4KbDCXJGKoC/IuVCN+oWR2r/MxHUssoTA7qFQO25BffRNaoTuZWm6j6A4 cyGdP9Boe68jbk3kaASSadRy5mqqLU/1bskwXKKWAIKaN4z7a3j/0wh+wepCQHAgdpeo+h wf3pCOlX2FxyEZIQ0EyQU88nOBDYjzpz1jsyEkbPhrKE6bKoRczzJTrY+WP7og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330857; a=rsa-sha256; cv=none; b=DMRywymJNkbZBwsiDNjWGk7H/fazEADDCUrT+op15EohRIqzwJqsiIyIlFaE4Pr8VWQmIT LPdOh1rdvbVAaMcL5veVICf+wJ3QpKsJhm+3rm3s15ZGHRTlfZCkzacd8rVi2U3mEGWSKt em6/zMIy6E36ewbPVxGmLWgeBz3HPbccP+agvkCWm5Tx27MBofUpD1hxbqtsKG0HfTbDz6 lOOgx69WhPq9sMnJC9oQgXmk7QLKIrayLMZmn5Yi69s1bTyXE1xg4e1y4N9Y/iw63e4Fma O5S1s2i12Ztr3YPBPfmkfmSqskQI44an1EWnq7mVqS9L73Hrr3UApdLTeU5mHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0NOpNUPNGwOP09Eclxysy/DgGwgM07zD2EX1hufPNA=; b=ErqadsyEPMXrrF4FUPi4blgiEG8fM5L6JFT02p3etnoSZImgfkLuuSeESPA/5Pnnv7dVSh 7allokYwHhWEgjYTXuyKZAi/H/VSwXz6tOOWlM8KGde6I0Z5rILQme/9iRRaCabp5lhkIR PLXG9OiH581qYKiTHPx7apYF/7ByYk4VgjFvKD5z/ilIpagu9KRbeBB9+Awrq7UldSCQwG xcOZsLXp9bXng0NKMBYb1PkDHTFhTqHnDpnFXRq/ItJXxcI1ImQLk5Hq55UtnrXhNHMdBW sDi4Y5hWlt2+CukRM0QYclMxXQ8wXsxX0BMkmeRiLihzilwkGf3ocChmsL7mlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHr1zzVzB4H; Fri, 07 Mar 2025 07:00: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 52770uhb062271; Fri, 7 Mar 2025 07:00:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770uY6062258; Fri, 7 Mar 2025 07:00:56 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:56 GMT Message-Id: <202503070700.52770uY6062258@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: 452187b61147 - main - inpcb: in_pcbinshash() now can't fail on connect(2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 452187b611470a827215e9cd103a5616b8610662 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=452187b611470a827215e9cd103a5616b8610662 commit 452187b611470a827215e9cd103a5616b8610662 Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:59:40 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:59:40 +0000 inpcb: in_pcbinshash() now can't fail on connect(2) Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49152 --- sys/netinet/in_pcb.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 08097ea8c1b9..8a99297f3818 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1178,27 +1178,19 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) else lport = inp->inp_lport; + MPASS(!in_nullhost(inp->inp_laddr) || inp->inp_lport != 0 || + !(inp->inp_flags & INP_INHASHLIST)); + inp->inp_faddr = faddr; inp->inp_fport = sin->sin_port; + inp->inp_laddr = laddr; + inp->inp_lport = lport; - /* Do the initial binding of the local address if required. */ - if (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0) { - inp->inp_lport = lport; - inp->inp_laddr = laddr; - if (in_pcbinshash(inp) != 0) { - inp->inp_laddr.s_addr = inp->inp_faddr.s_addr = - INADDR_ANY; - inp->inp_lport = inp->inp_fport = 0; - return (EAGAIN); - } - } else { - inp->inp_lport = lport; - inp->inp_laddr = laddr; - if ((inp->inp_flags & INP_INHASHLIST) != 0) - in_pcbrehash(inp); - else - in_pcbinshash(inp); - } + if ((inp->inp_flags & INP_INHASHLIST) == 0) { + error = in_pcbinshash(inp); + MPASS(error == 0); + } else + in_pcbrehash(inp); #ifdef ROUTE_MPATH if (CALC_FLOWID_OUTBOUND) { uint32_t hash_val, hash_type; From nobody Fri Mar 7 07:00: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 4Z8HHt1C1Rzt5Ht; Fri, 07 Mar 2025 07:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8HHs3sp1z3h94; Fri, 07 Mar 2025 07:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o8SnTKqvSeTLIXhFa02Lrh/F7Ht6kedfuT4kyToZBSQ=; b=x0xioRrLsLsquioopcJ4NYC3/2RK/kXCBKKaPuUDmvlG6tTucQXSB7JVbNGlCHI8F9Ro25 sqfVU3QleeCjZxvYKJm6n7Gtg83uZeV1i6KM+E54nzeqb/JAs1ZSnm6iIMb8A/Oew89l/3 RG9LjBvE63taePYyx9pSpCMbXO6kvexLQu7XU2Mz0xpgtCr36y2Kfa27mNA9GpAig6VlNj qTdR5iQq+qPyqDUsoAE0dOuC+xarmJNMsOlclZgcxHR9GjVnhenyPIs8I5Zj9KQtHPrxyt OYZadUDFl7k6I3WJT9jWBv+xkUMVRKnxlh5preE+J9xc3L7oz2wGHuyECxI2iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741330857; a=rsa-sha256; cv=none; b=iUrHd8Qx7itmyyhbeFOeIHf5E6D07mbYl4pyMLNpHytTv0JenqGFpKLqyU8GTZAeOatUHZ D/aMmAoYs83uR1H+rZpS3UuQEWt8Ow9tcDOxzQH1Fi92lI6fAc/iKiFRL1Nx1FSzQStBUL R1NXopdgmlfBlfof0BbmjQOdP2+1xD0gG8lEGfeC8LQmY9NL9evmmkh2je5XtnXYA2+h3+ K8JxqTE8AaV1P2qeetPWuUlPLyAf+8gjkmxcNcjEfWn3ZNS06P+JYNKmy27xr4Jkiptuak +bJncMZxnGeZaCQnYfv616Nb4VPu/+3Hb74D+cBjMTAUs65YpQI+EmUf1p4vwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741330857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o8SnTKqvSeTLIXhFa02Lrh/F7Ht6kedfuT4kyToZBSQ=; b=jFARA0yaTMVrkQ181nSD4h4Dlw40UtXIoZ+xESQKbYnoPoYHzsW/lLv1+L/2SryQTrrmx/ OxS4qI08VK/cSJE0bpx7SFJbWCDKPQMWPTbb1HXOkwl/N23DrJ7460nL09Z1da5FSAFim8 cQPKkQUD0PFEcOopYxlcDm1ekFySRTDwhbb+PaPLFZiUewlEUxZGOEa4epa+4IIzaFES06 T3swrWefZsyqKecr7m4N7kBowX67xFcH8YZA9hokoz7lJ9CQpkFDgwUDCzklGOCVvkydYL O2Z3bmbIMT2HKdwPY1QJIvkWYALhEWK4QXLqadHDJ2A7+qpGfV+75+EP3bwtsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8HHs2wmbzBBZ; Fri, 07 Mar 2025 07:00: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 52770vcF063471; Fri, 7 Mar 2025 07:00:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52770vnb063468; Fri, 7 Mar 2025 07:00:57 GMT (envelope-from git) Date: Fri, 7 Mar 2025 07:00:57 GMT Message-Id: <202503070700.52770vnb063468@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: 136c5e17b61a - main - inpcb: return ENOMEM if bind(2) fails to allocate lbgroup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 136c5e17b61a16482c696d4ba417e02563a7e465 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=136c5e17b61a16482c696d4ba417e02563a7e465 commit 136c5e17b61a16482c696d4ba417e02563a7e465 Author: Gleb Smirnoff AuthorDate: 2025-03-07 06:59:46 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-07 06:59:46 +0000 inpcb: return ENOMEM if bind(2) fails to allocate lbgroup The SO_REUSEPORT_LB isn't a standard option, neither ENOMEM is a specified return code from bind(2), but it definitely is more appropriate than EAGAIN or the masked ENOBUFS. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49153 --- sys/netinet/in_pcb.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 8a99297f3818..47852a8cda4b 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -435,7 +435,7 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) inp->inp_lport, &inp->inp_inc.inc_ie.ie_dependladdr, INPCBLBGROUP_SIZMIN, numa_domain, fib); if (grp == NULL) - return (ENOBUFS); + return (ENOMEM); in_pcblbgroup_insert(grp, inp); CK_LIST_INSERT_HEAD(hdr, grp, il_list); } else if (grp->il_inpcnt + grp->il_pendcnt == grp->il_inpsiz) { @@ -449,7 +449,7 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) /* Expand this local group. */ grp = in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz * 2); if (grp == NULL) - return (ENOBUFS); + return (ENOMEM); in_pcblbgroup_insert(grp, inp); } else { in_pcblbgroup_insert(grp, inp); @@ -732,11 +732,12 @@ in_pcbbind(struct inpcb *inp, struct sockaddr_in *sin, int flags, &inp->inp_lport, flags, cred); if (error) return (error); - if (in_pcbinshash(inp) != 0) { + if (__predict_false((error = in_pcbinshash(inp)) != 0)) { + MPASS(inp->inp_socket->so_options & SO_REUSEPORT_LB); inp->inp_laddr.s_addr = INADDR_ANY; inp->inp_lport = 0; inp->inp_flags &= ~INP_BOUNDFIB; - return (EAGAIN); + return (error); } if (anonport) inp->inp_flags |= INP_ANONPORT; @@ -2611,6 +2612,10 @@ _in6_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) /* * Insert PCB onto various hash lists. + * + * With normal sockets this function shall not fail, so it could return void. + * But for SO_REUSEPORT_LB it may need to allocate memory with locks held, + * that's the only condition when it can fail. */ int in_pcbinshash(struct inpcb *inp) From nobody Fri Mar 7 11:46: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 4Z8Pd129Kjz5pC37; Fri, 07 Mar 2025 11:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Pd11gmKz3jBy; Fri, 07 Mar 2025 11:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741347973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsadnqVmnRhrx5oq3rleTFRzvJY92qpiw/IZGTVvRvw=; b=cP6eXJJSnV2y5V+saV6A7x3a0h02Ud0Ae98LRmABJ0cyCw4UIQJfruP/fXACTR2Ysp6rRj cjU30gilQ9fZDzlaFQElDBCXRqsUvZP7PXS92b5UN40qgHSa7FkyqbEjly7EgJGAX2CUx1 xC4IvHTWQJF1TXieVhftSwz7a167KkhW4jwlPfWKtOYjXWk4g7knYj3jruTGzzEHlHMT7A NkiMf96c+pXn9LoypiRcQeOUHlxtRhGdT5FxeWp8pKEd+3GGNwiBblnlAzM5GlP62jc8+v hNRB0xX1jO+j54/Hy7ORyHF1W2EoK3RIvc0eDaC6Ll8CT2lXC9oDBrhoQnxztg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741347973; a=rsa-sha256; cv=none; b=iSodAKJUW01Mkk8vNpyw78xqMSi4pQc2CqRCqmjrwag8pj1Gf+UmqJufLOFnTYL0p6pHjg akIpn11g5RQvorHMxRg8qJ8pJCmdIEGxTw5YW3N0wsdgOUTMnWpgWGrO7W/lhBYHmrMJJD y/hJVat0cFlBuADYMd5f6aKRu8d8iClAlPa6STIAx71Rzk2YHAurGNMA2L+3grQJgZD9So 3zwSbeCSFfx6FN/TOxGdhFdxsWP8a1q0sJz1SomT8KjLI/uXQxQsLa1ZpI7l1cAvymBn/q 81IUSjZdmNSWCXypim5M3IKBOGt52XOulAPCoDR9EtSwAyv1o5vpBpWpBCpR6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741347973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsadnqVmnRhrx5oq3rleTFRzvJY92qpiw/IZGTVvRvw=; b=j0+yQWcE8YR9tZhc030MFx+dVyPmsoWsduo1zSNCFoWsatBNNAD3oaqEOunODltRnKIUrX VYRgaB0WAwX36CiWZSQkADEoGdA9HA7AFncRb2RociWhQ3C94YDacC1l2CbmXSqHkHFyMC gu18rrqTGRbZcucIIvvDz9k94hw8hAH8sCctTgGQYGkhUP0Rh8L2Tpaq8/bXfAg/3Sc20y w5iAB1rwlXDGfCSPAi+llMWKJjqgZA2hwQJb4/DM51L1Nt0EMmY7jS4WW+/4kaZz4UhOIL CGNLC/NNgdsShAD2p+/Os7sBE16U4RuGvZddEaYxh+lu7Qy8W8v97IdkmvjpVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Pd10z1WzcDP; Fri, 07 Mar 2025 11:46: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 527BkCxV091308; Fri, 7 Mar 2025 11:46:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527BkCHX091305; Fri, 7 Mar 2025 11:46:12 GMT (envelope-from git) Date: Fri, 7 Mar 2025 11:46:12 GMT Message-Id: <202503071146.527BkCHX091305@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: cbba69fb5793 - main - release: Use unprivileged mode for bootonly and mini-memstick List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: cbba69fb5793c238cfd31697667bdff6ce1920b6 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=cbba69fb5793c238cfd31697667bdff6ce1920b6 commit cbba69fb5793c238cfd31697667bdff6ce1920b6 Author: Ed Maste AuthorDate: 2025-03-07 11:46:01 +0000 Commit: Ed Maste CommitDate: 2025-03-07 11:46:01 +0000 release: Use unprivileged mode for bootonly and mini-memstick This in effect always builds these targets in NO_ROOT mode, removing one more instance where release artifact builds require a privileged user (root). These artifacts are now always built the same way. Reviewed by: brooks, Pat Maddox Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48121 --- release/Makefile | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/release/Makefile b/release/Makefile index 44cd6e4bb8d5..44344c9ff20a 100644 --- a/release/Makefile +++ b/release/Makefile @@ -225,14 +225,12 @@ bootonly: packagesystem MK_TOOLCHAIN=no \ MK_RESCUE=no MK_DICT=no \ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no \ - -DDB_FROM_SRC ) + -DDB_FROM_SRC -DNO_ROOT) # Copy manifest only (no distfiles) to get checksums mkdir -p ${.TARGET}/usr/freebsd-dist cp MANIFEST ${.TARGET}/usr/freebsd-dist -.if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -.endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf @@ -242,13 +240,11 @@ bootonly: packagesystem echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf echo loader_menu_multi_user_prompt=\"Installer\" >> ${.TARGET}/boot/loader.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc -.if defined(NO_ROOT) echo "./etc/resolv.conf type=link uname=root gname=wheel mode=0644 link=/tmp/bsdinstall_etc/resolv.conf" >> ${.TARGET}/METALOG echo "./etc/rc.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/sysctl.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./boot/loader.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/rc.local type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -.endif dvd: packagesystem # Install system @@ -307,7 +303,7 @@ dvd1.iso: dvd pkg-stage cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} bootonly.iso: bootonly-bootonly - cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} + cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} ./METALOG ${XTRADIR} memstick: memstick.img memstick.img: disc1-memstick @@ -315,7 +311,7 @@ memstick.img: disc1-memstick mini-memstick: mini-memstick.img mini-memstick.img: bootonly-memstick - cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} + cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh ./METALOG ../${.TARGET} packagesystem: ${DISTRIBUTIONS} sh ${.CURDIR}/scripts/make-manifest.sh $$(ls *.txz | grep -v container) > MANIFEST From nobody Fri Mar 7 16:01: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 4Z8WH24bkwz5pWyG; Fri, 07 Mar 2025 16:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8WH229Tqz3f57; Fri, 07 Mar 2025 16:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741363262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8pIhpnukW/pELqXXUc2ewzfI0JMI2Ny6H6ZKT2X+0k=; b=f8a/ry9Btc8GqW1xr8LIl/FOjqzST8Pjj+5i7cmDlpPdEuhPbAgYjfO5gwZb+VvVML5U7v 0LK/gqz9IW9gRJr8Q6ZKfDnPd40c1t484QtYxqWrQRyOjgCoAH8tju9Pk1yZQPdP2n5nik PNu3dphM7Q7HcxMn9bL6y3NDEmdzCHrZ/kWst+BssFTO/3MTOjJX/+Pw/m/HPLZOIe209d P8S4QB0YbhEhSL/dY+mD+DHfu91n7iofpqyah4loXgLDjUJ1uLbgCVJr8RJbqjK1tjC2hM 48M7IFM1FLHDQPjZM9zAu8+xGWDrkxi6gmsdo9GzwrnosWl+yZYn1Bt+yoJehw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741363262; a=rsa-sha256; cv=none; b=o4bXCMTRTirL4al7Deh5of1c7MIaypz3mW00wkMz9VYrQu3xY203JIUn+8i122galNLhiX 0MSdiwP7VQV8MmKSoP/p7JwRRLxpciQeB9COPxE8pvutIwcin8YSaANQ9069g5VqHJxKSA Ax1+VzSh/Cv3daijP24ac3y/85q5ZmyDVGeS1E0McBaps4QiWrSon85x02AuSq6NTwdity m2aBjwYdxRa3QuqVPJHt7o87dYUQ16ZmsPW+6eCf1GZNBc5XJOw2pyh5nBxMacnOsug7Vp q1Af0xUZuw3WRogFlXLiFCGqrs03cT1HthbLicCgZUWfOMTCgpCUeT5vFmqeFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741363262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8pIhpnukW/pELqXXUc2ewzfI0JMI2Ny6H6ZKT2X+0k=; b=q18vQowyE8WmOTCX9deK4VGPgRjvZ40PoAKrEtBgrqaQWIcLXw1d0sh5EdlZ1oX1emuxbl FzDLHRXYvlrz6lLN0iBetGhVOfJ2rkcFYb2v0jfFujdnuCTUXSPfcF9UuSc3RHn9aU96xf ZHNfZ2n9SPFvbaKyVZkEB4X9LJk269/KGx0W4+3AhCqZ/Z89jnW3qlmoNVYfZygme4p8GA 3W4wYEP6IqPKkTVSJs/beNQ4rIa5sU1yhuIwdS3NSD+UINL+zDthFF/e9h5fgpRSGfoiOh 11kBtMTyYSmV9QF96NjsdMwiUKHVQqkSAjzBTq02PRXpiQGxA4jdKA+lYQMJ+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8WH21n8Dzk3R; Fri, 07 Mar 2025 16:01: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 527G124n070703; Fri, 7 Mar 2025 16:01:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527G12u8070700; Fri, 7 Mar 2025 16:01:02 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:01:02 GMT Message-Id: <202503071601.527G12u8070700@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: 6aab381a498f - main - acpi_gpiobus: assume GPIO_PIN_INPUT for interrupt pins List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6aab381a498f1a43ba372f4ae9f57ef88b4767b5 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=6aab381a498f1a43ba372f4ae9f57ef88b4767b5 commit 6aab381a498f1a43ba372f4ae9f57ef88b4767b5 Author: Ahmad Khalifa AuthorDate: 2025-03-07 15:59:11 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 15:59:11 +0000 acpi_gpiobus: assume GPIO_PIN_INPUT for interrupt pins Different drivers respond differently to having neither GPIO_PIN_INPUT or GPIO_PIN_OUTPUT set, this stops the unpredictable results. --- sys/dev/gpio/acpi_gpiobus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index be3889f6a89b..15c6b627e748 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -77,6 +77,7 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) break; } + flags |= GPIO_PIN_INPUT; #ifdef NOT_YET /* This is not currently implemented. */ if (gpio_res->Shareable == ACPI_SHARED) From nobody Fri Mar 7 16:01: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 4Z8WH40g2Tz5pWsT; Fri, 07 Mar 2025 16:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8WH338Vrz3fC5; Fri, 07 Mar 2025 16:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741363263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=36PFfkLPakNStPxDENd4fcacZjBv41TDTdYicLJABpo=; b=ElHrR6b2EBsxKDO0PWeCPw4AFTt7aqjLlnUe3DSwU8oEJt8bUPraN6TWiWIFs0AdDiZnHs gS9Kn+ug4wfj0RkEbnkBwVjMYTinnvddItIhNmbbJ2P/0g7kW0Mk/Xcl33QOgoZowQCYe/ XBsZioE7x1ZfIyViZU01NjesKkWXZu5UdtcpHoNKkrlzgEpXqHSXTkT7RCk1+T9MJdqGNP tJs42JU6EJykojaRjbxXiDk6jFDr4Y40kSFiuyGWs4+40xkTn5VUBH3EgkxO2wzpF54424 eEzixBYR/NkKOw3rcEFwpp5cAsfEHfBVbaKu3mI0UlQu7wEG1gdHTx0PTG0kXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741363263; a=rsa-sha256; cv=none; b=gV4p5lojyCDkSflQqq+pAKlrYxZYzVoMV7gPkMb752B36v5BL7+XENgkzhFfDaPw8k8tgk zK1fcHvafuGuyC45hbp6sJ+mC+Q466++sPqRrFadOV4Jia/OSVChdqxDyHvqYhnsdcQC4p 1/LiHbX/ETFzmZoUYtffmg+mi0k+FsPfCW9+Eci2zFdbsiuY+AfliZYTXh/z9qxzTbEy9F JcEy3u6HoPOc7ZgOMcnur2IBjJOcv2uKx4bxh4SjzimkWY9lc529Qy/B4cReajTpxf+/nv X1C+O4udDUdcHy7p+xZEhWyy6nqoJuPv47Fh21uWlc/8Ez8CWf+Z7qeDVMEzXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741363263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=36PFfkLPakNStPxDENd4fcacZjBv41TDTdYicLJABpo=; b=Yg61TNllc69jHHcUTdgKRK10nTSql5WCZbOSdl6WBCaBYnWr/fFb9JlYFnZ5SYKuAbKr74 fmM9FPzOXUljvSxHxwid3+NJrN00fariF3SJXkCjfYLKvVyu1LHYtRbZb0+xpNvQ/wywex 6wIeTzHumcm5ODsSMFa+WDcyMUTtNdXC3suHZZZig7r4Kpg1bnSuknWL+jr9YFIxnmJmP1 2olI5IJqShCkjjGncTeGKOThl2ookSB5bjHvmKQJ+2Tm4PCkPtNj7YlAetkHmTH+o/aA1S NSgCZVzfHWydHDxMAAE3WTrubHTdih6f21NP5WJRxMYlWNl/lfoxUQY64P0jXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8WH32mF1zkjG; Fri, 07 Mar 2025 16:01: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 527G13Lg070737; Fri, 7 Mar 2025 16:01:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527G13of070734; Fri, 7 Mar 2025 16:01:03 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:01:03 GMT Message-Id: <202503071601.527G13of070734@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: adc2c156acb5 - main - gpioaei: Add support for ACPI _EVT method List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: adc2c156acb50bac6e8ec66b72cadc8910ce4975 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=adc2c156acb50bac6e8ec66b72cadc8910ce4975 commit adc2c156acb50bac6e8ec66b72cadc8910ce4975 Author: Vladimir Kondratyev AuthorDate: 2025-03-07 15:59:12 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 15:59:12 +0000 gpioaei: Add support for ACPI _EVT method This method is often used to process GPIO "Power on" button press on modern x86 laptops with S0ix sleep mode. Tested with patch from https://reviews.freebsd.org/D26407 Sponsored by: Future Crew LLC MFC after: 2 month --- sys/dev/gpio/gpioaei.c | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/sys/dev/gpio/gpioaei.c b/sys/dev/gpio/gpioaei.c index 050f259a2127..f43674b53c7d 100644 --- a/sys/dev/gpio/gpioaei.c +++ b/sys/dev/gpio/gpioaei.c @@ -39,9 +39,16 @@ #include #include +enum gpio_aei_type { + ACPI_AEI_TYPE_UNKNOWN, + ACPI_AEI_TYPE_ELX, + ACPI_AEI_TYPE_EVT +}; + struct gpio_aei_softc { ACPI_HANDLE handle; - char objname[5]; /* "_EXX" or "_LXX" */ + enum gpio_aei_type type; + int pin; struct resource * intr_res; int intr_rid; void * intr_cookie; @@ -60,8 +67,11 @@ gpio_aei_intr(void * arg) { struct gpio_aei_softc * sc = arg; - /* Ask ACPI to run the appropriate _Exx or _Lxx method. */ - AcpiEvaluateObject(sc->handle, sc->objname, NULL, NULL); + /* Ask ACPI to run the appropriate _EVT, _Exx or _Lxx method. */ + if (sc->type == ACPI_AEI_TYPE_EVT) + acpi_SetInteger(sc->handle, NULL, sc->pin); + else + AcpiEvaluateObject(sc->handle, NULL, NULL, NULL); } static int @@ -69,23 +79,35 @@ gpio_aei_attach(device_t dev) { struct gpio_aei_softc * sc = device_get_softc(dev); gpio_pin_t pin; + ACPI_HANDLE handle; int err; /* This is us. */ device_set_desc(dev, "ACPI Event Information Device"); /* Store parameters needed by gpio_aei_intr. */ - sc->handle = acpi_gpiobus_get_handle(dev); + handle = acpi_gpiobus_get_handle(dev); if (gpio_pin_get_by_acpi_index(dev, 0, &pin) != 0) { device_printf(dev, "Unable to get the input pin\n"); return (ENXIO); } - sprintf(sc->objname, "_%c%02X", - (pin->flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); - /* Support for GPIO pins > 255 is not implemented. */ - if (pin->pin > 255) { - device_printf(dev, "ACPI Event Information Device does not support pins > 255"); + sc->type = ACPI_AEI_TYPE_UNKNOWN; + sc->pin = pin->pin; + if (pin->pin <= 255) { + char objname[5]; /* "_EXX" or "_LXX" */ + sprintf(objname, "_%c%02X", + (pin->flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); + if (ACPI_SUCCESS(AcpiGetHandle(handle, objname, &sc->handle))) + sc->type = ACPI_AEI_TYPE_ELX; + } + if (sc->type == ACPI_AEI_TYPE_UNKNOWN) { + if (ACPI_SUCCESS(AcpiGetHandle(handle, "_EVT", &sc->handle))) + sc->type = ACPI_AEI_TYPE_EVT; + } + + if (sc->type == ACPI_AEI_TYPE_UNKNOWN) { + device_printf(dev, "ACPI Event Information Device type is unknown"); return (ENOTSUP); } From nobody Fri Mar 7 16:44: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 4Z8XFH6Dpyz5pZJM; Fri, 07 Mar 2025 16:44:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFH5VVrz444d; Fri, 07 Mar 2025 16:44:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wxEfDBk6BIU34fFACMSaoRalz3hDPuFGPFYKojByvbg=; b=La7QwfOzfGoExzpaslKdu8JdjJy203QLsMHYnXVFQjnVgb97dMEr+unueCTJjSjDwx6qqN VPtwWoPqApACBDVr/cDNACuqBsi2zbm+Zzi8GCccKOmBDTOuV33/hvMZfnQt2XYW5GHb2M 5COPfIhAPGLZuC2ctM8OHZLbMG/sErykqYjprBamqu8VpB2V2OVdZWbRiMf8S1hfR9xgnR ntP+QK7JDJxn5nMmfJRGvtLUfrfkZ4TN0WZwWpY0QmKqYqiG1x8i3x21rKwr6dq7Qq+zha HL35H46YSl+nBPEuPKNwxc4kGz3r04RWR1xcdcWm31KnyTo/tlAeXByt51/3vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365875; a=rsa-sha256; cv=none; b=HMqaEDy4vz347NLAKufVlk5KcFYAUdbwlhPDKf4fwcMLdldinR0ddHS55Kp2rE6OGVRxFa Q+X3qMEwq9+pUPyq4dbatR+DiqbB0iijhlJt6zWjTXIEAkMM8QoPrFFPvF+a9ifgl9XAkv GHAAd3F8awuFT7KK4IC/cxk/VMTxodUW4gOaGs3yah98hzcpTQVg8t/JEc5ANEaqcj6pLO 5ZsknI04FHWoN9pQ6XPFEY9ud7dwS5F5z5fN61nLtp9o1fbX4R/5Wj5M899z/MgAO6gCrp 0+xh7Kzznml67639ugvBZMUIquM1Oxd+oh65o/sK3HzBQcxuKWrnj3lM3sLRdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wxEfDBk6BIU34fFACMSaoRalz3hDPuFGPFYKojByvbg=; b=Naxu4A1mG8CjPAr3/+uAwsaRCEQ5qjX/qKGqrq/UkR0T8Ai+QNwhtQjM0+fvzLKsuNV5Az 4A/ZgfF0sg8fqzFVzOCZ/pL0eppohywhM9SwHcm7Dc4mpBu1ZKc+AssNHasD/mxOMInZLD tjvFandAC0oKY40bHBwOu9Q35Wp2He2Kc9BwTUL8blkMtumdLAisMy7Mc5l3zy/qlFxwuU P0qOPXAqxG5O/BVRv0F30Ku7Iy9YXt895KViRFVgJCBKqiu8U1kAIR08xjrvVxb5MOUk6M rJ53Lx6VmXO3NYrXDJdP8bvhyXb/0HdVUNEJlaGBHJ2jgU1bDSNPzawC8HJzyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFH4w1fzlWk; Fri, 07 Mar 2025 16:44: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 527GiZ3G051923; Fri, 7 Mar 2025 16:44:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GiZH7051919; Fri, 7 Mar 2025 16:44:35 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:35 GMT Message-Id: <202503071644.527GiZH7051919@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 69cf9e9a451d - main - smbios: style(9): sizeof(): No space before the parenthesis List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 69cf9e9a451df3b0bff92f879365f604811e394b Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=69cf9e9a451df3b0bff92f879365f604811e394b commit 69cf9e9a451df3b0bff92f879365f604811e394b Author: Olivier Certner AuthorDate: 2025-03-03 10:27:00 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:40 +0000 smbios: style(9): sizeof(): No space before the parenthesis No functional change. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index dbf766b86422..bbfe80a6a8a6 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -85,7 +85,7 @@ smbios_identify (driver_t *driver, device_t parent) void *ptr; device_t child; vm_paddr_t addr = 0; - size_t map_size = sizeof (*eps); + size_t map_size = sizeof(*eps); int length; if (!device_is_alive(parent)) @@ -94,7 +94,7 @@ smbios_identify (driver_t *driver, device_t parent) #ifdef ARCH_MAY_USE_EFI if (!efi_get_table(&efi_smbios3, &addr_efi)) { addr = (vm_paddr_t)addr_efi; - map_size = sizeof (*eps3); + map_size = sizeof(*eps3); } else if (!efi_get_table(&efi_smbios, &addr_efi)) { addr = (vm_paddr_t)addr_efi; } @@ -111,7 +111,7 @@ smbios_identify (driver_t *driver, device_t parent) ptr = pmap_mapbios(addr, map_size); if (ptr == NULL) return; - if (map_size == sizeof (*eps3)) { + if (map_size == sizeof(*eps3)) { eps3 = ptr; length = eps3->length; if (memcmp(eps3->anchor_string, From nobody Fri Mar 7 16:44: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 4Z8XFK1kYNz5pZLS; Fri, 07 Mar 2025 16:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFJ6HKSz43tX; Fri, 07 Mar 2025 16:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epuJ59BxJoo5jmi3ARhHTE/0CFxalFTH7qTfvQvUJbQ=; b=ke6VlGlVOdq8Aws7U7+SHq11Tsw3KjF/IoNTZVAdRn56KIo4SblB3RHzIU4VedxdDq+CFu IaZYzOlEfV61MAA1HeSBYT3Mp7upqdTnqUA/4QQ7piAuLGq5TvhyRItieVNI+FtMwdytpT PWx9Ug57prsF1Ufuo2bA1rZ+do5fBhfNNyR9f7g9zHLPKRz7lIBQDVinTHWBGLrtaMM3j2 jYm6RbkpUYGYVGtVrMnLsHoCZ8PHl/tEBcNUMJvFLxk5FrHfKKHDVaVcGcYfAAJ2u9Nieh /SO3MZV7s3JEFne4p+tAYePx2xrFvdIgTvqCQDq2pU3w8CLGIS++huLrB7ttgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365876; a=rsa-sha256; cv=none; b=fAfF299qdI1lDAKPt94b2Vv0twEthuZgMkhKI+QWw3Hv+kGxOT885xjtzgjJqWUENvbW37 Riu00hBE7FfZzjYYlyX92Mo73F5KKFZByDw69Xkmlfdklo9XnepuOor5OgImzIwiMtLhXj nx9A9WTMWYjoHrAHQN8rKmysbKzBQuLrMuMhigXwVEv5JqrpfhQjOcEYO5rbjfbF+1v54p wtbgSE9VcLtMJfMpJJBMpnD7yEKgOe8yKwPQpfuQieXJ0Kj3hq0T7FNx9wlHZqPdwVC2M2 wfrVfOrH6ohBNu4eZE1SzacynaYy5Wi/GvZpVVPvsHw54xqPdwGREUSJ5axf8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epuJ59BxJoo5jmi3ARhHTE/0CFxalFTH7qTfvQvUJbQ=; b=jUD/Gb1WLCc+V8Sfw8ivvCrYzmfJVPLExQ4oVl/96DOEl7M6STJu5iSjH7YSjpevIO5bDV whHzgu3PfL24jj/uNOOpJbsR2IEMAilFsbd9eAalzbVVK0DAjtaysnSFA2gmwlqJ7vB2YE mL5sqKhMuCD+WnNcqmrrtUChZQkMKHIw0qnn5Cue1cU8TJyH1emHfLJMDnKfh6Bcqq97H+ NLomOGswUwdP3AK5neuuUzLrPM/PrAA9aZWD4uUdVu8MUP60FVXEwe8YPk2N72phmDNtUj sqqg7uE/hGWZE7+SMmG9CsIQCbypc3qL7kUF76X2BIUUKSGzhJHjRBUiZdDr+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFJ5rwzzlWl; Fri, 07 Mar 2025 16:44: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 527GiaWM051957; Fri, 7 Mar 2025 16:44:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GiatQ051954; Fri, 7 Mar 2025 16:44:36 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:36 GMT Message-Id: <202503071644.527GiatQ051954@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: bc7f6508363c - main - smbios: Search for v3 (64-bit) entry point first on BIOS boot List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc7f6508363c5cf4544044e00bbaf71de8f0168d Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bc7f6508363c5cf4544044e00bbaf71de8f0168d commit bc7f6508363c5cf4544044e00bbaf71de8f0168d Author: Olivier Certner AuthorDate: 2025-02-28 16:54:42 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:45 +0000 smbios: Search for v3 (64-bit) entry point first on BIOS boot When booted from BIOS (i.e., not EFI), also search for a 64-bit version of the SMBIOS Entry Point. This allows us to detect and report the proper SMBIOS version with BIOSes that only provide the v3 table, as happens on Hetzner virtual machines. For machines that provide both, leverage the v3 table in priority consistently with the EFI case. PR: 284460 Reviewed by: markj, imp (both older version) MFC after: 2 weeks Relnotes: yes Event: February src bug-busting session Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49179 --- sys/dev/smbios/smbios.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index bbfe80a6a8a6..f4a6453fd043 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -102,9 +102,15 @@ smbios_identify (driver_t *driver, device_t parent) #endif #if defined(__amd64__) || defined(__i386__) - if (addr == 0) - addr = bios_sigsearch(SMBIOS_START, SMBIOS_SIG, SMBIOS_LEN, + if (addr == 0) { + addr = bios_sigsearch(SMBIOS_START, SMBIOS3_SIG, SMBIOS3_LEN, SMBIOS_STEP, SMBIOS_OFF); + if (addr != 0) + map_size = sizeof(*eps3); + else + addr = bios_sigsearch(SMBIOS_START, + SMBIOS_SIG, SMBIOS_LEN, SMBIOS_STEP, SMBIOS_OFF); + } #endif if (addr != 0) { From nobody Fri Mar 7 16:44: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 4Z8XFL1pY8z5pZhP; Fri, 07 Mar 2025 16:44:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFL0CXQz43tZ; Fri, 07 Mar 2025 16:44:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lGg2W67/5qMhk1g+7rohzy7N861eOHULVPZ9sjb75Ts=; b=s5YOkiWPhGrxkSDeGkJc7D7B8iWodkRDVupd6DJkbx180B/lFHOQj1Ol1Cv+llWz3e+35H CsGVnAm5wN21T4H3fSiF60YOPxzfLrEO01PqMU6O143cny+PH7tzuNj1dO2kvxCYG9Jz26 m0wRAr8m3gO0fWeNAS+cBIgv4irP/DlsF2D73uNEfzhojxCm8IOUnh5YZkA4Kto1q+T+OE KOoNBRZ9OTjN7X2ba0iP3YMyD5hZmowM7hObFRGXB1sNtTD2jzzxXOrSFAz6cZPrVKA+I8 z5LPcATsAbebeM/8m4KOl3Z0uKggoqSROEJZ6YQV0o+g0z4KibJx3ZWjR8ToXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365878; a=rsa-sha256; cv=none; b=EsqdhYiZKePC5J+Y8hYmECAaZYdZwFDICdsnPzXvwlTgSvcUPtaKvVRP1UTZNnbZsq9Igg Ew6RmcaVRAhSssv48nivEDeFp7Pe5IZsjsLEW4+R0OFKCP/C4lA/TOsOiezysnR2aubYlO kqVzfE5RUvX3I1PWom00HVwyQbQ84N1ZHeiR8m+XFVd49n9MRtd3RkMz7A2GnvTPgMp10S FEt2lChswYoO9uxMzGIu8ow2LlJk+APLWoeWVFtkz0q/oIC5yTepyX3YXpF4vS/SduiVFq DWrFni9BH5RVxBnEC6RtK8P7Nqomp+96/rxesAEwdB6qx3E5txKWnhjqApkf9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lGg2W67/5qMhk1g+7rohzy7N861eOHULVPZ9sjb75Ts=; b=rjmXmwvl6oyMbPIWPzcAvU4++VlZfkj69u525gclRObNqREKP+BurKnR5eD38owq3nETOA 5ia8G20t22CzojTABtM3WuorISiZpMV1Rec6Mzk8DT/kOh3UQGuQQGij4V4sFIt3Bv62Vr 8RbCbj40xlNw/WF6VGZcN+ZUcJpmIJeS5cQDI2e+fX3yixWbN7JorGtIil5ybe8nYjvd2B o7J+8wfWaDd7zsN4zFsA3f1onCBpss1NbGWt0V//CcnbTw9jznvgXFQi5qEXSW4tc/u6Jj /C0uR0UqyMEddUOPbrTaNaN/uY400/0XF2w1RfADT0QeAC4g2tuA3NJwNcFP5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFK6pZ1zlmw; Fri, 07 Mar 2025 16:44: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 527GibHj051991; Fri, 7 Mar 2025 16:44:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gibp2051988; Fri, 7 Mar 2025 16:44:37 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:37 GMT Message-Id: <202503071644.527Gibp2051988@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: e421a6615dc2 - main - smbios: On attach, print the entry point version and revision List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e421a6615dc257b71ac5255336dddf5c99cd12aa Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e421a6615dc257b71ac5255336dddf5c99cd12aa commit e421a6615dc257b71ac5255336dddf5c99cd12aa Author: Olivier Certner AuthorDate: 2025-03-04 21:10:23 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:45 +0000 smbios: On attach, print the entry point version and revision Additionally, on verbose boot, print the entry point revision as a diagnostic/debugging help. PR: 284460 Reviewed by: markj, imp (both older version) MFC after: 2 weeks Event: February src bug-busting session Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49179 --- sys/dev/smbios/smbios.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index f4a6453fd043..e960cb951f5a 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -211,18 +211,26 @@ smbios_attach (device_t dev) if (sc->is_eps3) { sc->eps3 = va; - device_printf(dev, "Version: %u.%u", + device_printf(dev, "Entry point: v3 (64-bit), Version: %u.%u\n", sc->eps3->major_version, sc->eps3->minor_version); + if (bootverbose) + device_printf(dev, + "Docrev: %u, Entry Point Revision: %u\n", + sc->eps3->docrev, sc->eps3->entry_point_revision); } else { sc->eps = va; - device_printf(dev, "Version: %u.%u", + device_printf(dev, "Entry point: v2.1 (32-bit), Version: %u.%u", sc->eps->major_version, sc->eps->minor_version); if (bcd2bin(sc->eps->BCD_revision)) - printf(", BCD Revision: %u.%u", + printf(", BCD Revision: %u.%u\n", bcd2bin(sc->eps->BCD_revision >> 4), bcd2bin(sc->eps->BCD_revision & 0x0f)); + else + printf("\n"); + if (bootverbose) + device_printf(dev, "Entry Point Revision: %u\n", + sc->eps->entry_point_revision); } - printf("\n"); return (0); } From nobody Fri Mar 7 16:44: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 4Z8XFM3fbhz5pZdT; Fri, 07 Mar 2025 16:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFM1Cq2z444q; Fri, 07 Mar 2025 16:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kShOcqKCUoNF7Fd1Tc9BsJksOd1zFaD2TEYOmNepOus=; b=fI66dZbu3dsZnPni2P+KQUcJG6SzcQg349VOA1O9yNKB50DrUQhKFFUk06pE3e8vlLEWQQ VspsoRIJW6yqChH2IHOPIf/YA/kojq3jkmTOlvcXbD3osrsN2ZsvV2Mc4yGCSLJPbnSPRZ JVec2rtWzxjMaNDcMQVj/T8sIdhfy+3vopRGXQqkGsuv9KxqhZu4x5hGITPme+h/GZYKoB tVX2wmQlp1BYt73+fU1hHeLssQ6Is4xvUf7ft5X69RZJ5BEgIFqWxy9ImN7tc5pZyCfceQ 6msl/C6yOwx4Yemlc2yAXcHw5vv0YVOzHXo6QK9vxf7sB6EnGemYmBJbcRN+og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365879; a=rsa-sha256; cv=none; b=QYxBTw4/X1+8V9gdxCZLBGyh6pJZIJeUYB+qER1qN5xvcjPgOv29V4WIugvMvjb22oxDqO 07NBXukpoHzyBh0FpTIniTf3ZisR1J8QKSN+Aq9yQ74TG9C14aExuoNqMzmcktDc/clUbo b6fEqvXw/RA6Ab0lGjkaXrZ7qZ/Z8NdJ02qqrnZ57bb+lN7XNqghc6l35td7HBc6zozxBi gG6VYlCDUtCHNIbAZvyXKQlUHo/J/alDe3dtlyXr3StCPmSjH1nhguS1e7xtV9/37zid7k z3AgWOjEt2Cw+popDDdoIMi9FduutNaHGAF2P6lWyxETVSKz2raL3MtaQJYZDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kShOcqKCUoNF7Fd1Tc9BsJksOd1zFaD2TEYOmNepOus=; b=SbgeZlmFKz2nbKQ0l07Bxivqp74tm8Yeb7zVl5ZN7QQy7LvAJvT8VjLvSvTJhtjr0uoZn8 LNQwKIav7pgIHF/aTffZAKK6sSaKaEy8GaP6ycTK6DIr5J9frNlR6w8FiR1RmV/3dCLp6g 0UvSsm8pEYjawYO6mYbfiWHN315hVg7oQxm7mk7+mCJrndlqblcRyRM7uA+9UaItoaz5sf M7sScAX8NZjFU0I3gDzDp8DiO6crmWYeLq03gyI+E+TiMJZh3/YxHnVCXhvLZZH8XUlmYj rNqI7Rwk0qubzGq7YEuo8leNPVYZ8RFu71jnKBt+Cah5VAps20CDWPGqmQtWKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFM0gRTzlpQ; Fri, 07 Mar 2025 16: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 527GicoJ052025; Fri, 7 Mar 2025 16:44:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gic06052022; Fri, 7 Mar 2025 16:44:38 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:38 GMT Message-Id: <202503071644.527Gic06052022@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 67d510f0c07a - main - smbios: Unmap memory on error on identify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67d510f0c07afd89e51e337e5abec47f4483ecd9 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=67d510f0c07afd89e51e337e5abec47f4483ecd9 commit 67d510f0c07afd89e51e337e5abec47f4483ecd9 Author: Olivier Certner AuthorDate: 2025-02-28 17:19:37 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:45 +0000 smbios: Unmap memory on error on identify While here, de-indent most of the code by simply bailing out if 'addr' is still 0 after the various detection methods have been tried. Reviewed by: emaste, imp MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49180 --- sys/dev/smbios/smbios.c | 82 ++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index e960cb951f5a..561196a3d4b6 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -113,53 +113,53 @@ smbios_identify (driver_t *driver, device_t parent) } #endif - if (addr != 0) { - ptr = pmap_mapbios(addr, map_size); - if (ptr == NULL) - return; - if (map_size == sizeof(*eps3)) { - eps3 = ptr; - length = eps3->length; - if (memcmp(eps3->anchor_string, - SMBIOS3_SIG, SMBIOS3_LEN) != 0) { - printf("smbios3: corrupt sig %s found\n", - eps3->anchor_string); - return; - } - } else { - eps = ptr; - length = eps->length; - if (memcmp(eps->anchor_string, - SMBIOS_SIG, SMBIOS_LEN) != 0) { - printf("smbios: corrupt sig %s found\n", - eps->anchor_string); - return; - } + if (addr == 0) + return; + + ptr = pmap_mapbios(addr, map_size); + if (ptr == NULL) + return; + if (map_size == sizeof(*eps3)) { + eps3 = ptr; + length = eps3->length; + if (memcmp(eps3->anchor_string, + SMBIOS3_SIG, SMBIOS3_LEN) != 0) { + printf("smbios3: corrupt sig %s found\n", + eps3->anchor_string); + goto unmap_return; } - if (length != map_size) { - u_int8_t major, minor; - - major = eps->major_version; - minor = eps->minor_version; - - /* SMBIOS v2.1 implementation might use 0x1e. */ - if (length == 0x1e && major == 2 && minor == 1) { - length = 0x1f; - } else { - pmap_unmapbios(eps, map_size); - return; - } + } else { + eps = ptr; + length = eps->length; + if (memcmp(eps->anchor_string, + SMBIOS_SIG, SMBIOS_LEN) != 0) { + printf("smbios: corrupt sig %s found\n", + eps->anchor_string); + goto unmap_return; } + } + if (length != map_size) { + u_int8_t major, minor; - child = BUS_ADD_CHILD(parent, 5, "smbios", DEVICE_UNIT_ANY); - device_set_driver(child, driver); + major = eps->major_version; + minor = eps->minor_version; - /* smuggle the phys addr into probe and attach */ - bus_set_resource(child, SYS_RES_MEMORY, 0, addr, length); - device_set_desc(child, "System Management BIOS"); - pmap_unmapbios(ptr, map_size); + /* SMBIOS v2.1 implementation might use 0x1e. */ + if (length == 0x1e && major == 2 && minor == 1) + length = 0x1f; + else + goto unmap_return; } + child = BUS_ADD_CHILD(parent, 5, "smbios", DEVICE_UNIT_ANY); + device_set_driver(child, driver); + + /* smuggle the phys addr into probe and attach */ + bus_set_resource(child, SYS_RES_MEMORY, 0, addr, length); + device_set_desc(child, "System Management BIOS"); + +unmap_return: + pmap_unmapbios(ptr, map_size); return; } From nobody Fri Mar 7 16:44: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 4Z8XFP4zx9z5pZLc; Fri, 07 Mar 2025 16:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFP2zjgz44GG; Fri, 07 Mar 2025 16:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=toDrAKpJ8h8w2eP6wJ8n7OW6KRHSTCPptj5U2hvVSZ8=; b=pYiUOb5CmRM8u1DSaJw9o3QU0gBROXZ8KGuRmLHcoovuYTUaji4kqn9n30IzXeyh7EFUpD 9pwziCQ7CPhbNGjWwlSxljSdwasDxBOfFCXhGmnSnD2jvoK0khZi8Zg5p2LM78tEwl3w4M 4B5WV1w0bSHp+H9x8ay2mu8cABqJjqQFbEqj+ps3SDJH03XM0SNiT4XyLMXljtngaBD8yD jvHGjwuxysmgbQ4dFdxOljk+c/2Cm5upfu9qTIAfw1e9tg1SmlcoF66RXeqdqxAqZyqxFs ZqptP642jXYT/seUDhFeBV9PFde1t1yXmRod4z1l4NfrqNtYptIL9WgQD34G0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365881; a=rsa-sha256; cv=none; b=xk3k0YmcPL8qhPx1IQ2EuiOIm4NPsI+yRl9nJOnwTKh/QfPhU8v9tymvVrh9V3V492Auuq uIhsww28jqo72kQJ4kFTtF/WiPw9Pvj/n7+50lOrSIU+//AWgLgj3nzysEcJ1IQI3M2vsv sv2RfsVbACN5gsZD9j/eth2snoNHqjBrW3B8lpDYZnM3H2pDxnQqbOQ2Qm+D21MvIKrkk0 J17wGLIqTZ4Y6N8DR5D397WDUJXuQGTJylDfE5YrzVEUq5BCBdUq/Gyub7uiAEbhpaTxx0 ZxIPrnwMwap1GvB598p2PL1rT3gGXh50PVItqoIJNjHtspB4veyDaGbAIMeGaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=toDrAKpJ8h8w2eP6wJ8n7OW6KRHSTCPptj5U2hvVSZ8=; b=Yj/tO5HhJyPQHJsnHk+Y0hVg1s22rxC1BmxnMAmjHRltKYZdtAM40aIwL8UmYmLW0Byx90 iVdUmnbjEAf38wn34PuLI3148KN97SdbZQ1Yi+P7/brg6UwM9foTBxYhe90bsjJ+ynAmYX G0OIBjNoXgytZPIw3Etfa18TAytNUckHtJY1ESw3Q3HC+7rrwQpnRJMuvD7hHQERz+fd4S SrQw9Bvswi6lpVITtstzfZHsyzTP152YuKagetQJLf/xmvixYeyBjbj4WU26uM/vY8+Ggd BuU/1fQAcXw4xVU/pqNaaBmff2DTiUwImjBcuB+nkY7lDu25WtVZ4zkjWK9V/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFP2QQQzm34; Fri, 07 Mar 2025 16:44: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 527GifQC052100; Fri, 7 Mar 2025 16:44:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GifVq052097; Fri, 7 Mar 2025 16:44:41 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:41 GMT Message-Id: <202503071644.527GifVq052097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: f6cbd6b6d2cc - main - smbios: Apply the v2.1's length fixup only on a 32-bit entry point List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6cbd6b6d2ccd672e4807128ce0d07db333d4335 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f6cbd6b6d2ccd672e4807128ce0d07db333d4335 commit f6cbd6b6d2ccd672e4807128ce0d07db333d4335 Author: Olivier Certner AuthorDate: 2025-03-03 09:16:14 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +0000 smbios: Apply the v2.1's length fixup only on a 32-bit entry point Only allow the length tolerance (0x1e instead of 0x1f) for a 32-bit entry point, as there was no 64-bit entry point in the erroneous SMBIOS v2.1 standard and assigning the length with 0x1f does not make sense in this case. While here, fix accessing the major/minor versions via 'eps' even in the 64-bit entry point case (not causing any practical problem thus far as the entry point length is greater than any SMBIOS revisions in existence, so the comparison guarding the fixup would not pass). MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 9e942335e985..733384b3614e 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -141,14 +141,13 @@ smbios_identify (driver_t *driver, device_t parent) } } if (length != map_size) { - u_int8_t major, minor; - - major = eps->major_version; - minor = eps->minor_version; - - /* SMBIOS v2.1 implementation might use 0x1e. */ - if (length == 0x1e && major == 2 && minor == 1) - length = 0x1f; + /* + * SMBIOS v2.1 implementations might use 0x1e because the + * standard was then erroneous. + */ + if (length == 0x1e && map_size == sizeof(*eps) && + eps->major_version == 2 && eps->minor_version == 1) + length = map_size; else goto unmap_return; } From nobody Fri Mar 7 16:44: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 4Z8XFP1Gy4z5pZLY; Fri, 07 Mar 2025 16:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFN38Qxz44J2; Fri, 07 Mar 2025 16: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=1741365880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=06a5B9qTEU4SYE0qGtuTm2sK88mBgmEVDb28lU4zZZE=; b=v0NPT5gCyjlKXqzSgkz05ZutAOMMjywdUbRM11LeqIN74h83tPOL9siVQ8SOXe63UrpLem 1Wh1qeCBRiOabcf9p3sHVYBIz5x5Z3MppkvcUi4ngLEU8/aiKtVelCwPxrVZ0dlanA/F9O kKmjjnq6js5w584efr6ZN6RkRMs/lRblMW9SrGLQ0dGBEG5vAQQtDI5Fdd0WBj38wWVFm/ I5IVrVr7NFe1GbVTUh8+8DN9ZeXKoftueJrlcaeQGoBrA9j/YYjC03ozxv8StmP4q3DrrK ra00yNZd/JR4fRLCAG7G9C7lRi5b3W5jiXv+upgoZEqvTRUUvP2IQ6id8moH/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365880; a=rsa-sha256; cv=none; b=DAnvI7BVzOeic6N+B4siuqthEZXn90Ho7UdTdTXz4wts4kjy4NQphb9tty2jLzaaHUKRnW VL7cjW27sAL5E7TlkvXP0HGwwGyiW5FQoOXmGEyvw4O62udSvoLZz+8XtUWbxHbqyTGAVX FuJcBgE/lA5UZAwL8+b9gnjP6vlQQJAKKhZKaThDuo3jrtD38kTijZhwEc2NWI9uUYqAWB NJqkQd0bGQqnL/OKdc63JEPJTrer97i/AT+0icICsIGJqE4U4sbyaZBUdjaea1tfV4o7Ko 2R2WEtV9x/nemhf9x6xikd2k4ZTLCQXI9tIDg2PkpvOhIyiwno7o9T1LqeHrcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=06a5B9qTEU4SYE0qGtuTm2sK88mBgmEVDb28lU4zZZE=; b=TiYczDHTa8sTh/He7wbkwg30LIc83X8U17ZZoNazKbt1H7zWmAB8fN4nnSCNzrlqc1fzOv qkCoDV5sUySR7sy3AeggRD4HELTKRa5zlyhznSaMVohgG7YnDmszHnyDoRCQ4nIdgbjhLJ IeOLTnl+ssqQ1LDo/4UlHI4GnwL4kMV976hDhsamKvR9x2DPo0fu+eS2SoyJmzyXtsZ4pC dZ6/FC52HTMGOdTbt6foH0aUShKA9W+of2g//BKFEqDOTo23XkJnrtGqJ23Tp8ZD2M/Blb wzizjOWhgQO8ANrO/So5PPCh5qf+mlmBS5ygjnBZ6FL9cjJ3GRF5dRWbYV65dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFN1cg4zlWm; Fri, 07 Mar 2025 16:44: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 527Gie90052066; Fri, 7 Mar 2025 16:44:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GieL7052062; Fri, 7 Mar 2025 16:44:40 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:40 GMT Message-Id: <202503071644.527GieL7052062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 3907feff7ab7 - main - smbios: Print an error on memory map failure on identify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3907feff7ab732b918ba3f5993e7a6718fffea14 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3907feff7ab732b918ba3f5993e7a6718fffea14 commit 3907feff7ab732b918ba3f5993e7a6718fffea14 Author: Olivier Certner AuthorDate: 2025-03-03 08:50:49 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +0000 smbios: Print an error on memory map failure on identify Consistently with what the probe and attach methods are doing. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 561196a3d4b6..9e942335e985 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -117,8 +117,10 @@ smbios_identify (driver_t *driver, device_t parent) return; ptr = pmap_mapbios(addr, map_size); - if (ptr == NULL) + if (ptr == NULL) { + printf("smbios: Unable to map memory.\n"); return; + } if (map_size == sizeof(*eps3)) { eps3 = ptr; length = eps3->length; From nobody Fri Mar 7 16:44: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 4Z8XFR2WCnz5pZJZ; Fri, 07 Mar 2025 16:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFQ3PV4z44JZ; Fri, 07 Mar 2025 16:44:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RpLkw2z78qJVuAKS1Gt1l9Y9kcr2zMbLhMxN4QHTgEc=; b=nJP7XzHUK9BfZSG3M4yRslLQVl/IiQakIeD3/alPO6ksQ3Ic31H49Ulaz2UyBFnBL2v3a7 ZLioM2NQRI/763aq64ZesGNN4Sb15MAEPjnVuepeFJ9JQ8ZRExIgJMFYuCLS8+hp6uCplJ a+/GLaLx66t7OBAVd+xCklC/qQxfLuWfOZjrFYcFajk4KOCGIgSXcw3F+mgMZaUIK8WBg2 mVg+kXmSdzUgHwmuV8OnRptejbCqiYi8D3wR5OVMnJYudC8l9YX8ccDr+CdGjmGTUw8YWf VsQ09kR9YKnvEBzUGUdP4qXmKcAmfV0M/4NYqnTWwUTgib6MN824cEffxPQGcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365882; a=rsa-sha256; cv=none; b=AQAqPgkSo1nTXb+FrStytmjCm2ujlypsAk2lXIwWjN7yLgK3KbhmAWbnGRMoAIsTE4Oqwr Mnv69/ZbjiTBZdyYTBR01HQEn4t3xtoNv3gzkGhUd754jnd0IHMtOuz/bOokrIE9vUaTFa aQrWyyszOvJqdPOF3BAuH884mvdoscD17kkStCay6eyvir8WsFAzKl0CJbuJm2bf05CwEe iZOHgDbYbSCRLdPGvkM/clJNCpe6icFOXaqyj1QzvjcA62TpnMBTlsukbuuU3D3E7pK94B NfhGfwMRCuOziPnDOCv7vMEUdd7tvRWzl5xObyPRx12iVjxeL2qyZ9KoOyTMJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RpLkw2z78qJVuAKS1Gt1l9Y9kcr2zMbLhMxN4QHTgEc=; b=XpDQQNRf93dDNjIrj7+FAkkNUZM0p2+BlO+kKnnun21N0VO31kynfwyoXDnT4gg3+HekFq gghjU7gDBLBFOz0y0TIKr6HjZ+Ue6qRIaJUwM8yt9d4XtdYEPwsbrjdWq7mJjZCblgvBOt L6e93/4bXFM58io1tO+mxV4OoQV27hRsCXFS4HuiHteTZXM7+vAkKo2b6VYDV10V+c1Cyz QnMadmJCj9PK5Yge7V7JupJsCfn4O/yGjUkRYHHkgLY/2vuTjAu6cj1EfpaUmNgtorcqiM fDY26BmsURgZHF5SxzGfKaRw25dFTjs8d65u9gDXhB/f+rkTUVnrTRYrBwtpvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFQ2tLQzlWn; Fri, 07 Mar 2025 16:44: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 527Gig87052134; Fri, 7 Mar 2025 16:44:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gig1E052131; Fri, 7 Mar 2025 16:44:42 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:42 GMT Message-Id: <202503071644.527Gig1E052131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: fdf08ac1e9f9 - main - smbios: Print an error on unexpected entry point length on identify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdf08ac1e9f9baac4fcf4af8f3bf7a34d3ea0009 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fdf08ac1e9f9baac4fcf4af8f3bf7a34d3ea0009 commit fdf08ac1e9f9baac4fcf4af8f3bf7a34d3ea0009 Author: Olivier Certner AuthorDate: 2025-03-03 10:12:33 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +0000 smbios: Print an error on unexpected entry point length on identify This helps figuring out quickly why no SMBIOS device appears in this case. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 733384b3614e..67443d75c8fa 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -86,7 +86,7 @@ smbios_identify (driver_t *driver, device_t parent) device_t child; vm_paddr_t addr = 0; size_t map_size = sizeof(*eps); - int length; + uint8_t length; if (!device_is_alive(parent)) return; @@ -148,8 +148,13 @@ smbios_identify (driver_t *driver, device_t parent) if (length == 0x1e && map_size == sizeof(*eps) && eps->major_version == 2 && eps->minor_version == 1) length = map_size; - else + else { + printf("smbios: %s-bit Entry Point: Invalid length: " + "Got %hhu, expected %zu\n", + map_size == sizeof(*eps3) ? "64" : "32", + length, map_size); goto unmap_return; + } } child = BUS_ADD_CHILD(parent, 5, "smbios", DEVICE_UNIT_ANY); From nobody Fri Mar 7 16:44: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 4Z8XFS55fzz5pZ8j; Fri, 07 Mar 2025 16:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFR4q99z44Dp; Fri, 07 Mar 2025 16:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NiB0mAi79iRstxNezUTW2pEEsyfZIuRQBG0d3TxoBEQ=; b=L5he6nXc00/JaguIXOcYMinvHRosc4mWBCMcb4w1Ysh7uFu5bJzKCMIq+VVREsg0aCUka6 mSvPX4OiUqH0WTDcqNnxmTKPwCxe507Cd4wSmgN6lShCnvPKj77fxg8VPD8yJ1GDRzsNSx F1LByaA3H81C3VtI5SJm/JLNQGT/+6aFh+G9oDUnL/CbxPu1Ei1b84JDeIKXC9C+LSmjKH ssT/qc5G33vAobDSBJwOX4k2yMpc68gP2f2wqN4xk9N/Pe+jleYgenajrrmi1p9gwvoG1L hO93kehevye2wHduuDiLyST94Kt6xCRAgG0OlxHOrIr/DV51hLg+Yc5I5BfaBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365883; a=rsa-sha256; cv=none; b=MeCsfpplkZUNBboLPYb9GjRf+Jfx7v3gXR3M+n4p+2GjOhkqBdDK/xvsQheJLxdH0DF7EU 0K0DXzxBJHNQs7CsltoKdTpaEO6EItJFlJXJ9a/dCmjyAGiyEuN06xc47m9mernw+Yh2qa xVR3vaUIBAmWOQZWPbS80vhUrrD/KxtoqB+VUbMfGW1czn1UEx3eBD1631ECybN7oWXaqS g8baSSF6siI/cdy1m7nOMr+PdtijjpGlNox6iGcSblbRr4wdw+3/NNgYv6JF3vKs7eNOas lMzf1Ni+CNFMt8OsV2MyBT0x0PZT83f1dSfVnfqd4E1mLrVguC9hKIv5m5pF8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NiB0mAi79iRstxNezUTW2pEEsyfZIuRQBG0d3TxoBEQ=; b=okcD7eSWCaYSC1WIALF+R+nKtOLW2NEoA7CFE4DRAUyFiD9w4DZ4N6lswnHj/KeHsRebb4 pM0qdtpPGpdE8vq8IbRk84Qb6CHlnTNkbP9ESXYiPEFMhS24KNMQPXhXl94z5fyFZ5+/iA m9DfVzMrGMjEL8x8QGn6jUlCwxbW1BisYJAnev6djXnLRwLUhI0pT6Tin9H48Io0FEXY84 Ll6CKPBJVpv+08/UGLx/PJdiXtCe8Tl+ASLYmLPWwhtvOj6xidOUNMphT063HJUJItUiiz HCg0EhQrRC4JGeMxyT1wCRwUhLF9NIL8T7Qay+cmW29TfoX/zXQBBYFXcIk+Pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFR45nGzlWp; Fri, 07 Mar 2025 16:44: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 527GihXR052167; Fri, 7 Mar 2025 16:44:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gih7X052164; Fri, 7 Mar 2025 16:44:43 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:43 GMT Message-Id: <202503071644.527Gih7X052164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: bb04712e3772 - main - smbios: Carefully print wrong entry point signature on identify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bb04712e37723d112b2fad28af4b035ef35a25be Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bb04712e37723d112b2fad28af4b035ef35a25be commit bb04712e37723d112b2fad28af4b035ef35a25be Author: Olivier Certner AuthorDate: 2025-03-03 09:30:00 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +0000 smbios: Carefully print wrong entry point signature on identify Using printf() with '%s' can lead to arbitrary long printing (although, usually, a NUL byte should appear quite quickly) and trying to print unprintable characters. Instead, print in hexadecimal the exact bytes that are compared to the expected signature. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 67443d75c8fa..2cc8e3ff21c4 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -124,21 +124,13 @@ smbios_identify (driver_t *driver, device_t parent) if (map_size == sizeof(*eps3)) { eps3 = ptr; length = eps3->length; - if (memcmp(eps3->anchor_string, - SMBIOS3_SIG, SMBIOS3_LEN) != 0) { - printf("smbios3: corrupt sig %s found\n", - eps3->anchor_string); - goto unmap_return; - } + if (memcmp(eps3->anchor_string, SMBIOS3_SIG, SMBIOS3_LEN) != 0) + goto corrupt_sig; } else { eps = ptr; length = eps->length; - if (memcmp(eps->anchor_string, - SMBIOS_SIG, SMBIOS_LEN) != 0) { - printf("smbios: corrupt sig %s found\n", - eps->anchor_string); - goto unmap_return; - } + if (memcmp(eps->anchor_string, SMBIOS_SIG, SMBIOS_LEN) != 0) + goto corrupt_sig; } if (length != map_size) { /* @@ -167,6 +159,31 @@ smbios_identify (driver_t *driver, device_t parent) unmap_return: pmap_unmapbios(ptr, map_size); return; + +corrupt_sig: + { + const char *sig; + const char *table_ver_str; + size_t i, end; + + if (map_size == sizeof(*eps3)) { + sig = eps3->anchor_string; + table_ver_str = "64"; + end = SMBIOS3_LEN; + } else { + sig = eps->anchor_string; + table_ver_str = "32"; + end = SMBIOS_LEN; + } + + /* Space after ':' printed by the loop. */ + printf("smbios: %s-bit Entry Point: Corrupt signature (hex):", + table_ver_str); + for (i = 0; i < end; ++i) + printf(" %02hhx", sig[i]); + printf("\n"); + } + goto unmap_return; } static int From nobody Fri Mar 7 16:44: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 4Z8XFV47KVz5pZTg; Fri, 07 Mar 2025 16:44:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFT6YwGz44FS; Fri, 07 Mar 2025 16:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lT4S0uJLNKxvEuT6TzP2UrH85wVukBGKxrKd98vTI5Q=; b=gN6KOL6KmZdu4R1ZbBs1XMXaFSkFr5D980RYBa0n+jTPcjjhbVJojPAaPXzjbhFaqe05Vs s8pHceMMtyeHgLaFQ7C1xp+/g9CHfDUvH7k3+P36WTIcy4WGgR0bbuHENQ8HTb5FbavHp3 ReiTVTVHAH0/ceJnwUf9NHh7h63+z07xMTK2r1vCy5rzqigv3EV6RM6EwqeZXCZuWp6UXk qxs6us56i+AK5n2/vHvhoc8qFiHzBL8Ro4MploWUBqCIhc02+dDOvAXS4p8nAErjN14dwf 3x+vjKfkCOm1Y+f13EhZhMnVmpnj6L+KCvDsAC02RrlmmuIt2SkqWhhMzzY5Lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365885; a=rsa-sha256; cv=none; b=L5R5l68LMKmARgtpMgPB7IFns+4pMdkY97GGdRX+g48gWdsqD/Vt+yvN+w9WTk1EzCeaQ6 ndbG+dXHJVyC0mmp2zFKVNafjhjxkRwNzMXOJMQXaf4cRLuGAD6aKr+WGzlh+8tCXxOoJA YfP4v1sCyTUI6mj0AoxIolcAiMuZz0udCdWoWpdrjdcobEfbuYWoO7ihalUQD7Y22U+awJ hz/K3ggJ5scAlcJ3PtQ/qwkqB7qeRsPOf4waEFLJa6NYaBT2kJMXQdGBzWRpNgbY8bqBUI oYM3jrlpXfHEssf1inIXTVLR8DLWrxj1HDA+bcdRhpjGCFJ/fsurXbpapnmgWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lT4S0uJLNKxvEuT6TzP2UrH85wVukBGKxrKd98vTI5Q=; b=Q9n0uq1R/xqwqQ2Wenq7JAgW2bdgeTkUy1EjBNAKkrKMWGJC12ucx+G/cjavSUTew+TZvp 9RBLhrQv0ubcj0RWnkWve6/t/XFZmJ2KCO2LgUW8JugCWOwClrkNVX4G71agb3e2aNC3qX QcYS6WI14UhfUIksFjLr96SbXwKqvBU7O+p2ANd0BNmqbIV6MqF7o0JLvqS8U1r0tOiilU g1uvgdqZE4fWwra4farg0OH4CkDUPQZxc1Bc0KpNALH+F8jHfCjHGiCAaYX4W5Gf2ugj1L DgRBQyC03SvbqIpkz4GoQ7SaKL4s+7GaLUlhWxUsSZfHdQtcQ7v6sjgOn4gn0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFT61MZzlmx; Fri, 07 Mar 2025 16:44: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 527Gijbl052237; Fri, 7 Mar 2025 16:44:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GijUe052234; Fri, 7 Mar 2025 16:44:45 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:45 GMT Message-Id: <202503071644.527GijUe052234@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: ef446a8065ac - main - smbios: style(9): smbios_cksum() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef446a8065ac0228a5da15f233cd2f964e4d7433 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ef446a8065ac0228a5da15f233cd2f964e4d7433 commit ef446a8065ac0228a5da15f233cd2f964e4d7433 Author: Olivier Certner AuthorDate: 2025-03-04 16:29:22 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:47 +0000 smbios: style(9): smbios_cksum() Reduce some variables' lifecycle. Remove useless casts. Remove superfluous braces. Add some consts. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index ca329c0f65f6..469e5ab649b6 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -338,25 +338,24 @@ smbios_eps3 (void *v) static int smbios_cksum (void *v) { - struct smbios3_eps *eps3; - struct smbios_eps *eps; - u_int8_t *ptr; + const u_int8_t *ptr; u_int8_t cksum; u_int8_t length; int i; if (smbios_eps3(v)) { - eps3 = (struct smbios3_eps *)v; + const struct smbios3_eps *eps3 = v; + length = eps3->length; } else { - eps = (struct smbios_eps *)v; + const struct smbios_eps *eps = v; + length = eps->length; } - ptr = (u_int8_t *)v; + ptr = v; cksum = 0; - for (i = 0; i < length; i++) { + for (i = 0; i < length; i++) cksum += ptr[i]; - } return (cksum); } From nobody Fri Mar 7 16:44: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 4Z8XFT1WNwz5pZjb; Fri, 07 Mar 2025 16:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFS5pYBz44KH; Fri, 07 Mar 2025 16:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yeWe0F4EB/7CNKsxHAcJ2dEvZpapJaQkoJmG5KPwCFc=; b=VlZLG4g7HRDxAIoUPzQJcTrKgc2Lj7GEA8l3cIXBWeD3OtcFpW/5kAWf5Je3CPU3ftFnR6 3YhyS0mCk69YNo4nKNL5Fis3OJW4m6pEF9IAINbntMrWn3iCnxSQ6cj+PIvEytQBdNC2iH aI2+l6m4weKwSRylfOsWhm4JK7QnxdVqHHW/W9TgErwa40cGdd5/UWDv6KEcVr7hn5k8R3 RAnbMz4QSh4lXqzvGaxfW30CzPzS2eBWS1USjtBtTXnSwDcsb4r1enpYfz5kiPd75/W7+b y1KL4c2W5CASZJrqSpVYmN69Ee/7soq22NmVVWsKZ102IlnVw7/bepmMMqdKtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365884; a=rsa-sha256; cv=none; b=H2EDNvhjasnKLdKkIQk3ZHYFIL6dPpXbrh9ySeLseuj0YogiuTRbnBXV5rioA2xm7XlrkS Y6NKTUrjEweSIrSbSOC3JLCBn5PEsT17vXStxd7f5Yxq5VcMXP5BeuAKVYZnjiYtiHqV+x /FtyzP6c8yww7TEDwejbFwTF7oOPGbUc1+6AjSHiMXnD0hdEhJ1O6M37Ptnl6J7TQ0z/21 TxniizuYKMRor+MqxejqnZ9MCnk4o2Ed8YjeizgO44JW+NA+Bs83UAwBvk4Np5YToUIHjU t0hCtPWqvVGaE5BEj7v1iJ76vop+8jQznlwYZo4as+DK3ZSBCrINIr5lY/UpRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yeWe0F4EB/7CNKsxHAcJ2dEvZpapJaQkoJmG5KPwCFc=; b=BMYKXI5MyGvKA9dsJPHYGw2n1WPJMvaDmse9XK7/AhBNAXvQ+CekQ1Cr0mofmkqPmoOsn9 XfI/8zUcGgNm71KM1cQrzZqKz83e3bBC2mzbJLxi+lq9T9QRJTfQfGEejGj0kBsR9g7gQR N7YsI0RYa+2twO0jnCpVIbVZSd+k4SB5Ba8b0QYtaKbq8ToSVdejBMaWk3rSW6116zYQC7 Ai6g2VzUL8toBZ8iiRj9wFDBf7JLxb+GE+Vf2dCyv+DkDvKqswSgwv33Frlc+XM68hB8jb CPWAyQw5OW1zT0gkmPVfZN/a5kCZSAr3zEs3qEVhH/tOZkElpnAx6kA+jhm5QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFS555TzlZb; Fri, 07 Mar 2025 16:44: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 527GiiWa052200; Fri, 7 Mar 2025 16:44:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gii7m052197; Fri, 7 Mar 2025 16:44:44 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:44 GMT Message-Id: <202503071644.527Gii7m052197@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 516e24e57987 - main - smbios: Harden decoding of the BCD revision List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 516e24e57987d184cce70e7f31443653aa1a5e63 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=516e24e57987d184cce70e7f31443653aa1a5e63 commit 516e24e57987d184cce70e7f31443653aa1a5e63 Author: Olivier Certner AuthorDate: 2025-03-03 14:25:23 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +0000 smbios: Harden decoding of the BCD revision bcd2bin() must not be called with a value greater or equal to LIBKERN_LEN_BCD2BIN. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/dev/smbios/smbios.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 2cc8e3ff21c4..ca329c0f65f6 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -241,18 +241,20 @@ smbios_attach (device_t dev) "Docrev: %u, Entry Point Revision: %u\n", sc->eps3->docrev, sc->eps3->entry_point_revision); } else { + const struct smbios_eps *const eps = va; + const uint8_t bcd = eps->BCD_revision; + sc->eps = va; device_printf(dev, "Entry point: v2.1 (32-bit), Version: %u.%u", - sc->eps->major_version, sc->eps->minor_version); - if (bcd2bin(sc->eps->BCD_revision)) + eps->major_version, eps->minor_version); + if (bcd < LIBKERN_LEN_BCD2BIN && bcd2bin(bcd) != 0) printf(", BCD Revision: %u.%u\n", - bcd2bin(sc->eps->BCD_revision >> 4), - bcd2bin(sc->eps->BCD_revision & 0x0f)); + bcd2bin(bcd >> 4), bcd2bin(bcd & 0x0f)); else printf("\n"); if (bootverbose) device_printf(dev, "Entry Point Revision: %u\n", - sc->eps->entry_point_revision); + eps->entry_point_revision); } return (0); } From nobody Fri Mar 7 16:58: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 4Z8XXr04yGz5pb9s; Fri, 07 Mar 2025 16:58:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XXq63dnz4JV9; Fri, 07 Mar 2025 16:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741366683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kq0PDI64t7/yDLLAhruHCAItcwToD1BB3hWRFZ9Gt4s=; b=Qq31cWdUxJQsAzFo8yARpmm8f4kQibvbyJcW7btHYw+s9CmvG09tKstkdIMQa9JiC1TDiq Fw3GA31Ga/kif8eDxKyLDyThEEN7s6iLHDzDH+uhbiGajLexBkKesds0aMMiAk593NlpG2 buF4aL2jUCq1u+GwyxXOoAgC2+Ys8EwDYRyGgiuLSOUuIy9LQZXJ9hG31TtIRwBlmPN9Fo l896Uqr+cbkJwXzCWYXwdZifUydxld7mRH9LhB3yy3givQkjYJR2f4mx92g9ydM2hlBu3V tlqOkBlFt9sxOjPHoOZSZ0n7kIgWRJtE4QOqOtsXNVbREKJdgLmJiemVz5A4YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741366683; a=rsa-sha256; cv=none; b=nehykuEULofk9NQnvXAqwNTJ/jmnPtMSOXIEejOyyLP2VNk/QOdHXrtbMA3w2OT5ugc3Ng qPwjN4HRctNXlNvsrilqHzKijcD8DeFs9QSpFaR0Fug4MHCMt2b1ZPQbEjIPbmge2WhSIw LcHbXdLggU4c/C+FUmxvsFtSUsKJD8Arajog6TR0s3SvO8sUwXGPvxL73EJrHz884tHv9x Gpjka/MvrGz/uq5VQZ/ovGGRA0nl2VmzlpE0LNY/wdLaPUpoNrXbkBAgs90hNmxIFHeqRw RERjRkcgJ4fms2V72RHszGUJjq8JU+0eeB3j7GwhZaokjxLH3s3vRriZujnh0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741366683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kq0PDI64t7/yDLLAhruHCAItcwToD1BB3hWRFZ9Gt4s=; b=hiXKCpDCpSdwh9ty8P6ajmALI6wXVwbTcQ/9b5DsLMJc52ORpG0y4XE7+YGjKaWe9zWBwu B2DdjH2AXIF6jlu/Ekn7Afkn0EuZg2giMeRnJ8gAo8J/OPqg5sBDdgQYRXTN4sk60DHw1Z fuHgtrnsZAZfmJQDCMoAAeMy/FES6rV3cSQmgdtwWlu1y5v/R0Q+whIutuYcFaPkORg7ns bki0IifK6RG4ID4q+FNOHDSikNAMvYQ1Ry6F7TmY1iszIKxlkFm54ovFHqLJJdi5E2K1em f5EgfGg2FDUqFh6Zv0DhZZft06KsKqUvYha3+nw4QbXuW5RFUarKIjMet/vT/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XXq5bZszm1q; Fri, 07 Mar 2025 16:58: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 527Gw323071898; Fri, 7 Mar 2025 16:58:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527Gw3si071895; Fri, 7 Mar 2025 16:58:03 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:58:03 GMT Message-Id: <202503071658.527Gw3si071895@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: 7d529b1c8fb5 - main - Makefile.inc1: Correct comment for an .endif List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7d529b1c8fb53156e3bfa97698cb1baa29b26099 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7d529b1c8fb53156e3bfa97698cb1baa29b26099 commit 7d529b1c8fb53156e3bfa97698cb1baa29b26099 Author: John Baldwin AuthorDate: 2025-03-07 16:45:25 +0000 Commit: John Baldwin CommitDate: 2025-03-07 16:57:40 +0000 Makefile.inc1: Correct comment for an .endif Fixes: 0026fec57dfd ("Differentiate package versions for ALPHA/BETA/PRERELEASE/RC phases.") --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 75fcbc0bf968..0b4167790133 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -594,7 +594,7 @@ EXTRA_REVISION= p${_BRANCH:C/.*-p([0-9]+$)/\1/} .if !defined(PKG_VERSION) PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} .endif -.endif # !defined(PKG_VERSION) +.endif # !defined(_MKSHOWCONFIG) .if !defined(PKG_TIMESTAMP) .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) From nobody Fri Mar 7 17:55: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 4Z8Ypt1Hzbz5pvBQ; Fri, 07 Mar 2025 17:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypt0mD0z3YQ0; Fri, 07 Mar 2025 17:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MxZs2TLzarmSQ9Ndk1HTjEYmjcoDO2OFOOJrWlHPibQ=; b=g6KJegyvwwROmYK2KrbCwQDC1RA6awnmVYpq4/yocvHqFd6zWceqBPo+OCuj1qhfGBt5PL W2dnoHs6nWDYCVsH96vNW7PNmAlYgD7s7nhuSPmDRRJWFsEbGVarAZweINWKSDu14dY3Wj u4+vfjTdvX+GBnSRqcGF8asx3NbWqCXHIQdAuLrzgT+esaZW1Dx+6o2bdij40pXvU5mHKb QPoacFWAou2AIgDE/9gr1gy5YaTssjXeukaQKWGI4L978kbMQjAvTHzvMbrbJCkjh+nUzP nD22ZACGpHhOByo/yMjbzoR+a/nyUK5X4blivezTIW0Gmt7PTYYZfzUhsCY0yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370118; a=rsa-sha256; cv=none; b=aOm6+bQC0W6SGM4MwgySFB9aAytOod4GcF5FqkhCD9Rl/+DsjvQocx7ppmIquMICuc48S8 4x0/iMsMJg8FNmMiuyHXYOa+e5i1LYrI0BZoh26UCwSH/mpel4hH/o8ONDIhdXdb0YU44h J3w2RwmzoZtO7or4vnpvhFut6RLx552wrilzVSJiFeTtnSlmm1uS7JPaXNiRWHA6fTjNE9 HfC+jD4piTy9Nt4+B/6IbTY4dRMRYtDAx2/2fvIKxNP2uXsCfSq0w8BFVQb4EuV6paPZgw zbOgJRJniC3klgdQerkYfXT1aEcoJrvwMe+J3MqR0pTZiajj2QAlcNbd8hdVQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MxZs2TLzarmSQ9Ndk1HTjEYmjcoDO2OFOOJrWlHPibQ=; b=J4ZZ4ERlHrpn7dI9U7qEl77zEGnudoJtNlBDQwlVTnJ4z8YNTJI3TUpmNtEL5H8NT9DaVU p0TNOhD+u1cGdbcizXIjm2T5WEZkSnvQaBDt2rqnFmdpC6G7oU5IBVe32UiR2pqXgrNF9E F9dsBeigS8CIaEo2f2RQylb9gs5MuuwoGzijCUsl/N2tF9M1rGii3Wa3PSbBMABCj80VHy C5hdpcnEpDLlOHhLUdPjSckdSRX23qdJ8gK2X6bAfTDmFXADJ2xGCkcqoPKnq7iWYiGQvH C0wUYjrd053gaelRj9Kzc65WbU5Wbh9yVElqM831gnBjg7nyJ6tBU4Z3d7P88Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Yps6ybCznV2; Fri, 07 Mar 2025 17:55: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 527HtHQF083446; Fri, 7 Mar 2025 17:55:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtHur083443; Fri, 7 Mar 2025 17:55:17 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:17 GMT Message-Id: <202503071755.527HtHur083443@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: 8ceca72751bf - main - wsp: Raise the default scr_hor_threshold sysctl. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8ceca72751bf21752a19c450a3b4a9cd98b94d85 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8ceca72751bf21752a19c450a3b4a9cd98b94d85 commit 8ceca72751bf21752a19c450a3b4a9cd98b94d85 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:34 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:34 +0000 wsp: Raise the default scr_hor_threshold sysctl. The previous value caused nearly every horizontal movement to be classed as a left/right-keyboard button-click. Signed-off-by: Joshua Rogers --- sys/dev/usb/input/wsp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index 4c41dcdbba8f..f9b85f926221 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -110,7 +110,7 @@ static struct wsp_tuning { .pressure_touch_threshold = 50, .pressure_untouch_threshold = 10, .pressure_tap_threshold = 120, - .scr_hor_threshold = 20, + .scr_hor_threshold = 50, .max_finger_area = 1900, .max_double_tap_distance = 2500, .enable_single_tap_clicks = 1, From nobody Fri Mar 7 17:55: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 4Z8Ypv2pzqz5pvR2; Fri, 07 Mar 2025 17:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypv0sBNz3YKL; Fri, 07 Mar 2025 17:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CabH8Mgk6jalQ+bk5uy65oRvPpaxwCfgeAxoY77Si6o=; b=TY4lmw+c0qzf8wKQg3fky3zRwnB9xvLJaJnxVpfQO+0PYUENAvzbZgvcMhhXM4RH1gKzNr TzF4O1IqQHmyxwZNGlr4Q3RHatIkTTVzev5a78vn2jkp5UL3t7O9uxfIzB+kpUYjcEPJii kGTlomYW422EhzaGHy0Z9uCpV/joPcGDuDFzvbw6VKqm/ZLt1ukgiwpnsrNiuqc5wxPRv/ Syy54cmanOu3Sle+Fj1qibillPzxFooBXbL9ni5LBEjqjUh+9VhCH2KK2Xwsg7pJERQffW +x+oU8AQVMVBlKM/qAugU/Xe13mRqNgo0wJEMAYfOIm+Srjhx3uuMsApe7E0jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370119; a=rsa-sha256; cv=none; b=Cr7cMthKGYMaLW6nS6iCyYfFgbxEMNZKXmAQylxRninGfbWB6x2FTotThxvlzEOcSlJ6gK BpAmYcR8yo/Xxs7EukmRfH57DY/Ad1vK7xvkmxiK3iJ67dmuWObjw8L3YKmKrloYg1zZ2a od/A92sbeXrKjL48SoHg3kg/duiEOYglSzq5RH450c9qKD8E4+oS6iBCdP43F5NfH2qAJ4 iC77UBgx/Fs6m2mhUqj2GaFPLJckYX4OI6d5mvRWrlUPenEZ+6YTtBcbaIOcbk3O/JJrco hV0T5Ru4q8CmPEhPL+IQKUTd4iPSOzP7SW2hRj4Di9mAggMLxr3hdFEf/GQ1JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CabH8Mgk6jalQ+bk5uy65oRvPpaxwCfgeAxoY77Si6o=; b=Uwj78oPGA45aHZgjlnV9tIbkYtL3j74bEyxvp/I5o4Jt2Jwubb7zaeXhZ3H3/4agRAeLWh iLKOoW8guF6V/cMpShntMosY9e0pD97efSpbwbv8uyViJOLjhwBI7lF1TP8e4sXwD/2dMf kcR6rc8kCA6lNJNH4orRWOI/3HRQOgo6CKmTkZ9oUT9n794G7cCOChylA1l+EK+HC7oB8U ZZVn/olnY5Dhub1e10qKYeCDVrKiu/19tYYiMd02NDX8A65mrK/355/oCv4AIm23tWOh/v 3TBiwf3t6cFIXufsPUyt+5eViGzhUPSKGaulSGeSMl8H48muccegndtsDVdJJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ypv0BxdznV3; Fri, 07 Mar 2025 17:55: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 527HtIhp083484; Fri, 7 Mar 2025 17:55:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtI3c083481; Fri, 7 Mar 2025 17:55:18 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:18 GMT Message-Id: <202503071755.527HtI3c083481@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: d452a029953e - main - wsp: Add hw.usb.wsp.max_scroll_finger_distance for two-finger scrolling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d452a029953e6e3879c4e73fb023ad9b7ac281a3 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=d452a029953e6e3879c4e73fb023ad9b7ac281a3 commit d452a029953e6e3879c4e73fb023ad9b7ac281a3 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:34 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:34 +0000 wsp: Add hw.usb.wsp.max_scroll_finger_distance for two-finger scrolling The hw.usb.wsp.max_scroll_finger_distance sysctl may be used to specify the maximum distance between two fingers which are registered as a z-axis (vertical scroll with mousepad) movement. Previously, this was shared with the tunable hw.usb.wsp.max_double_tap_distance which is used to specify the maximum distance between two fingers which register as a right-click. This patch also cleans up and add new information to the manpage for wsp(4). Signed-off-by: Joshua Rogers --- share/man/man4/wsp.4 | 21 ++++++++++++++++++--- sys/dev/usb/input/wsp.c | 9 +++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/share/man/man4/wsp.4 b/share/man/man4/wsp.4 index 83a4421fa2ff..b77d5ac99a7b 100644 --- a/share/man/man4/wsp.4 +++ b/share/man/man4/wsp.4 @@ -63,24 +63,39 @@ through nodes under Pointer sensitivity can be controlled using the sysctl tunable .Nm hw.usb.wsp.scale_factor . Tap to left-click can be controlled using the sysctl tunable -.Nm hw.usb.wsp.enable_single_tap_clicks , -set to 0 to disable single tap clicks or 1 to enable them (default). +.Nm hw.usb.wsp.enable_single_tap_clicks +with 0 disabling single tap clicks and 1 enabling them (default). Movement on the trackpad following a partially-released click can be controlled using the sysctl tunable .Nm hw.usb.wsp.enable_single_tap_movement , -set to 0 to disable the movement on the trackpad until a full release +with 0 to disable the movement on the trackpad until a full release or 1 to allow the continued movement (default). .Nm hw.usb.wsp.max_finger_area defines the maximum area on the trackpad which is registered as a finger (lower for greater palm detection). +.Nm max_scroll_finger_distance +defines the maximum distance between two fingers where z-axis +movements are registered. .Nm hw.usb.wsp.max_double_tap_distance defines the maximum distance between two finger clicks or taps which may register as a double-click. +.Nm hw.usb.wsp.scr_hor_threshold +defines the minimum required horizontal movement to register as a forward +/back button click. Z-Axis sensitivity can be controlled using the sysctl tunable .Nm hw.usb.wsp.z_factor . Z-Axis inversion can be controlled using the sysctl tunable .Nm hw.usb.wsp.z_invert , set to 0 to disable (default) or 1 to enable inversion. +.Pp +.Nm +may use evdev data (if enabled during kernel compilation) for gesture support +using the +.Xr sysctl 8 +value +.Nm kern.evdev.rcpt_mask . +On most MacBooks, setting this value to 3 enables gestures, while 12 +disables them. .Sh FILES .Nm creates a blocking pseudo-device file, diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index f9b85f926221..d74ba1da32b1 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -98,6 +98,7 @@ static struct wsp_tuning { int pressure_tap_threshold; int scr_hor_threshold; int max_finger_area; + int max_scroll_finger_distance; int max_double_tap_distance; int enable_single_tap_clicks; int enable_single_tap_movement; @@ -112,6 +113,7 @@ static struct wsp_tuning { .pressure_tap_threshold = 120, .scr_hor_threshold = 50, .max_finger_area = 1900, + .max_scroll_finger_distance = MAX_FINGER_ORIENTATION/2, .max_double_tap_distance = 2500, .enable_single_tap_clicks = 1, .enable_single_tap_movement = 1, @@ -127,7 +129,8 @@ wsp_runing_rangecheck(struct wsp_tuning *ptun) WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255); WSP_CLAMP(ptun->max_finger_area, 1, 2400); - WSP_CLAMP(ptun->max_double_tap_distance, 1, 16384); + WSP_CLAMP(ptun->max_scroll_finger_distance, 1, MAX_FINGER_ORIENTATION); + WSP_CLAMP(ptun->max_double_tap_distance, 1, MAX_FINGER_ORIENTATION); WSP_CLAMP(ptun->scr_hor_threshold, 1, 255); WSP_CLAMP(ptun->enable_single_tap_clicks, 0, 1); WSP_CLAMP(ptun->enable_single_tap_movement, 0, 1); @@ -147,6 +150,8 @@ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_tap_threshold, CTLFLAG_RWTUN, &wsp_tuning.pressure_tap_threshold, 0, "tap pressure threshold"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_finger_area, CTLFLAG_RWTUN, &wsp_tuning.max_finger_area, 0, "maximum finger area"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_scroll_finger_distance, CTLFLAG_RWTUN, + &wsp_tuning.max_scroll_finger_distance, 0, "maximum scroll finger distance"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_double_tap_distance, CTLFLAG_RWTUN, &wsp_tuning.max_double_tap_distance, 0, "maximum double-finger click distance"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_hor_threshold, CTLFLAG_RWTUN, @@ -1262,7 +1267,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) dx = dy = 0; if (sc->dz_count == 0) dz = (sc->dz_sum / tun.z_factor) * (tun.z_invert ? -1 : 1); - if (sc->scr_mode == WSP_SCR_HOR || sc->distance > tun.max_double_tap_distance) + if (sc->scr_mode == WSP_SCR_HOR || sc->distance > tun.max_scroll_finger_distance) dz = 0; } if (ntouch == 3) From nobody Fri Mar 7 17:55:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z8Ypw42Rfz5pvFh; Fri, 07 Mar 2025 17:55:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypw1S5Xz3YQ6; Fri, 07 Mar 2025 17:55:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qMQtfY4+PxYYb/CBSaKrEBHLZlHTn2lRc6Pm0D4Mb04=; b=qpTBRGI9Ovz4cCniB8Hxo7dj9iKRSPgDxUUU8Ziot3qu7iRFGjrIma58mDNE94yYEQNwsX 7TFham+lIfEKRhGOA4f0PXq+bBOyLyJ4V9F5eSnk7kh4okrHo8PACgYHHUR1CIK5yiYBDz OD/koeBhPRutkYHXwt+sHzrhxTmCZBxST3MskhfOHsyt/wliGiJXZSGpq5/xejNC+qsi7c W6YN6rH0CHckDR40PVFKXlI2X0795DampPae4nxoiGjqaeskU3AX9fgrt7isosNqfM/EAB vDYg2obXC0MWr2RvIb5UxTeqY95E5j2VPrVNqkPsApBgbuQImYE0dU/NruxkbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370120; a=rsa-sha256; cv=none; b=Gyfm1gQpYgFJMV5OyK8YIjfVCg1TYxAU3zQvXmUjpmfoxQwMij4GBfzT89Ot8+ZuqaXGbC PSWpdeX6snfttn1NdVI2xy8jkvY6zJ9Hk+A2gKTwKH28J0KC2BF6a4HarWqkC0l1q8WZGC vLNFMMkW0YAUH5Dry11PT0nA3Kb+X0KqcrJ9J7uODNzqztTPuKpfrrHptO4h7+jRUp7evR +DekCOotJFV/CqJOu4FxL8N/queUHE1PuvT7rdwhfoCX5VVKx+YhHqu/r6uhhq9a9O6Cst RRde9Ouc29n79R2ETMKUz5WOeNaVvMfrWwMnNakoJYfFrTr5KDbYizjm117SRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qMQtfY4+PxYYb/CBSaKrEBHLZlHTn2lRc6Pm0D4Mb04=; b=J7pDEQjKjafaIhuRDYR4i4RULndSyxVM9l4LN0eScF2nhJLA4yKGzKJ7knv/H1ZbySQBcV UeHIOIUl+cMA9dHzScyLh53E5nFzzECvJMkpbvMe9u6WDVNpekxtdZRqL4u8Mc92HZoTPX trLc8kQuUNuf52CpkrQmJ/sJRJpjvbKpgnvw5AshB+8pzFni6LMLFusOMbMff91iKy1F1c wkDEHz6RynYyGQGM+Z8iOU+Ig2orSSnslLDzi8g1CAfz84EOhqmFapEe2NLR2tkij9xE/3 AQTP6gdznd25xaN90W5YeHHFFXp4GpNrAdRkMAWWDpcrNeC2aFJAza9RpYpxFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ypw12YfznPm; Fri, 07 Mar 2025 17:55:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 527HtKhu083517; Fri, 7 Mar 2025 17:55:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtKfC083514; Fri, 7 Mar 2025 17:55:20 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:20 GMT Message-Id: <202503071755.527HtKfC083514@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: 02fb6b1162d9 - main - wsp: Fix typo in function name. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 02fb6b1162d94962acde5815aa7c315191c3ec03 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=02fb6b1162d94962acde5815aa7c315191c3ec03 commit 02fb6b1162d94962acde5815aa7c315191c3ec03 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:34 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:34 +0000 wsp: Fix typo in function name. Signed-off-by: Joshua Rogers --- sys/dev/usb/input/wsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index d74ba1da32b1..55b9aadfce86 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -120,7 +120,7 @@ static struct wsp_tuning { }; static void -wsp_runing_rangecheck(struct wsp_tuning *ptun) +wsp_running_rangecheck(struct wsp_tuning *ptun) { WSP_CLAMP(ptun->scale_factor, 1, 63); WSP_CLAMP(ptun->z_factor, 1, 63); @@ -958,7 +958,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) int slot = 0; #endif - wsp_runing_rangecheck(&tun); + wsp_running_rangecheck(&tun); if (sc->dz_count == 0) sc->dz_count = WSP_DZ_MAX_COUNT; From nobody Fri Mar 7 17:55: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 4Z8Ypx4H3sz5pvCS; Fri, 07 Mar 2025 17:55:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypx2Ktrz3Y3X; Fri, 07 Mar 2025 17:55:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMTAJpSV6wmabkYiP8T2QflFpuJI+DNHkoVfqS5DDNM=; b=dS29N/6OZTD3pKXAcckBJJY1j1pFdk2yqtZNrQ86e5jM6c9C69AxPZ7GfWuMsoROCbfaY7 17KdxO3xL35XFIxDRPZg7UxzKQmG9eET5DqSvCDjd6/wOxODtTZTZyQsvtC2iYFyOuaPVi YXlwZA4dvO8Yvbc788J0Cp4Bknd1+OsiJMI/3F4nuJj43zHOQbJ68GjkDdpyZevzLkreYL /KSEkKhRzbCkWWG7UzaAZ102XZ1p6AQ8/pZK0JUSCnKeylJ44gsERV1LmBf4nWKvg76Azt DtYgpOqdCywKxvft8Pt0Ww4qrXz4kwzKOXDkYTBGZQA3B+b+DDlvh/2zIjZslg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370121; a=rsa-sha256; cv=none; b=jOeHpu0gHfnmbiyqxzwaFVDo04trBpsV7SKAh3gZXPSWU4WfFfAj5bU1AJOnghkt/HuoEs Cz6wrHrc/ig2sMtl8DGrtPrfu+GvEFg1+9QWMRVLZgWgoGZY2dEIqF5akJJeofQP98VNvV BaQjsmhFTwHl1AS6S8S1HfVqv7Odpel/liDnp692vNOzpBYFcUzarLAbdkPVwAUj3qmoXQ OO2tFFFkTJGvS7hRfHdeHrh0FzfTI6H+seAI76QLBHefa64soTiPVN76qWVdk10Ib2EAN9 4oXQcWv/YV8CLguvC6Z8GdXfQI/cJSMe+YQrKohKwmrXp2772zgL/yqThb0p+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMTAJpSV6wmabkYiP8T2QflFpuJI+DNHkoVfqS5DDNM=; b=DSHZWfkE23ukReC3Ni3JLQeGrTyisqaKhM6juQqRJ0ecBLmYpqF1ITp0arS5M3+e3FkLPS FXvT32s1z64Gd9Lz8jd25GYD/aDM2Cn96EC0++xL1mawEMgD6VSGT87B8UDJzaPQoWEe/S na9vVbMbXo5Gz73eHZq+h9JqqpIpZZzhKwDQ003YyN+8Qr8EuwnRk+X7G8xpQB8vactml+ cfXoSoghxrZDUJo9LO6Q0/pccNbecs6GBUPVW1JdDglyfaxdvkCn8506qhU6oYuyrfIoD2 DchYNMIzE1MoDVZ8W4aZscrNMU9PtqgfVhHs12+3vgSEkU9gBi9YTGhLmtdOAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ypx1lZszmKw; Fri, 07 Mar 2025 17:55: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 527HtLLd083551; Fri, 7 Mar 2025 17:55:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtLdT083548; Fri, 7 Mar 2025 17:55:21 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:21 GMT Message-Id: <202503071755.527HtLdT083548@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: 8b04f07eda12 - main - sysmouse(4): Add wsp(4)-style T-Axis reporting. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8b04f07eda12badee0617508c37a0d9506acad24 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8b04f07eda12badee0617508c37a0d9506acad24 commit 8b04f07eda12badee0617508c37a0d9506acad24 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:35 +0000 sysmouse(4): Add wsp(4)-style T-Axis reporting. Neither the ums(4) nor psm(4) reporting can be used by the wsp(4) driver, as they rely on static-length movements, while wsp(4) may need to scroll in large amounts per evdev event push. This style uses a false button-5 press as an indicator that the z-axis movement is a horizontal scroll, otherwise a vertical scroll. Signed-off-by: Joshua Rogers --- sys/dev/evdev/evdev.c | 2 +- sys/dev/evdev/evdev.h | 2 ++ sys/dev/syscons/sysmouse.c | 14 +++++++++++--- sys/dev/vt/vt_sysmouse.c | 14 +++++++++++--- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/sys/dev/evdev/evdev.c b/sys/dev/evdev/evdev.c index 87cdaeb91e49..e71f4f389d5c 100644 --- a/sys/dev/evdev/evdev.c +++ b/sys/dev/evdev/evdev.c @@ -82,7 +82,7 @@ SYSCTL_INT(_kern_evdev, OID_AUTO, rcpt_mask, CTLFLAG_RWTUN, &evdev_rcpt_mask, 0, "Who is receiving events: bit0 - sysmouse, bit1 - kbdmux, " "bit2 - mouse hardware, bit3 - keyboard hardware"); SYSCTL_INT(_kern_evdev, OID_AUTO, sysmouse_t_axis, CTLFLAG_RWTUN, - &evdev_sysmouse_t_axis, 0, "Extract T-axis from 0-none, 1-ums, 2-psm"); + &evdev_sysmouse_t_axis, 0, "Extract T-axis from 0-none, 1-ums, 2-psm, 3-wsp"); #endif SYSCTL_NODE(_kern_evdev, OID_AUTO, input, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Evdev input devices"); diff --git a/sys/dev/evdev/evdev.h b/sys/dev/evdev/evdev.h index 2f00d49c485d..2ee374f184cc 100644 --- a/sys/dev/evdev/evdev.h +++ b/sys/dev/evdev/evdev.h @@ -62,12 +62,14 @@ extern int evdev_rcpt_mask; * 0 - do not extract horizontal wheel movement (default). * 1 - ums(4) horizontal wheel encoding. T-axis is mapped to buttons 6 and 7 * 2 - psm(4) wheels encoding: z = 1,-1 - vert. wheel, z = 2,-2 - horiz. wheel + * 3 - wsp(4) horizontal and vertical encoding. T-axis is mapped to button 5. */ enum { EVDEV_SYSMOUSE_T_AXIS_NONE = 0, EVDEV_SYSMOUSE_T_AXIS_UMS = 1, EVDEV_SYSMOUSE_T_AXIS_PSM = 2, + EVDEV_SYSMOUSE_T_AXIS_WSP = 3, }; extern int evdev_sysmouse_t_axis; diff --git a/sys/dev/syscons/sysmouse.c b/sys/dev/syscons/sysmouse.c index 0e38070d613c..05008c50b950 100644 --- a/sys/dev/syscons/sysmouse.c +++ b/sys/dev/syscons/sysmouse.c @@ -94,7 +94,15 @@ smdev_evdev_write(int x, int y, int z, int buttons) evdev_push_event(sysmouse_evdev, EV_REL, REL_X, x); evdev_push_event(sysmouse_evdev, EV_REL, REL_Y, y); switch (evdev_sysmouse_t_axis) { - case EVDEV_SYSMOUSE_T_AXIS_PSM: + case EVDEV_SYSMOUSE_T_AXIS_WSP: /* 3 */ + if (buttons & (1 << 5)) { + evdev_push_rel(sysmouse_evdev, REL_HWHEEL, z); + buttons &= ~(1 << 5); + } else { + evdev_push_rel(sysmouse_evdev, REL_WHEEL, -z); + } + break; + case EVDEV_SYSMOUSE_T_AXIS_PSM: /* 2 */ switch (z) { case 1: case -1: @@ -106,14 +114,14 @@ smdev_evdev_write(int x, int y, int z, int buttons) break; } break; - case EVDEV_SYSMOUSE_T_AXIS_UMS: + case EVDEV_SYSMOUSE_T_AXIS_UMS: /* 1 */ if (buttons & (1 << 6)) evdev_push_rel(sysmouse_evdev, REL_HWHEEL, 1); else if (buttons & (1 << 5)) evdev_push_rel(sysmouse_evdev, REL_HWHEEL, -1); buttons &= ~((1 << 5)|(1 << 6)); /* PASSTHROUGH */ - case EVDEV_SYSMOUSE_T_AXIS_NONE: + case EVDEV_SYSMOUSE_T_AXIS_NONE: /* 0 */ default: evdev_push_rel(sysmouse_evdev, REL_WHEEL, -z); } diff --git a/sys/dev/vt/vt_sysmouse.c b/sys/dev/vt/vt_sysmouse.c index 5147865fc20f..f2f5a0fa5c3a 100644 --- a/sys/dev/vt/vt_sysmouse.c +++ b/sys/dev/vt/vt_sysmouse.c @@ -128,7 +128,15 @@ sysmouse_evdev_store(int x, int y, int z, int buttons) evdev_push_event(sysmouse_evdev, EV_REL, REL_X, x); evdev_push_event(sysmouse_evdev, EV_REL, REL_Y, y); switch (evdev_sysmouse_t_axis) { - case EVDEV_SYSMOUSE_T_AXIS_PSM: + case EVDEV_SYSMOUSE_T_AXIS_WSP: /* 3 */ + if (buttons & (1 << 5)) { + evdev_push_rel(sysmouse_evdev, REL_HWHEEL, z); + buttons &= ~(1 << 5); + } else { + evdev_push_rel(sysmouse_evdev, REL_WHEEL, -z); + } + break; + case EVDEV_SYSMOUSE_T_AXIS_PSM: /* 2 */ switch (z) { case 1: case -1: @@ -140,14 +148,14 @@ sysmouse_evdev_store(int x, int y, int z, int buttons) break; } break; - case EVDEV_SYSMOUSE_T_AXIS_UMS: + case EVDEV_SYSMOUSE_T_AXIS_UMS: /* 1 */ if (buttons & (1 << 6)) evdev_push_rel(sysmouse_evdev, REL_HWHEEL, 1); else if (buttons & (1 << 5)) evdev_push_rel(sysmouse_evdev, REL_HWHEEL, -1); buttons &= ~((1 << 5)|(1 << 6)); /* PASSTHROUGH */ - case EVDEV_SYSMOUSE_T_AXIS_NONE: + case EVDEV_SYSMOUSE_T_AXIS_NONE: /* 0 */ default: evdev_push_rel(sysmouse_evdev, REL_WHEEL, -z); } From nobody Fri Mar 7 17:55: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 4Z8Ypz0q1sz5pvJ1; Fri, 07 Mar 2025 17:55:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypy2cG8z3YKZ; Fri, 07 Mar 2025 17:55:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkWk/tPQcaEqWEczIF9NZ9dJeH0Id5XYdOfAbbjQOkc=; b=gI8IJ3k4Pqg9W2C+mtuVfUSvpNe10r4xrR36iZcqJlC0euy4jsQ6fYT7o6YCIM3rcFsBoD 4oUARZWiUlIsc3ZFvmp9OCTRI7YLmtGqTJKEigc9RpzdgReEIzFLS1ecSuLdRvKsmf1kwP smzmI4EQP/PFviTnG2BOtooURQHgFp3EsNeWVLNP+0daEvFOiREkOhcZpKpptwuplZ7VWw 2WWMMPp73YPVlSMzMTTlXiXcVxy4z4Aaj29wxYk3vNytqVys20LfP5+dcmcWJahdk34nTV xY1PoQMRrezqj1DB7Au/VJOMLnC7KtWE8JTOlZyOoRtpCq2eziw59UfibhG+zQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370122; a=rsa-sha256; cv=none; b=wIv1n0IMy/NjSJgv/SyNMc450GnO9d47KiB1DVtsKtuc37I0pPs+HHmwYaZDVqCpbXDmTw gf9lTmmnuxYTbzbpbEvyQOSGNiB7QmQlNngJwuWsVaqSkQtK8GA9Q4r2w5uh0DUMn2gVIc XuzQFqWp7PNEu4esqsYfIRLmjwNc2Hikmb69gMP3XOPLZO5QJBHnHUv9xeUcrT/zguX2kB wAuhyi9aF2d1nZHEOxa/HdkinqFbYg7/XYO44imo3PBGOitHeV0noVb5/LCb4a8dVZCEsL /2fmffd24pxk4cynNyotJLJ2SYy35Vr/ZBT4dcd/KwWInHF7yX5sTNseYFbNkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkWk/tPQcaEqWEczIF9NZ9dJeH0Id5XYdOfAbbjQOkc=; b=ZcUHGkAxJ1lt7+TgKSn3zt8KVG+uxQTbGxmwm4GYb0vcbbXej8GsuPqMrN6M/7EhFqPCFu fl4b/kGqYcXqxn0CkLPVqIEgT06qIxRPrDGC/uI8QpnyiCXv9zVe1lT4COTPEyQjwKKrwF dMw6464MDETGdjZ6Qqu/ARay9Bg2ajhQktKitIsD4UwIOzKhiv3IdAeH+YD9Iy0MQmkt4D wzzvME2FDc1rt8GhKhy7qaZ0RVvhWqosUxfBzDX7wyIMhgSgSlCPNK5jffKEvJiNqhm9i0 xbWgo551chCoARSW96Tc6b+gTonjTt1UXDsnneDQIyR+Kyzhr7detpsTUlAMqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ypy203XznbB; Fri, 07 Mar 2025 17:55: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 527HtMiV083587; Fri, 7 Mar 2025 17:55:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtM11083584; Fri, 7 Mar 2025 17:55:22 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:22 GMT Message-Id: <202503071755.527HtM11083584@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: a79397d13228 - main - wsp: Handle horizontal scrolling and create tunable for swipe/scroll. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a79397d13228b1e2cc00e4f18158966b3d8cac83 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=a79397d13228b1e2cc00e4f18158966b3d8cac83 commit a79397d13228b1e2cc00e4f18158966b3d8cac83 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:35 +0000 wsp: Handle horizontal scrolling and create tunable for swipe/scroll. Previously, a two-finger horizontal scroll would result in a forwards/backwards keyboard event being performed. This patch changes that functionality to be specified via two new sysctls: horizontal_swipe_finger_count and scroll_finger_count. The former specifies how many fingers are used to perform the aforementioned forwards/backwards keyboard event, while the latter specifies how many fingers are used to perform horizontal scrolling. 0 disables each of them. The threshold for scrolling has been coupled into a single tunable: scr_threshold. This tunable is used for both scrolling and the horizontal swipe. t_factor and t_invert tunables have been created in the same manner as their z-axis counterparts. Horizontal scrolling is disabled by default, as it requires the sysctl hw.usb.wsp.t_factor to 3 (wsp mode). Horizontal swiping is enabled by default with a three-finger tap. Also rewrite much of, and improve, documentation. Signed-off-by: Joshua Rogers --- share/man/man4/wsp.4 | 158 ++++++++++++++++++++++++++++++++++++------------ sys/dev/usb/input/wsp.c | 113 ++++++++++++++++++++++++---------- 2 files changed, 200 insertions(+), 71 deletions(-) diff --git a/share/man/man4/wsp.4 b/share/man/man4/wsp.4 index b77d5ac99a7b..de2c121784d4 100644 --- a/share/man/man4/wsp.4 +++ b/share/man/man4/wsp.4 @@ -49,53 +49,131 @@ The driver provides support for the Apple Internal Trackpad device found in many Apple laptops. .Pp -The driver simulates a three-button mouse using multi-finger tap +The driver simulates a three-button mouse using multi-finger press/tap detection. A single-finger press generates a left button click. -A two-finger tap maps to the right button; whereas a three-finger tap -gets treated as a middle button click. +A two-finger press maps to the right button; whereas a three-finger +press gets treated as a middle button click. .Pp +The trackpad functions with presses and taps. A press is a full-forced +press which causes a physical lowering of the trackpad. A tap is a +touch of the trackpad which does not depress the physical trackpad. +.Pp +The .Nm -supports dynamic reconfiguration using +driver supports receiving evdev input device data if enabled. This data +is used for extended usage of the touchpad like multi-finger support, +pressure detection, tap support, and gestures. At least the second bit +of the .Xr sysctl 8 -through nodes under -.Nm hw.usb.wsp . -Pointer sensitivity can be controlled using the sysctl tunable -.Nm hw.usb.wsp.scale_factor . -Tap to left-click can be controlled using the sysctl tunable -.Nm hw.usb.wsp.enable_single_tap_clicks -with 0 disabling single tap clicks and 1 enabling them (default). -Movement on the trackpad following a partially-released click can be -controlled using the sysctl tunable -.Nm hw.usb.wsp.enable_single_tap_movement , -with 0 to disable the movement on the trackpad until a full release -or 1 to allow the continued movement (default). -.Nm hw.usb.wsp.max_finger_area -defines the maximum area on the trackpad which is registered as a -finger (lower for greater palm detection). -.Nm max_scroll_finger_distance -defines the maximum distance between two fingers where z-axis -movements are registered. -.Nm hw.usb.wsp.max_double_tap_distance -defines the maximum distance between two finger clicks or taps which may -register as a double-click. -.Nm hw.usb.wsp.scr_hor_threshold -defines the minimum required horizontal movement to register as a forward -/back button click. -Z-Axis sensitivity can be controlled using the sysctl tunable -.Nm hw.usb.wsp.z_factor . -Z-Axis inversion can be controlled using the sysctl tunable -.Nm hw.usb.wsp.z_invert , -set to 0 to disable (default) or 1 to enable inversion. +tunable +.Nm kern.evdev.rcpt_mask +must be set. This can be enabled with +.Nm kern.evdev.rcpt_mask=3 . .Pp -.Nm -may use evdev data (if enabled during kernel compilation) for gesture support -using the +Vertical scrolling (z-axis) is enabled by default with a two-finger +tap and the movement of a finger up and down. +Horizontal scrolling (t-axis) is not natively supported by the sysmouse +protocol, therefore must be enabled with evdev data. This can be enabled +with the +.Xr sysctl 8 +tunable +.Nm kern.evdev.sysmouse_t_axis=3. +Horizontal scrolling can be used with a two-finger tap and the movement +of a finger from side to side. The .Xr sysctl 8 -value -.Nm kern.evdev.rcpt_mask . -On most MacBooks, setting this value to 3 enables gestures, while 12 -disables them. +tunable +.Nm hw.usb.wsp.t_factor +must be greater than 0 for horizontal scrolling to be enabled, too. +.Pp +Horizontal swiping with a three-finger tap is registered as mouse buttons +8 and 9, depending on the direction. These buttons default to backwards +and forwards keyboard events. +.Sh SYSCTL VARIABLES +The following variables are available as +.Xr sysctl 8 +tunables: +.Bl -tag -width indent +.It Va hw.usb.wsp.scale_factor +Controls the pointer sensitivity. Default is 12. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.enable_single_tap_clicks +Enables single-tap to register as a left-click. Default is 1 (enabled). +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.enable_single_tap_movement +Enables movement on the trackpad follow a partially-released left-click. +Default is 1 (enabled). +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.max_finger_area +Specifies the maximum area on the trackpad which is registered as a +finger (a lower value is used for palm detection). Default is 1900. +.El +.Bl -tag -width indent +.It Va max_scroll_finger_distance +Specifies the maximum distance between two fingers where z-axis +and t-axis movements are registered. Z-axis and T-axis movements +are vertical and horizontal movements with more than one finger +tapped (not clicked), respectively. Default is 8192. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.max_double_tap_distance +Specifies the maximum distance between two fingers that a two-finger +click will be registered as a right-click. Default is 2500. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.scr_threshold +Specifies the minimum horizontal or vertical distance required to +register as a scrolling gesture. Default is 20. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.z_factor +Z-axis sensitivity. Default is 5. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.z_invert +Z-axis inversion. Default is 0 (disabled). +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.t_factor +T-axis sensitivity. Default is 0 (disabled). +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.t_invert +T-axis inversion. Default is 0 (disabled). +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.scroll_finger_count +Specifies the number of tapped fingers which registers as a scrolling +movement. Default is 2. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.horizontal_swipe_finger_count +Speifies the number of tapped fingers which registers as a swipe +gesture. Default is 3. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.pressure_touch_threshold +Specifies the threshold for a finger to be registered as a click. +Default is 50. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.pressure_untouch_threshold +Specifies the threshold for a finger to be registered as an unclick. +Default is 10. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.pressure_tap_threshold +Specifies the threadhold for a finger to be registered as a tap. +Default is 120. +.El +.Bl -tag -width indent +.It Va hw.usb.wsp.debug +Specifies the +.Nm +driver debugging level (0-3). Default is 1. .Sh FILES .Nm creates a blocking pseudo-device file, diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index 55b9aadfce86..55289aa40b17 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -86,17 +86,21 @@ enum wsp_log_level { static int wsp_debug = WSP_LLEVEL_ERROR;/* the default is to only log errors */ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, debug, CTLFLAG_RWTUN, - &wsp_debug, WSP_LLEVEL_ERROR, "WSP debug level"); + &wsp_debug, WSP_LLEVEL_ERROR, "WSP debug level (0-3)"); #endif /* USB_DEBUG */ static struct wsp_tuning { int scale_factor; + int scroll_finger_count; + int horizontal_swipe_finger_count; int z_factor; int z_invert; + int t_factor; + int t_invert; int pressure_touch_threshold; int pressure_untouch_threshold; int pressure_tap_threshold; - int scr_hor_threshold; + int scr_threshold; int max_finger_area; int max_scroll_finger_distance; int max_double_tap_distance; @@ -106,12 +110,16 @@ static struct wsp_tuning { wsp_tuning = { .scale_factor = 12, + .scroll_finger_count = 2, + .horizontal_swipe_finger_count = 3, .z_factor = 5, .z_invert = 0, + .t_factor = 0, + .t_invert = 0, .pressure_touch_threshold = 50, .pressure_untouch_threshold = 10, .pressure_tap_threshold = 120, - .scr_hor_threshold = 50, + .scr_threshold = 20, .max_finger_area = 1900, .max_scroll_finger_distance = MAX_FINGER_ORIENTATION/2, .max_double_tap_distance = 2500, @@ -123,25 +131,37 @@ static void wsp_running_rangecheck(struct wsp_tuning *ptun) { WSP_CLAMP(ptun->scale_factor, 1, 63); - WSP_CLAMP(ptun->z_factor, 1, 63); + WSP_CLAMP(ptun->scroll_finger_count, 0, 3); + WSP_CLAMP(ptun->horizontal_swipe_finger_count, 0, 3); + WSP_CLAMP(ptun->z_factor, 0, 63); WSP_CLAMP(ptun->z_invert, 0, 1); + WSP_CLAMP(ptun->t_factor, 0, 63); + WSP_CLAMP(ptun->t_invert, 0, 1); WSP_CLAMP(ptun->pressure_touch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255); WSP_CLAMP(ptun->max_finger_area, 1, 2400); WSP_CLAMP(ptun->max_scroll_finger_distance, 1, MAX_FINGER_ORIENTATION); WSP_CLAMP(ptun->max_double_tap_distance, 1, MAX_FINGER_ORIENTATION); - WSP_CLAMP(ptun->scr_hor_threshold, 1, 255); + WSP_CLAMP(ptun->scr_threshold, 1, 255); WSP_CLAMP(ptun->enable_single_tap_clicks, 0, 1); WSP_CLAMP(ptun->enable_single_tap_movement, 0, 1); } SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scale_factor, CTLFLAG_RWTUN, &wsp_tuning.scale_factor, 0, "movement scale factor"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scroll_finger_count, CTLFLAG_RWTUN, + &wsp_tuning.scroll_finger_count, 0, "amount of fingers to use scrolling gesture"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, horizontal_swipe_finger_count, CTLFLAG_RWTUN, + &wsp_tuning.horizontal_swipe_finger_count, 0, "amount of fingers to use horizontal swipe gesture"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, z_factor, CTLFLAG_RWTUN, - &wsp_tuning.z_factor, 0, "Z-axis scale factor"); + &wsp_tuning.z_factor, 0, "Z-axis (vertical) scale factor"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, z_invert, CTLFLAG_RWTUN, - &wsp_tuning.z_invert, 0, "enable Z-axis inversion"); + &wsp_tuning.z_invert, 0, "enable (vertical) Z-axis inversion"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, t_factor, CTLFLAG_RWTUN, + &wsp_tuning.t_factor, 0, "T-axis (horizontal) scale factor"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, t_invert, CTLFLAG_RWTUN, + &wsp_tuning.t_invert, 0, "enable T-axis (horizontal) inversion"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_touch_threshold, CTLFLAG_RWTUN, &wsp_tuning.pressure_touch_threshold, 0, "touch pressure threshold"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_untouch_threshold, CTLFLAG_RWTUN, @@ -154,8 +174,8 @@ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_scroll_finger_distance, CTLFLAG_RWTUN, &wsp_tuning.max_scroll_finger_distance, 0, "maximum scroll finger distance"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_double_tap_distance, CTLFLAG_RWTUN, &wsp_tuning.max_double_tap_distance, 0, "maximum double-finger click distance"); -SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_hor_threshold, CTLFLAG_RWTUN, - &wsp_tuning.scr_hor_threshold, 0, "horizontal scrolling threshold"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_threshold, CTLFLAG_RWTUN, + &wsp_tuning.scr_threshold, 0, "scrolling threshold"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, enable_single_tap_clicks, CTLFLAG_RWTUN, &wsp_tuning.enable_single_tap_clicks, 0, "enable single tap clicks"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, enable_single_tap_movement, CTLFLAG_RWTUN, @@ -1144,11 +1164,12 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) } wsp_add_to_queue(sc, 0, 0, 0, 0); /* button release */ } - if ((sc->dt_sum / tun.scr_hor_threshold) != 0 && - sc->ntaps == 2 && sc->scr_mode == WSP_SCR_HOR) { + + if (sc->scr_mode == WSP_SCR_HOR && sc->ntaps == tun.horizontal_swipe_finger_count + && tun.horizontal_swipe_finger_count > 0 && (sc->dt_sum / tun.scr_threshold) != 0) { /* - * translate T-axis into button presses - * until further + * translate T-axis swipe into button + * presses 3 and 4 (forward/back) */ if (sc->dt_sum > 0) wsp_add_to_queue(sc, 0, 0, 0, 1UL << 3); @@ -1234,11 +1255,18 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) dx, dy, sc->finger); } if (sc->dz_count--) { - rdz = (dy + sc->rdz) % tun.scale_factor; - sc->dz_sum -= (dy + sc->rdz) / tun.scale_factor; + if (sc->scr_mode == WSP_SCR_HOR) { + rdz = (dx + sc->rdz) % tun.scale_factor; + sc->dz_sum -= (dx + sc->rdz) / tun.scale_factor; + } else if (sc->scr_mode == WSP_SCR_VER) { + rdz = (dy + sc->rdz) % tun.scale_factor; + sc->dz_sum -= (dy + sc->rdz) / tun.scale_factor; + } sc->rdz = rdz; } - if ((sc->dz_sum / tun.z_factor) != 0) + if (sc->scr_mode == WSP_SCR_VER && (tun.z_factor == 0 || (sc->dz_sum / tun.z_factor) != 0)) + sc->dz_count = 0; + else if (sc->scr_mode == WSP_SCR_HOR && (tun.t_factor == 0 || (sc->dz_sum / tun.t_factor) != 0)) sc->dz_count = 0; } rdx = (dx + sc->rdx) % tun.scale_factor; @@ -1252,26 +1280,49 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) sc->dx_sum += dx; sc->dy_sum += dy; - if (ntouch == 2 && sc->sc_status.button == 0) { - if (sc->scr_mode == WSP_SCR_NONE && - abs(sc->dx_sum) + abs(sc->dy_sum) > tun.scr_hor_threshold) - sc->scr_mode = abs(sc->dx_sum) > - abs(sc->dy_sum) * 2 ? WSP_SCR_HOR : WSP_SCR_VER; - DPRINTFN(WSP_LLEVEL_INFO, "scr_mode=%5d, count=%d, dx_sum=%d, dy_sum=%d\n", - sc->scr_mode, sc->intr_count, sc->dx_sum, sc->dy_sum); - if (sc->scr_mode == WSP_SCR_HOR) - sc->dt_sum += dx; - else - sc->dt_sum = 0; + if (sc->sc_status.button == 0 && ntouch > 0) { + if (ntouch == tun.scroll_finger_count || ntouch == tun.horizontal_swipe_finger_count) { + if (sc->scr_mode == WSP_SCR_NONE && abs(sc->dx_sum) + abs(sc->dy_sum) > tun.scr_threshold) + sc->scr_mode = abs(sc->dx_sum) > abs(sc->dy_sum) * 2 ? WSP_SCR_HOR : WSP_SCR_VER; - dx = dy = 0; - if (sc->dz_count == 0) - dz = (sc->dz_sum / tun.z_factor) * (tun.z_invert ? -1 : 1); - if (sc->scr_mode == WSP_SCR_HOR || sc->distance > tun.max_scroll_finger_distance) + DPRINTFN(WSP_LLEVEL_INFO, "scr_mode=%5d, count=%d, dx_sum=%d, dy_sum=%d\n", sc->scr_mode, sc->intr_count, sc->dx_sum, sc->dy_sum); + } + + if (ntouch == tun.scroll_finger_count) { /* preference scrolling over swipe if tun.scroll_finger_count == tun.horizontal_swipe_finger_count */ + if (sc->scr_mode == WSP_SCR_HOR) { + sc->sc_status.button = 1 << 5; + } + dx = dy = dz = 0; dz = 0; + sc->dt_sum = 0; + if (sc->distance <= tun.max_scroll_finger_distance && sc->dz_count == 0) { + if (sc->scr_mode == WSP_SCR_VER) { + if (tun.z_factor > 0) + dz = (sc->dz_sum / tun.z_factor) * (tun.z_invert ? -1 : 1); + } else if (sc->scr_mode == WSP_SCR_HOR) { + if (tun.t_factor > 0) + dz = (sc->dz_sum / tun.t_factor) * (tun.t_invert ? -1 : 1); + } + } + } else if (ntouch == tun.horizontal_swipe_finger_count) { + if (sc->scr_mode == WSP_SCR_HOR) { + sc->dt_sum += dx * (tun.t_invert ? -1 : 1); + } else { + sc->dt_sum = 0; + } + dx = dy = dz = 0; + } } + if (ntouch == 3) dx = dy = dz = 0; + + if (ntouch != tun.horizontal_swipe_finger_count) + sc->dt_sum = 0; + + if (ntouch == 0) + sc->scr_mode = WSP_SCR_NONE; + if (sc->intr_count < WSP_TAP_MAX_COUNT && abs(dx) < 3 && abs(dy) < 3 && abs(dz) < 3) dx = dy = dz = 0; From nobody Fri Mar 7 17:55: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 4Z8Yq01Py2z5pvR5; Fri, 07 Mar 2025 17:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Ypz3dB8z3YQb; Fri, 07 Mar 2025 17:55:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gL+4Jnqu9ZGJ1vm9IMX0493wuzXWauzNfUdAnqr9q4I=; b=vAWuflyByRoRlgfsvk+XAVC28wXfcp949IKgrPKPVV2cLM3Hfa9N6j/LfHAdfsThiSKD8h s86yP4aNEw9bxjka4cd4s6LUKhfq7oBpPFeD9qfpJTU7cYmB+goidWYJfar+PcmFY96uuj 1W7mb79lWq5Rl3Z5zmSsCFUTvJJDbok2cMffVNPx0Z8Q/JEk6PxGx0y+M1aXvDMD6H+l7P ipNYOFEjtB6vAI00ln1r1nvaGEOeVtQFz6wqyur+4SBbVuRwOnZ1NE8GnPUKu8c0IHbFxa 0kscj8+sFvyeZuePhcklrxpuup+ck6ztQhZzv+3r7Tt7ZGGf/rO0rQw5XuVCIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370123; a=rsa-sha256; cv=none; b=N/tRMdFM6IHU7xUliwO2UlQVl8p55lWdN6LZAbZXbubk9DcCMPP/HwBJ+4TDDNWALN4ECp +hz5PzTdUrWKZv1QaairvWFDLHCmHS/J7HAqREUo98Cg8a0O5ok9QlVHcIiHtwlnloWq2o 73y3Ahl/8xGR+ny335M9V2vxU/GeUzsiAOQUHnivSLl0Qo+Pi16NpJXnOH8H6HaYVgmYgL ym+AQgMDxs7CiSEg7d5OUNgosfrPOnjcMUmdhIKBIBJhpdZQY3/LeyxTeBsHURY0XCBn7e LBab2CBv1WxqipYL9DUIRDgP73aKgUCHUVDDMlPKeWH7svo1w9Qs5jHwHg78rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gL+4Jnqu9ZGJ1vm9IMX0493wuzXWauzNfUdAnqr9q4I=; b=ajxfvAUe7yJdllur0GWKwClCyMyjQHrdLcoNrXsKz1CsqawV/U7n3IvvaYk0FDF30av0Ko YwoA1kkUioCI3htTT1VNgGnYzHF0DpZGI8sirC2FBAMstG7hmZM/Z8QRMOr82kxVC0xSSD V18ZVwOuZtLVSl0nMnujEtrYf1PjngpocuzTAiexKwXza/A2LIOoaKuIHDb7xly45EgxcO vosfWxr3+9aTQtZGP3Pdzp+k6lM9smCWY/OyrygiA0Dk5uGErDuY2ZgxPMJmpGIADtMAlY VXDk5Duo+jr4PHKKIZYL4oG53S4xkZAVQaNLI7IjDT+NcgkAhuvm9K2RneTB8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Ypz33kBzngL; Fri, 07 Mar 2025 17:55: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 527HtNPC083620; Fri, 7 Mar 2025 17:55:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtN0g083617; Fri, 7 Mar 2025 17:55:23 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:23 GMT Message-Id: <202503071755.527HtN0g083617@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: e381dabcc580 - main - wsp: Rename max_finger_area sysctl to max_finger_diameter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e381dabcc58095d9be135b1027613cbf77a1ba7f Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=e381dabcc58095d9be135b1027613cbf77a1ba7f commit e381dabcc58095d9be135b1027613cbf77a1ba7f Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:35 +0000 wsp: Rename max_finger_area sysctl to max_finger_diameter The value of this sysctl is not an area, but a maximum diameter. Signed-off-by: Joshua Rogers --- share/man/man4/wsp.4 | 4 ++-- sys/dev/usb/input/wsp.c | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/share/man/man4/wsp.4 b/share/man/man4/wsp.4 index de2c121784d4..9fcec5133830 100644 --- a/share/man/man4/wsp.4 +++ b/share/man/man4/wsp.4 @@ -107,8 +107,8 @@ Enables movement on the trackpad follow a partially-released left-click. Default is 1 (enabled). .El .Bl -tag -width indent -.It Va hw.usb.wsp.max_finger_area -Specifies the maximum area on the trackpad which is registered as a +.It Va hw.usb.wsp.max_finger_diameter +Specifies the maximum finger diameter on the trackpad that is registered as a finger (a lower value is used for palm detection). Default is 1900. .El .Bl -tag -width indent diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index 55289aa40b17..b9311ffd6c2d 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -101,7 +101,7 @@ static struct wsp_tuning { int pressure_untouch_threshold; int pressure_tap_threshold; int scr_threshold; - int max_finger_area; + int max_finger_diameter; int max_scroll_finger_distance; int max_double_tap_distance; int enable_single_tap_clicks; @@ -120,7 +120,7 @@ static struct wsp_tuning { .pressure_untouch_threshold = 10, .pressure_tap_threshold = 120, .scr_threshold = 20, - .max_finger_area = 1900, + .max_finger_diameter = 1900, .max_scroll_finger_distance = MAX_FINGER_ORIENTATION/2, .max_double_tap_distance = 2500, .enable_single_tap_clicks = 1, @@ -140,7 +140,7 @@ wsp_running_rangecheck(struct wsp_tuning *ptun) WSP_CLAMP(ptun->pressure_touch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255); - WSP_CLAMP(ptun->max_finger_area, 1, 2400); + WSP_CLAMP(ptun->max_finger_diameter, 1, 2400); WSP_CLAMP(ptun->max_scroll_finger_distance, 1, MAX_FINGER_ORIENTATION); WSP_CLAMP(ptun->max_double_tap_distance, 1, MAX_FINGER_ORIENTATION); WSP_CLAMP(ptun->scr_threshold, 1, 255); @@ -168,8 +168,8 @@ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_untouch_threshold, CTLFLAG_RWTUN, &wsp_tuning.pressure_untouch_threshold, 0, "untouch pressure threshold"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_tap_threshold, CTLFLAG_RWTUN, &wsp_tuning.pressure_tap_threshold, 0, "tap pressure threshold"); -SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_finger_area, CTLFLAG_RWTUN, - &wsp_tuning.max_finger_area, 0, "maximum finger area"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_finger_diameter, CTLFLAG_RWTUN, + &wsp_tuning.max_finger_diameter, 0, "maximum finger diameter"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_scroll_finger_distance, CTLFLAG_RWTUN, &wsp_tuning.max_scroll_finger_distance, 0, "maximum scroll finger distance"); SYSCTL_INT(_hw_usb_wsp, OID_AUTO, max_double_tap_distance, CTLFLAG_RWTUN, @@ -897,10 +897,10 @@ wsp_attach(device_t dev) WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_POSITION_Y, sc->sc_params->y); /* finger pressure */ WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_PRESSURE, sc->sc_params->p); - /* finger touch area */ + /* finger major/minor axis */ WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_TOUCH_MAJOR, sc->sc_params->w); WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_TOUCH_MINOR, sc->sc_params->w); - /* finger approach area */ + /* finger major/minor approach */ WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_WIDTH_MAJOR, sc->sc_params->w); WSP_SUPPORT_ABS(sc->sc_evdev, ABS_MT_WIDTH_MINOR, sc->sc_params->w); /* finger orientation */ @@ -1110,7 +1110,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) switch (ntouch) { case 1: if (sc->index[0]->touch_major > tun.pressure_tap_threshold && - sc->index[0]->tool_major <= tun.max_finger_area) + sc->index[0]->tool_major <= tun.max_finger_diameter) sc->ntaps = 1; break; case 2: @@ -1216,7 +1216,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) dx = dy = 0; /* Ignore unexpected movement when typing (palm detection) */ - if (ntouch == 1 && sc->index[0]->tool_major > tun.max_finger_area) + if (ntouch == 1 && sc->index[0]->tool_major > tun.max_finger_diameter) dx = dy = 0; if (sc->ibtn != 0 && ntouch == 1 && From nobody Fri Mar 7 17:55: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 4Z8Yq114Qnz5pv70; Fri, 07 Mar 2025 17:55:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Yq04Pzjz3YBx; Fri, 07 Mar 2025 17:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNQfKoiMFF4AMdZgyhitgca5wT0Ce+2BCGGGTPRNnTY=; b=B0/LFBNrE5241I64Z6DxgI4LQ+qhPqULNWmusWQIE/2YM1T69Y6tCjyY8R6cIaUtoXeYIb gHQ8ds2aGFtFZvn1VSsWI2BbUbhokHQSkNJWuXKADJa7kPm4h4srId+BSkB0qoWMz/SMtZ y8tiwoqV4SQl5PNe4KG17yo/rxZY20eYk1P+1MoFWjXpySgrEoNf8rMxiUbgDVljBV7FxA Z1St91taPziRhbDyIYGRFUfi9Zj59x+MP0FVUduBAwxtAYC+gPScHnUd8PIDcoWRigT/xk kFfyjbA+Dx5tqItv2Kj0EF/Vn+KuXQAP6vhT1Y5ugtyhmNaPz9J+Y6xSZ9f6ZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370124; a=rsa-sha256; cv=none; b=qnX+r4f8vqmgxNMrbGnthtYVHlhcvS1/85a7OFfoXPuRI4+SGvFYiswROdXSlG+5zAeDe+ QExyk736HMUgsC2I5DRueNdSyfzMT0kx656/pAOuEpHBkgA++wNM+x0mrMPAVhQLM81B77 A0G8eJ5y9I/tEJO1baMbJxhnRDQOdtB9Fjd3mGnG/vsovY9MQJkhSNRlAgcY4A2mrcnREb qm3egt94PKtT6u00PJ/gADja3gfO1QtqlO3oJteHCdT1TkeeAUxpBanmN6k5pLkC01tdL2 Eb+teLfj0hX262oAvPcb+dKhqDmvRNbBDqF7R1tDmaPXXMPcwO6RVeUSty6RGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNQfKoiMFF4AMdZgyhitgca5wT0Ce+2BCGGGTPRNnTY=; b=awJshlaixwfvFqngiSIofCSGqN2kLniXR8AePNmhFIZGMNz5WgOWBsP29ALvtLfdEYc98y 9L8Zhk1WTDgJxJqAk7XG0LXHQjNu3llqxTu9txKU8TsL1JjKyCa1scLlr/INIUfhzl1DzX phvY5b1fntWQLfVq97B3UYq5BiEsEgqNgq23HYxPrMznU1T5DenQWiWiC0RaRb11Jb3p4z PiaP+HMBahy+1VWujY/rSiogMSouTa5v3sX7YTxEBJIN2YvMNIoatXjoQ2T/MgnrX/mdbc tB+8DZZlcXLtOgS85JYyPDk2VvO9b+kFMjl/kwpO6Vc6DQeobrlvSr5d7Iqzsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Yq03wfvzngM; Fri, 07 Mar 2025 17:55: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 527HtOR8083653; Fri, 7 Mar 2025 17:55:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtOB2083650; Fri, 7 Mar 2025 17:55:24 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:24 GMT Message-Id: <202503071755.527HtOB2083650@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: b7269d89e5c3 - main - wsp: Fix whitespaces List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b7269d89e5c3f63c1ab290938bde92481291f28c Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=b7269d89e5c3f63c1ab290938bde92481291f28c commit b7269d89e5c3f63c1ab290938bde92481291f28c Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:35 +0000 wsp: Fix whitespaces Signed-off-by: Joshua Rogers --- sys/dev/usb/input/wsp.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/sys/dev/usb/input/wsp.c b/sys/dev/usb/input/wsp.c index b9311ffd6c2d..f78d64f69c08 100644 --- a/sys/dev/usb/input/wsp.c +++ b/sys/dev/usb/input/wsp.c @@ -73,7 +73,7 @@ } while (0) /* Tunables */ -static SYSCTL_NODE(_hw_usb, OID_AUTO, wsp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, +static SYSCTL_NODE(_hw_usb, OID_AUTO, wsp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "USB wsp"); #ifdef USB_DEBUG @@ -121,7 +121,7 @@ static struct wsp_tuning { .pressure_tap_threshold = 120, .scr_threshold = 20, .max_finger_diameter = 1900, - .max_scroll_finger_distance = MAX_FINGER_ORIENTATION/2, + .max_scroll_finger_distance = 8192, .max_double_tap_distance = 2500, .enable_single_tap_clicks = 1, .enable_single_tap_movement = 1, @@ -141,8 +141,8 @@ wsp_running_rangecheck(struct wsp_tuning *ptun) WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255); WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255); WSP_CLAMP(ptun->max_finger_diameter, 1, 2400); - WSP_CLAMP(ptun->max_scroll_finger_distance, 1, MAX_FINGER_ORIENTATION); - WSP_CLAMP(ptun->max_double_tap_distance, 1, MAX_FINGER_ORIENTATION); + WSP_CLAMP(ptun->max_scroll_finger_distance, 1, 16384); + WSP_CLAMP(ptun->max_double_tap_distance, 1, 16384); WSP_CLAMP(ptun->scr_threshold, 1, 255); WSP_CLAMP(ptun->enable_single_tap_clicks, 0, 1); WSP_CLAMP(ptun->enable_single_tap_movement, 0, 1); @@ -329,7 +329,7 @@ struct tp_finger { int16_t unused[2]; /* zeros */ int16_t pressure; /* pressure on forcetouch touchpad */ int16_t multi; /* one finger: varies, more fingers: - * constant */ + * constant */ } __packed; /* trackpad finger data size, empirically at least ten fingers */ @@ -1033,7 +1033,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) f->pressure = le16toh((uint16_t)f->pressure); f->multi = le16toh((uint16_t)f->multi); } - DPRINTFN(WSP_LLEVEL_INFO, + DPRINTFN(WSP_LLEVEL_INFO, "[%d]ibt=%d, taps=%d, o=%4d, ax=%5d, ay=%5d, " "rx=%5d, ry=%5d, tlmaj=%4d, tlmin=%4d, ot=%4x, " "tchmaj=%4d, tchmin=%4d, presure=%4d, m=%4x\n", @@ -1176,6 +1176,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) else if (sc->dt_sum < 0) wsp_add_to_queue(sc, 0, 0, 0, 1UL << 4); } + sc->dz_count = WSP_DZ_MAX_COUNT; sc->dz_sum = 0; sc->intr_count = 0; @@ -1219,15 +1220,15 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) if (ntouch == 1 && sc->index[0]->tool_major > tun.max_finger_diameter) dx = dy = 0; - if (sc->ibtn != 0 && ntouch == 1 && - sc->intr_count < WSP_TAP_MAX_COUNT && + if (sc->ibtn != 0 && ntouch == 1 && + sc->intr_count < WSP_TAP_MAX_COUNT && abs(sc->dx_sum) < 1 && abs(sc->dy_sum) < 1 ) dx = dy = 0; if (ntouch == 2 && sc->sc_status.button != 0) { dx = sc->pos_x[sc->finger] - sc->pre_pos_x[sc->finger]; dy = sc->pos_y[sc->finger] - sc->pre_pos_y[sc->finger]; - + /* * Ignore movement of switch finger or * movement from ibt=0 to ibt=1 @@ -1407,6 +1408,7 @@ wsp_add_to_queue(struct wsp_softc *sc, int dx, int dy, int dz, buf[6] = dz - (dz >> 1);/* dz - (dz / 2) */ buf[7] = (((~buttons_in) >> 3) & MOUSE_SYS_EXTBUTTONS); } + usb_fifo_put_data_linear(sc->sc_fifo.fp[USB_FIFO_RX], buf, sc->sc_mode.packetsize, 1); } From nobody Fri Mar 7 17:55: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 4Z8Yq21xnMz5pv71; Fri, 07 Mar 2025 17:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8Yq156Fkz3YCB; Fri, 07 Mar 2025 17:55:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y3TOtHdkevCkiUp7LzLUqmA/a0fEChQOGSlDOa+zbfU=; b=tJbnu4wspuk+uOTVhiEO4tcNP4jVwQb7y3VZe9DJz/k7m4jRIbm5tAx/OaIO9T5HR1QXcY wSJ4h9XtOB6B5ptpeXzqHuVxlGz4RoiEVPPMpDhv6d/AAfQWcdXseCCHi6jmCZbcGEPb+o sh/nzPpBNGabZ7xwOqdA7WfeRveP3gJm04g6YsAZkemwl4+3yfDK7Euys+6EHIpe1LL/iI RM95E5VM59/ofeJnhYPqmJSOKtFqxwb2mgS91CZp/68Cxd4/FT0fPGYWiQjukE+opQATb0 XnWWMnpInN3Mk20QJ501caAyAtB94y2rCWqQj8eH7YSHAM/7wDdlfoMe5/cpqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741370125; a=rsa-sha256; cv=none; b=opPQyJAJHFJPZVX2lwUG5VuN7N8/uiZfDJxNKRIuCjZn25mBR/ynr8BhyHaUCV3okNZF8v kcLGB8zfxklIxMJ0jidOk9O0l5vZM3S+w2LyLF20vIdBmIOWpKulVYlIeQXOylTZjgni7O YlIv6of1jtHnfXD9fqWfN+rDzFTkZ4GI0o9g3WtXkn+smROdn/73w0FvrKDtoheadq4xz7 4CbmXPmVtzcXCer1HILSL4BPJs9SAcbinBptsP6wDLR8jQkuS6emwXmrQJBy07vl554U6z r98ZnFqpwxvgzaJpjww6NJtu5SVBF3HjGDnIgbkdAeGKaCTecgOXc5iroZSIMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741370125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y3TOtHdkevCkiUp7LzLUqmA/a0fEChQOGSlDOa+zbfU=; b=utSTnjAPz2aXH+yFD/WyOXm2gRWxc/cUsEnanSqqQXeTwI2Vx6L51yypLt5Z+jGWW61azM Z/OvnqO61N4KyE9hktfUGn7gXmkFLMkAf52sM9rXoqm6hL1sv+FQTTTyYbyJi1rBy4xmbW Le8s1TAUEWABnNej9DFfx7FEi6/WMxc/c5jj2aNmqgCM0C6+SjjSqUj5RKRS2+0WUHancx JroXbNJdnZyypqPkwma8qZhzqyXkTlQV7OKhMyVvbweSCBvqyD9BlkAFqhgBxEulrG7uYW oDb8mB0iLCJxkWlYUDD03oj2MuIo/Pw93hg/cciotHxXq8ulr0F7G4Bf2pJTKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8Yq14jNgznbC; Fri, 07 Mar 2025 17:55: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 527HtPXd083686; Fri, 7 Mar 2025 17:55:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527HtPIw083683; Fri, 7 Mar 2025 17:55:25 GMT (envelope-from git) Date: Fri, 7 Mar 2025 17:55:25 GMT Message-Id: <202503071755.527HtPIw083683@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: 25cefe826504 - main - wsp: Change Nm to Va in manpage. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 25cefe826504190feefa762356badcf1ce1c0fd3 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=25cefe826504190feefa762356badcf1ce1c0fd3 commit 25cefe826504190feefa762356badcf1ce1c0fd3 Author: Joshua Rogers AuthorDate: 2025-03-07 17:53:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-03-07 17:53:35 +0000 wsp: Change Nm to Va in manpage. Signed-off-by: Joshua Rogers --- share/man/man4/wsp.4 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man4/wsp.4 b/share/man/man4/wsp.4 index 9fcec5133830..b08449f9e71f 100644 --- a/share/man/man4/wsp.4 +++ b/share/man/man4/wsp.4 @@ -67,9 +67,9 @@ pressure detection, tap support, and gestures. At least the second bit of the .Xr sysctl 8 tunable -.Nm kern.evdev.rcpt_mask +.Va kern.evdev.rcpt_mask must be set. This can be enabled with -.Nm kern.evdev.rcpt_mask=3 . +.Va kern.evdev.rcpt_mask=3 . .Pp Vertical scrolling (z-axis) is enabled by default with a two-finger tap and the movement of a finger up and down. @@ -78,12 +78,12 @@ protocol, therefore must be enabled with evdev data. This can be enabled with the .Xr sysctl 8 tunable -.Nm kern.evdev.sysmouse_t_axis=3. +.Va kern.evdev.sysmouse_t_axis=3. Horizontal scrolling can be used with a two-finger tap and the movement of a finger from side to side. The .Xr sysctl 8 tunable -.Nm hw.usb.wsp.t_factor +.Va hw.usb.wsp.t_factor must be greater than 0 for horizontal scrolling to be enabled, too. .Pp Horizontal swiping with a three-finger tap is registered as mouse buttons From nobody Fri Mar 7 20:16: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 4Z8cy66jBrz5q5lk; Fri, 07 Mar 2025 20:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8cy65sg7z47CX; Fri, 07 Mar 2025 20:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741378606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzwT/m7PxA3gBQpXY7Nf5R9JCJN0NYeOicEceXwriSs=; b=cSGpOiE2cU9OXd4GAxVwo6Kxt1gcGWheKAMyBOrJ+Qzye4RWB2qNFA8+i+//l/H8IOdGhv X4pA7OTcbpOmGvuasfD7E5hCoVjXQKiqyBhLMcdkp0TMs7osZq+dYGqnepjNdE+O1BFo9r HKwKW4XXsinKKoyNR7QtMM/o60Mf/GsamHuByyeOvbJXZjApF0xrCwfYwXk4AguAlpSpFj 3ovnqwSA7ZDmJfBUFzut0fN/QTnCc3FMJ+9sZFHi+iLaecs6Cv98Jrrma4Ui2WmN0+pQj5 QUEUmM0d6ZR2qtus6NpuCCvP89zuLkHclW4WmPm4koYDnMcw2XmTACc3b6BMHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741378606; a=rsa-sha256; cv=none; b=J1k+x24QRLCMeXDlPGFyRoLfwDAg4WRZJ58QS5Z28xFkQ2X7uq6LMBmKAZRDJ40x29gQ6m QtPMtUeef1aP4QkFJrL8cCQV671/MuKe4LtQ7MJkMZbqDm0xYRkbvkBkCbyeTxVeC31GGJ EIHZMWDIRyQM4MlNkLEtskhm4N/mYmMdSnWnbkoj9BAszeykcGkuhVOVQ55zbF7Lx/dmIA pEwdt8uqk3GjTlmrgAFcgBBdozTHADLTV4g5OFYBmmTyd5E8Y6Gsuw2F8qNKYuHshUtGFZ afI6yAs2+6Ua9f/QR+QFI7/ncv+6JCt0tsXIpwc2xt0cz+5wExAMOq6otFivZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741378606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzwT/m7PxA3gBQpXY7Nf5R9JCJN0NYeOicEceXwriSs=; b=SzUDwrpoN4WLXdt0WmJiJ9tBcYcO0Tb8HTxnfkw1tSvv77RdKX0SRXiBd/V3IiXjxbQbbw mMHaUqYdjykWpVlXIQ+/HSvX6L7x3GvlTCtzFwcW8yfaV6pvF8CMXqZn3kMgp3VM2mskkL fz158YUJ9slfhj0By+Ujccdb09NlbBiitzpZPamRlbvfUC1ter4I5CLfywjaYizR29kZ+e Cly4l4gn0zmCDe90Rl+JtYPZe+3+JKjievp2CPDXx7o4ndfYqnXIYPFea8n4bXYMvd45LE 7fsMek8SFwDWx/RuGjP/bn1y2pvPmWPVBsPLv3AlQ88vnhXaaBVyVjEfp0JuxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8cy65Sm0zrqK; Fri, 07 Mar 2025 20:16: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 527KGk1G047822; Fri, 7 Mar 2025 20:16:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527KGkJi047819; Fri, 7 Mar 2025 20:16:46 GMT (envelope-from git) Date: Fri, 7 Mar 2025 20:16:46 GMT Message-Id: <202503072016.527KGkJi047819@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: 780a4667bbde - main - wg.4: Document kernel config 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: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 780a4667bbde0daa90db900bb0f93f6337d6208b Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=780a4667bbde0daa90db900bb0f93f6337d6208b commit 780a4667bbde0daa90db900bb0f93f6337d6208b Author: Lexi Winter AuthorDate: 2025-02-12 12:18:15 +0000 Commit: Alexander Ziaee CommitDate: 2025-03-07 20:15:40 +0000 wg.4: Document kernel config option wg(4) can be compiled into the kernel (device wg), but the wg.4 manpage does not document this. Adjust it to mention this like other drivers do. MFC after: 3 days Reviewed by: carlavilla, kevans, ziaee Approved by: carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1597 --- share/man/man4/wg.4 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/man/man4/wg.4 b/share/man/man4/wg.4 index 2f758c2a8e11..8e2fcfe6b863 100644 --- a/share/man/man4/wg.4 +++ b/share/man/man4/wg.4 @@ -23,14 +23,21 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 12, 2023 +.Dd February 12, 2025 .Dt WG 4 .Os .Sh NAME .Nm wg .Nd "WireGuard protocol driver" .Sh SYNOPSIS -To load the driver as a module at boot time, place the following line in +To compile this driver into the kernel, +place the following lines in your kernel configuration file: +.Bd -ragged -offset indent +.Cd "device wg" +.Ed +.Pp +Alternatively, to load the driver as a module at boot time, +place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_wg_load="YES" From nobody Fri Mar 7 20:19: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 4Z8d1T4Q7Xz5q6BJ; Fri, 07 Mar 2025 20:19:41 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8d1T3VRTz47hj; Fri, 07 Mar 2025 20:19:41 +0000 (UTC) (envelope-from bz@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741378781; 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=XZ1veZjraIY8cuof0G5SSMqLX9fwtKvFB2a7+QpoTAA=; b=ouxUnOJqRRcVdHt5T4sKQr8Gi/wXj82C39GtPVta3syqtE5GxhAhDHFYSFFdWmFugQYuUE aexcNe8e1xlcF01dFKYPT8f3Dc0imYURlWs5aKLj0/P5tkGxWpM+n8FK7e06lwlU12UDQs sUl0EONAqHzorvWELiWHYGVMLONWBgcYOJOCXcivwzAfPIULAHDUw9eedimHPhfoWOv7se 4+QVaUtiYGvfHXt0UwhZhOmdhhbPSceOaHwkmjDj8kxhf3wxHF515gMyb8PDeVRMNHBdHV 86D14lcbhAGbrQpB5XtN44qqPsJqUJEMvX0bn4VJQYqiZjavwV7jzuSJT1/zQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741378781; a=rsa-sha256; cv=none; b=UuyRMEkWLFdhGog43hrc/Pce7ydYsVT1vowEGG7pJbeceT7tbdja0gGsyzJuDeLetTwOhx ofudwTtBHwzxeWDONvDuBjjIL2ANFCBBnfy1XQgQqagzWtCC526bQARn2PlZw7KQBbYeTz yWS35gTRDc0ZCuNtjuduC7EJsh/7KRfg7grD+ZkfOfrOSigctNFAuz+ogIoliRJ7VPUz3M 0G8c3siU3qEXhxuJjLwXKyvCGwVISCQkONbdlZgZbBfVeSgInvdsHKO9XgaMpDaCogi+YH mYLxGO4zv3JjEOgPs6jhrsaae1wirqeIGmIQevTy47kaHqyPyUN9Jbw/jxDwvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741378781; 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=XZ1veZjraIY8cuof0G5SSMqLX9fwtKvFB2a7+QpoTAA=; b=rOBQnVg/AkolYIMQ/NqfOHCnsiMMpOF2r7mgqdBHqRIq4kZn5OFqEU4Dfgr22KekXgdts6 Mct6URNevf8ImHTY0RsAXScqo8jOtV5rjRi1VvZHCNJtQOi1ZroQzG/mZKJ6W+IU6BsuNm ZOi3h+5Bh2kgFRiXHdtKfel/jDtZLkGKHZxUqLDhZEUVIzcvW4hzpc/sny5hFl6vofydld bt1opjerDoF5Qn8TS1F3nSgxaXlZcb0iOCqaQ511Thgyw3bQcg3Wwc6hXBG/laSpLhgtxO Ng7qsS/8t6Ho3TuSD/MBZbEaQHIlpuRrAvQmeGOdQDmEUnRJ5luLpHSYAryMvw== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E5" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z8d1T0hVBzLgK; Fri, 07 Mar 2025 20:19:41 +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 20325A64805; Fri, 07 Mar 2025 20:19:36 +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 AA6802D029E0; Fri, 7 Mar 2025 20:19:38 +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 bSxYNEkTzy8E; Fri, 7 Mar 2025 20:19:37 +0000 (UTC) Received: from strong-rtwn0.sbone.de (strong-rtwn0.sbone.de [IPv6:fde9:577b:c1a9:4902:da44:89ff:fedd:d5ab]) (using 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 D6FAF2D029D8; Fri, 7 Mar 2025 20:19:36 +0000 (UTC) Date: Fri, 7 Mar 2025 20:19:36 +0000 (UTC) From: "Bjoern A. Zeeb" To: Alexander Ziaee cc: Warner Losh , John Baldwin , "Herbert J. Skuhra" , src-committers , dev-commits-src-all , dev-commits-src-main , Christos Margiolis Subject: Re: git: 4262dbc57982 - main - wifi manuals: Mlink + document description consistency In-Reply-To: Message-ID: <317ns91s-q982-7o54-r0sq-n805p6sqo297@serrofq.bet> References: 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: multipart/mixed; boundary="1098556516-1832358758-1741378777=:4001" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1098556516-1832358758-1741378777=:4001 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Thu, 6 Mar 2025, Alexander Ziaee wrote: > On 2025-03-04 12:07 -05:00 EST, "Warner Losh" wrote: >> On Tue, Mar 4, 2025 at 8:23 AM John Baldwin wrote: >> >>> On 3/4/25 09:25, Bjoern A. Zeeb wrote: >>>> On Tue, 4 Mar 2025, Herbert J. Skuhra wrote: >>>> >>>>> On Thu, 27 Feb 2025 23:22:00 +0100, Alexander Ziaee wrote: >>>>>> >>>>>> The branch main has been updated by ziaee: >>>>>> >>>>>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=4262dbc57982383eb61a8b7806de6dd4b7802da8 >>>>>> >>>>>> commit 4262dbc57982383eb61a8b7806de6dd4b7802da8 >>>>>> Author: Alexander Ziaee >>>>>> AuthorDate: 2025-02-19 15:54:27 +0000 >>>>>> Commit: Alexander Ziaee >>>>>> CommitDate: 2025-02-27 22:20:22 +0000 >>>>>> >>>>>> wifi manuals: Mlink + document description consistency >>>>>> >>>>>> Interfaces all have an mlink to if_$foo. Add these for the >>> missing ones >>>>>> and remove an incorrect one from rtwn_pci. Wireless network >>> drivers are >>>>>> all accessible via `apropos -s4 "wireless network driver", except >>> two >>>>>> which are "wireless network device". I actually prefer the >>> latter, but >>>>>> make them all consistent upon the more common parlance. Tag SPDX >>> on one >>>>>> of the files I touched, while here. >>>>>> >>>>>> MFC after: 3 days >>>>>> Reviewed by: bz, carlavilla, mhorne >>>>>> Approved by: carlavilla, mhorne (mentors) >>>>>> Differential Revision: https://reviews.freebsd.org/D49063 >>>>>> --- >>>>>> share/man/man4/Makefile | 4 +++- >>>>>> share/man/man4/uath.4 | 4 +++- >>>>>> share/man/man4/upgt.4 | 2 +- >>>>>> 3 files changed, 7 insertions(+), 3 deletions(-) >>>>>> >>>>>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile >>>>>> index 13afc9b8d399..8e0af19eec3d 100644 >>>>>> --- a/share/man/man4/Makefile >>>>>> +++ b/share/man/man4/Makefile >>>>>> @@ -764,7 +764,9 @@ MLINKS+=ptnet.4 if_ptnet.4 >>>>>> MLINKS+=ral.4 if_ral.4 >>>>>> MLINKS+=re.4 if_re.4 >>>>>> MLINKS+=rl.4 if_rl.4 >>>>>> -MLINKS+=rtwn_pci.4 if_rtwn_pci.4 >>>>>> +MLINKS+=rtw88.4 if_rtw89.4 >>>>>> +MLINKS+=rtw89.4 if_rtw89.4 >>>>>> +MLINKS+=rtwn.4 if_rtwn.4 >>>>> ^^^^^^^^^ >>>>> $ grep if_rtwn.4 ObsoleteFiles.inc >>>>> OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz >>>> >>>> In fact that is probably correct but things are confusing. >>>> >>>> The modules are called if_rtwn_usb.ko and if_rtwn_pci.ko and those >>>> should have the man page and links (so contrary to what was done). >>>> rtwn.ko is just the common code if I am not mistaken (Adrian should know >>>> better). >>>> >>>> But everyone is just referring to the driver as rtwn and I fear if there >>>> is no man page to be found as man rtwn / man if_rtwn people will be >>>> confused. >>>> >>>> I wanted to do the same with rtw88 but was told to keep it all together >>>> as one so rtwn is an excemption. >>>> >>>> That all said, yes, it needs a further cleanup. >>> >>> The manpages should just be rtwn/if_rtwn. The bus attachment doesn't >>> matter. >>> We don't have separate manpages when a storage adapter has been supported >>> on both PCI and ISA in the past, you just had the ahc(4) driver (for >>> example). >>> USB vs PCI is the same. It should just be a single manpage for the driver >>> regardless of the attachment. If the driver has separate modules that can >>> be documented in the one manpage, but the list of supported chipsets, etc. >>> is presumably shared hence the shared driver name and common code. In >>> particular, the thing a user sees in dmesg is 'rtwn0', not 'rtwn_pci0' so >>> the manpage needs to be tied to what a user sees as a device name in dmesg. >>> >> >> Yea, the man page should mention the detail that we have separate .ko's, but >> otherwise I agree with John here. > > IIUC, all interfaces should be documented as $foo with an mlink (but no additional > name macro) to if_$foo. I've also been pushing for sound to become represented > the same way for consistency, which christos said (paraphrased) no objection. So someone should comment out/remove the old entry in ObsoleteFiles.inc so that the new man page is not deleted again? -- Bjoern A. Zeeb r15:7 --1098556516-1832358758-1741378777=:4001-- From nobody Sat Mar 8 15:34: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 4Z96dP1Ym2z5pM4r; Sat, 08 Mar 2025 15:34:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z96dP05Qwz3MkN; Sat, 08 Mar 2025 15:34:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741448041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sWffmzFSBv7BcZqACUIFBRA8rlrRWg3h/IRDtQeTBcc=; b=NjS+RZOcmoO2qFEqOn51sduNGbeM8s9sMF7NTqZtkq0sdFUc3mkz8lHP4svfxTdOujtuDv iZ38Qq+VU3jc0v6kxGSxZrHPnCjceOYDDcsQl2/DXBvmO4lGmS6F2NLOFKAI7Zotr8iYzy 2UitU3604OrAMSSzmp3GWQd97XbOF7XqyNBS3X1O4BdLmsTcDIooi+zPAjOJAR+58Uw1oO 9ZT7ynicONUrnmPaoZMzKfqECh3CPEhpRbRHKTBBW1ASY97zBnOab8+jJZGt4vCgSLv73Q LwM5owPD5+Y6MtBkveaY7Qzg267mKwNxojpBWClX24hKwxXizkIAEz5Ow4ikog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741448041; a=rsa-sha256; cv=none; b=UW4XnSA8dr9cVp2X1J28PztK0wFVX7EWcCgv1KdeenD5jPGwP8r9EHojrcbnPunWVbPFJc OxNq9o8PG/nJflhnOQqr5KQB4p3MFp4kN0JH/+7iCV5NrZyUB4whl1vRvvZdFIjVQP5YnX TcyHwKn9SE6ew+3kZOo7vk0a2FS0BLah/3Mt1/z4+Y848DQWXHxiwXP4qy2l1PoLdLswdt zPBnF5WWKDLrEMA4vUtQQyf0WdgGriajL6n0hscKZ2sbsN91YAbsoSdEUTEXRlxGJeyb/e jmR5HcEY1RS8i4WiYKAYRe3BPtQdHinUVJ0od/npomS8UfOJJ1wO6AB/T0z4Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741448041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sWffmzFSBv7BcZqACUIFBRA8rlrRWg3h/IRDtQeTBcc=; b=fz6D23b0cPCMLlXz5SScMhcZV36SOfJ+xybCBFNbl9GGJMw1LuhRlW0r8jvKJHC0+6tsuC eLbS5CbkYA60gYsMsrtr7mnpoiOzQkra9BKnDpAMLo3rch2nFajnkGpd8veCBws0RxaVh2 Ii73Af3VETH62jtaose5N5VbhdotZuxwQdTFNdmsjI3lksHzdcVrCxOabo+pkGZrAsj2Q1 guBw0U9U3CudGCqr9Nr0cBD57SGNytlLh4mkd7FJCI5h2deVMtPxLtqy6Y8UrpIG9K9Vtu DRR3WoU42/qnsZ6Iil/EKHMccrA5iHCn2n+Zq80XtKPSI+I2cdCYmgY15yqvtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z96dN652lzD29; Sat, 08 Mar 2025 15:34: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 528FY07W021946; Sat, 8 Mar 2025 15:34:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 528FY0MZ021943; Sat, 8 Mar 2025 15:34:00 GMT (envelope-from git) Date: Sat, 8 Mar 2025 15:34:00 GMT Message-Id: <202503081534.528FY0MZ021943@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: 457c03b397c8 - main - caroot: Ignore soft distrust of server CA certificates after 398 days List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 457c03b397c80d44da92684d417a58b3ca1fed02 Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=457c03b397c80d44da92684d417a58b3ca1fed02 commit 457c03b397c80d44da92684d417a58b3ca1fed02 Author: Michael Osipov AuthorDate: 2025-02-20 09:48:48 +0000 Commit: Michael Osipov CommitDate: 2025-03-08 15:33:44 +0000 caroot: Ignore soft distrust of server CA certificates after 398 days Mozilla introduced the field CKA_NSS_SERVER_DISTRUST_AFTER which indicates that a CA certificate will be distrusted in the future before its NotAfter time. This means that the CA stops issuing new certificates, but previous ones are still valid, but at most for 398 days after the distrust date. See also: * https://bugzilla.mozilla.org/show_bug.cgi?id=1465613 * https://github.com/Lukasa/mkcert/issues/19 * https://gitlab.alpinelinux.org/alpine/ca-certificates/-/merge_requests/16 * https://github.com/curl/curl/commit/448df98d9280b3290ecf63e5fc9452d487f41a7c Tested by: michaelo Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49075 --- secure/caroot/MAca-bundle.pl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/secure/caroot/MAca-bundle.pl b/secure/caroot/MAca-bundle.pl index 4feced90d782..58cfe1cbf6fa 100755 --- a/secure/caroot/MAca-bundle.pl +++ b/secure/caroot/MAca-bundle.pl @@ -37,6 +37,8 @@ use strict; use Carp; use MIME::Base64; use Getopt::Long; +use Time::Local qw( timegm_posix ); +use POSIX qw( strftime ); my $generated = '@' . 'generated'; my $inputfh = *STDIN; @@ -101,13 +103,6 @@ EOH } } -# returns a string like YYMMDDhhmmssZ of current time in GMT zone -sub timenow() -{ - my ($sec,$min,$hour,$mday,$mon,$year,undef,undef,undef) = gmtime(time); - return sprintf "%02d%02d%02d%02d%02d%02dZ", $year-100, $mon+1, $mday, $hour, $min, $sec; -} - sub printcert($$$) { my ($fh, $label, $certdata) = @_; @@ -162,10 +157,15 @@ sub grabcert($) if (/^CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL/) { my $distrust_after = graboct($ifh); - my $time_now = timenow(); - if ($time_now >= $distrust_after) { $distrust = 1; } + my ($year, $mon, $mday, $hour, $min, $sec) = unpack "A2A2A2A2A2A2", $distrust_after; + $distrust_after = timegm_posix( $sec, $min, $hour, $mday, $mon - 1, $year + 100); + my $time_now = time; + # When a CA is distrusted before its NotAfter date, issued certificates + # are valid for a maximum of 398 days after that date. + if ($time_now >= $distrust_after + 398 * 24 * 60 * 60) { $distrust = 1; } if ($debug) { - printf STDERR "line $.: $cka_label ser #%d: distrust after %s, now: %s -> distrust $distrust\n", $serial, $distrust_after, timenow(); + printf STDERR "line $.: $cka_label ser #%d: distrust 398 days after %s, now: %s -> distrust $distrust\n", $serial, + strftime("%FT%TZ", gmtime($distrust_after)), strftime("%FT%TZ", gmtime($time_now)); } if ($distrust) { return undef; From nobody Sat Mar 8 16:08: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 4Z97PV5qX6z5pPWv; Sat, 08 Mar 2025 16:08:46 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z97PV4kbCz3Z6V; Sat, 08 Mar 2025 16:08:46 +0000 (UTC) (envelope-from scf@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741450126; 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=x8SAhEvgad730COPwVyBsHxX8AXPiR+/S0guX+Oeq40=; b=xqfQL/Jc1Y+IqcYCbTvzhGgm6jsiys3rfT25zO471Y7AFS8imPZGb5ZELWRey4eK/yaeVq /uS9ibi8A05L+RowDNpjVBJUUBspnDsMnl3xeFqMf6HVbdfjfa6T77iftHAZm0SApw9drk gPD5hE/60gruPTEaqorGabPJJ3lg2scNZi7k0wY/QzkGSFoRkgL3jo2Zhrjr0yYa3o4j0f LTcLpANF9Ow5z5UqrE4C31VIF3ESbXDj3Iy1JHaf/tnPD3ay0S2l5mfwjDwZiU3+RQ/E0n YHLBtL8ewrEAfWwxJLTtwRk0SCbs96o018LlWSrI1LPnXKFzgmy18WdavOQ99A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741450126; a=rsa-sha256; cv=none; b=R84o3tnBxGC5rQqI5UwPpTJq+2kguMikdOj8S4uZOJH10wyvi3nY96IsaW8fZjI/fwMmgA L9deSr/GYL0Kq3mqk7ufTb/jHmMnJviRFjkE+vJBqZmGCddnJiJ7lICS5DMjoSb1g5IEkX XHplDceO3o+I8e1rGs/buvfPlJnMu5iOI588XlzQjek1tV2EoSx6i6FrwSpxniyAgALnPi Tsi5/hmVptmIC+5QmdqAx7gBP+DtGmjStTk9CtDPSyRUV2tIVvmfgXWmZpFSBzq4ZOk/OJ XMg2HEQOFlfYshnKsFwqjoS06pydT0/1FFstapUOgz32w1mLZxJMQhNSPq/I8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741450126; 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=x8SAhEvgad730COPwVyBsHxX8AXPiR+/S0guX+Oeq40=; b=ilvhLWbJapbIlbEFpegcl6SbRDIjEGM8IvOpj9d5D2yt6BUYRCtfqiUqXDO4XevDaoN/K2 EtLXGEJKzRzCXlTaxzE02Lxr5LLwuBFqcEFxIY+GNU/sJyk3M5qbnp1+UtcZv299Ri+96g AlSWkFFnl9IXprpD73RvwmVypJX3QsMpDOFS7dDkfmdM3xjrkM7W5m5eaQb5I3ZUv2tU8f kGJA6Ef3Dro+n3kAyuYfC5UnCOHjH4LgSzsYGlwe6mTQu6p+pCsVt0C/vxNLtHiTyZNg4K G5uSgmO4JRvc3I6cGpOZ+3wcPrSD4r6lEIA25HU/0gg82+0VUe+teFY8MlmJpQ== Received: from farley.org (farley.org [104.129.130.189]) (using TLSv1.3 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 "mail.farley.org", Issuer "Farley.org Intermediate CA" (not verified)) (Authenticated sender: scf/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Z97PV31J4z14jX; Sat, 08 Mar 2025 16:08:46 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from thor.farley.org (thor.farley.org [192.168.1.5]) by farley.org (8.18.1/8.18.1) with ESMTPS id 528G8i7Z015056 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sat, 8 Mar 2025 11:08:44 -0500 (EST) (envelope-from scf@FreeBSD.org) Date: Sat, 8 Mar 2025 11:08:44 -0500 (EST) From: "Sean C. Farley" To: Jose Luis Duran cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 49a4838a0d94 - main - vmm: Emulate testb imm8,r/m8 In-Reply-To: <202503041353.524DrqPO041652@gitrepo.freebsd.org> Message-ID: References: <202503041353.524DrqPO041652@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; format=flowed X-Spam-Status: No, score=-1.0 required=4.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on mail.farley.org On Tue, 4 Mar 2025, Jose Luis Duran wrote: > The branch main has been updated by jlduran: > > URL: https://cgit.FreeBSD.org/src/commit/?id=49a4838a0d94e145a826abf02aa03ff444e614e3 > > commit 49a4838a0d94e145a826abf02aa03ff444e614e3 > Author: Jose Luis Duran > AuthorDate: 2025-03-04 13:51:47 +0000 > Commit: Jose Luis Duran > CommitDate: 2025-03-04 13:51:47 +0000 > > vmm: Emulate testb imm8,r/m8 > > Add support for "testb imm8,r/m8" emulation. > > PR: 261940 > PR: 282852 > Reviewed by: markj, emaste > Approved by: emaste (mentor) > Obtained from: Illumos (https://www.illumos.org/issues/14483) > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D49208 Thank you! Sean -- scf@FreeBSD.org From nobody Sat Mar 8 16:13: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 4Z97W94036z5pQ1l; Sat, 08 Mar 2025 16:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z97W93Hfsz3bHL; Sat, 08 Mar 2025 16:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741450421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZYfD2ZNhCgstJH+MkYww5TX3PhSTk4JIUTlawdug4k=; b=fLOm5LVqGdG0QXp+tgP0zZEaMs1c4AQzAJe53Hi/ZV/aq8XM53LIOloXax9fG1RcF3uAaR VmHbDFZRjUDUmglLt1DmaMLv6NtGta/MldQrf+tsmS9BnnhRc1ntq2Ob/SfX9GmZgLfASO uNDQ9zaz4ic4a8xgTv5TGVLSWuMRq/1rz+c90xoMjqxXSlg+NtxfVwMy9T2gq7BNO6zNjU U8hhPcEIylkTXbwwTogsTw47iEJJ/l6srWiDUC9F4rlZ+0ZiEd1CRRJuD2YN5VUTLD6NE5 j/wz6Zm2tAgaeR0uUBQUDiluD+llVeEQgFnGpNntrBc0sI0GD1jr8M6I4SoakQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741450421; a=rsa-sha256; cv=none; b=ZAxYjdKNPsou28XOLUZoDoNzlAaths3APzKRScJVgitz2Uahbk6lfMNIZ+IF3n2e1oVvVd C4P0bxlwmtW9RR8eVV1TggYhEEfEuqjTEL3rce5f/0MbEuTPmIIaGul45iYt3y2tXMbT44 YjwOGdRuBTEaLAES6TZkgpVS9esdoJp9qehrwGVq9pwm1FDskkOwspX1uxH9XEbjUo886z 3s3VcEG821aEZp0E2CsLy02J2tryoJ2payjPS1bqr1t90AE5+XYeji7s/U44nt1UKgKbaC CczbF4Ok7QaHAVll+iVsEfjWhmKKKQ94g4Z0jeKkOUOoJVI0Idtyz7V2oT9EFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741450421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZYfD2ZNhCgstJH+MkYww5TX3PhSTk4JIUTlawdug4k=; b=Z2dqlagCdynSMfvkuN5ab0TjgM702LZLugZw27USgJ0TIRP+9YbW9vt+k4RnljlHJtWdtT DvlYTn/hdUA9KFbBqSYcGPdojB8sjEmsn8GKy1lq9Mb2aKT87INbYIwJfY392ITVQdWVm/ j5tDYfd29Xob0CtFqRBt/Ec4/gHaXomzfykTXc0eIrRlNaq75t9HRGM7zGVdsI61E7m9nU JwJKQGuLxDxSyOP0YLuYGcymoVRc5YNDPGgKs5hR/bVU9BbkeSG29A5SCUu9c+UNQ8pXiE 5rKXSJAQxZfYpQzlq/WxPZcAVS9RNcq6ZIADtwrGSo7xEbUIZLSDsPboPcEpTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z97W92t5XzVfL; Sat, 08 Mar 2025 16:13: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 528GDfYX096824; Sat, 8 Mar 2025 16:13:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 528GDffo096820; Sat, 8 Mar 2025 16:13:41 GMT (envelope-from git) Date: Sat, 8 Mar 2025 16:13:41 GMT Message-Id: <202503081613.528GDffo096820@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: 7bd8da72c581 - main - sh(1): Replace recommendation of use of -e with a note List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7bd8da72c5814b486ae7f492286fe3ac0a5bf03d Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=7bd8da72c5814b486ae7f492286fe3ac0a5bf03d commit 7bd8da72c5814b486ae7f492286fe3ac0a5bf03d Author: Michael Osipov AuthorDate: 2024-05-03 07:57:06 +0000 Commit: Michael Osipov CommitDate: 2025-03-08 16:13:25 +0000 sh(1): Replace recommendation of use of -e with a note This partially reverts b14cfdf665bb8b7b2898a4ee5b073ab87f8ea3d0 and has been discussed in D42719. Reviewed by: jrm (mentor), otis (mentor), mandree, ziaee (manpages) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D45073 --- bin/sh/sh.1 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index 768193905c49..5458f5f6f37c 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 27, 2025 +.Dd March 8, 2025 .Dt SH 1 .Os .Sh NAME @@ -238,11 +238,9 @@ If a shell function is executed and its exit status is explicitly tested, all commands of the function are considered to be tested as well. .Pp -It is recommended to check for failures explicitly -instead of relying on -.Fl e -because it tends to behave in unexpected ways, -particularly in larger scripts. +Note that many commands return non-zero values to convey information other +than errors, which can cause unexpected program termination with +.Fl e . .It Fl f Li noglob Disable pathname expansion. .It Fl h Li trackall From nobody Sat Mar 8 17:05: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 4Z98gM0Zntz5pT2t; Sat, 08 Mar 2025 17:05:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z98gK6FC0z3wrc; Sat, 08 Mar 2025 17:05:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741453549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZ3gWjpqZdJYi6wCBylpNkobE3PgGwLv6UTQFRA0Hb8=; b=tudnIpQarDgl150HOkx3FyauSkfekOVQadFdp2FsGJKgjweAAJbynNotGvuK38H4n+nntk 0bdUXCR7IYMpTK6YXqOS0VzQwezfiRwynmIy2XOv5wYUWas25UhW+WI5SxFU/T+r6+2awV i89Oa6sZKgPIeLI/MgE/pAaRFZFjEPJQVCoF7+OJH1MaHlYSJDIkkNmFlszWrgyeApq8o5 IxuOxP6FWjINQAg18RlX8LkiW+LljQ5F9o/c5qSBQlp+qunodNDov/AX6x2LyLkI3vINe1 VNFK6UmBhidt191ApC/tu5pCK+JS6t4I+x2EkgQlPkPexWqYaVb1WJ+iIRRrfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741453549; a=rsa-sha256; cv=none; b=tvrwwW8daxTzM2ssFyw3gKBlyyUo5g+ZqFEwiQPvkMoMeGAauSqS+mc6iM30CUE0h5nYHo fq7iJylya3psLMh9Gfx0TlSj1DMcvsM9uLQnMV6Hp1R7UJkiYczY2cEcCaWXp47+TJROV1 ///wwnYbk+IxX01v/1WA+0YARNpw4j09zGopOoRv8tDg/az1dqpjvfsuQWhhtAW3QRvhnV GwF5RzvNl2Iz7yHRiNbFAIJu9JdHHVVTbU4rP3uyy6jJBkKOv9IauFa3TB8hiM+bnIyGJq rTUbFJVluJ/3UX5eWZfOdU9iRmrUuOuyDA2DPxUsBButj1Emcz8wxKIGXOZ6JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741453549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZ3gWjpqZdJYi6wCBylpNkobE3PgGwLv6UTQFRA0Hb8=; b=nIpnISiEe0hzQSUbnSC7VwuKOFbWPqBJO5B0MSESTy4djHi1/7WHxLlYD9/lTw1T7w4qo7 oxZOpsS6pQiEEwiHom9YsrMFUwU4otVud11X5XszqcLL77ccKHVqbLAHXGJdGDjNamqRcO ++t5DT60RTZTHDjFpF9/y5NCXpbNlWM8USU3CwvZWKUyFYnKAlcTA44Nws2zVlmT9PpjHO DZQ1Qqd2/bVbX1seWAp3SUAehiJH58zCpwIAQvEKXPPhrYOtvOtLyNgRdGs07TgeyoC1wz qKE04sYTYqpqyvuXItT2lyEro2d0dAIiaz3dHACB0vxekz+70zUkPT9ntbhm9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z98gK5qwSzYCQ; Sat, 08 Mar 2025 17:05: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 528H5nU9090639; Sat, 8 Mar 2025 17:05:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 528H5nic090636; Sat, 8 Mar 2025 17:05:49 GMT (envelope-from git) Date: Sat, 8 Mar 2025 17:05:49 GMT Message-Id: <202503081705.528H5nic090636@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: 9dc4bcb1a63a - main - build(7): Document KERNBUILDDIR List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9dc4bcb1a63acbbe32b4e80b690a843dd37315e7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9dc4bcb1a63acbbe32b4e80b690a843dd37315e7 commit 9dc4bcb1a63acbbe32b4e80b690a843dd37315e7 Author: Warner Losh AuthorDate: 2025-03-08 01:32:58 +0000 Commit: Warner Losh CommitDate: 2025-03-08 16:59:03 +0000 build(7): Document KERNBUILDDIR KERNBUILDDIR is used by kmod.mk to find the opt_*.h when matching a kernel to the module. Usually one doesn't need this nob (since most modules are option invariant or default to the default options everyone uses), but there are times this generalization doesn't hold. Sponsored by: Netflix --- share/man/man7/build.7 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 1df9b084726f..2195d1147820 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 3, 2025 +.Dd March 8, 2025 .Dt BUILD 7 .Os .Sh NAME @@ -554,6 +554,13 @@ Overrides which kernel to build and install for the various kernel make targets. It defaults to .Cm GENERIC . +.It Va KERNBUILDDIR +Overrides the default directory to get all the opt_*.h files for +building a kernel module. +Useful for stand-alone modules that depend on +.Xr config 8 +options. +Automatically set for modules built with a kernel. .It Va KERNCONFDIR Overrides the directory in which .Va KERNCONF From nobody Sat Mar 8 18:35: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 4Z9BfJ59Nwz5pZcK; Sat, 08 Mar 2025 18:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z9BfJ4V3xz3b3G; Sat, 08 Mar 2025 18:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741458904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9csCkMeq7nylboaScGbWVpjS5SWvTCYZ89tIodoj5I0=; b=R82Jfe0ZxBgFXa1P397397nnwhdm3WPuS9XumsAiuHSjdUKUwI1eQU/hkxw7Bphc7+qSxF CbMh2zsQsQq08TV6XQqDJDUldf22e9Ig+nlTkGG4ONsPzrSODQ+3FusNBc1WkftbSFxhTP tOd9dYW9/m1XnuhmJ88X049ofr/L25i0eU0hTjhjpLH4I0LyitaemPWamIJ0WYon1XrQNv WLgOZASjYYPLnXKhPgXp+RigeFwHQwQ8fspjvPWer3jttd/AoH6v7wUt03K+m8Rg/HqUU8 joXv3jG/P8guENazreyQej8jG6rIOkOc0Pdrb4bQrkvhdBuXAOMOCAoENBtAxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741458904; a=rsa-sha256; cv=none; b=PsR5aizLfWMg/6e9qbJSxYAiOE7eGWjZeWv14rg7L2xtGifxwMKvdFBp67DvIf2+w49/lK dr2t5nAJlDNSDSyIpQly+niTDuMGB5xyn832F69/Qdn8kH/GGrlnEOHOwpGR/RTa+ruF/c K6lerVEkHCxva5IoMSn/tC2dexWLa1q6Hbl7fhisW084tuwKUM8s4Oh34q2xyOcm8T++/S GuB86e2ekmdyC9cJ5JvAzA/PIdb4RcVhb8O/+SkAVZZIiityD1UXfHrNN7ALz7+FQ3ylxh maqXaspV87ud+B4lF+cNFGoDYIja9JbiDENBxrteejKMDmdS2+bJRMNjDulvTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741458904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9csCkMeq7nylboaScGbWVpjS5SWvTCYZ89tIodoj5I0=; b=j12z/Xe5vwzTgiHTfAgBdvTH7hAMPdyhdwskvpJQTLcu0nCFN9DPXv3/lZbz0LJ8iJ60qt /ovEx76Mn9Wyvpw6XWuoJP1Cw3n33yrcqkteDy7baraWcLmfepnpzp0jcsSfdyEv3wxiGp QS1fAZV7foTxwLUXQFbQu2BnHmALnW6HLvKI12YTM+MsnOvn01qxtiHsq3rUAJY+6lVT0L VsTzScnC/OYwyreQ4EPa9mojX408nZ1cmqFInJHHXVHsRvVOxsltHv8XcPCOWfOybI+5k2 zpFf4I1yrcr0JyUqMm2FdAdoR+aalVQPOyGRs9wzzkKoU2iZm51y2yJm8W+X4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z9BfJ45FZzbYC; Sat, 08 Mar 2025 18:35: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 528IZ4D1058262; Sat, 8 Mar 2025 18:35:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 528IZ4aE058259; Sat, 8 Mar 2025 18:35:04 GMT (envelope-from git) Date: Sat, 8 Mar 2025 18:35:04 GMT Message-Id: <202503081835.528IZ4aE058259@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: 1016b3c34435 - main - cam: Update scsi_all.h to reflect 30 years of evolution List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1016b3c344350fa5968f16852e5e4e388c51d817 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1016b3c344350fa5968f16852e5e4e388c51d817 commit 1016b3c344350fa5968f16852e5e4e388c51d817 Author: Warner Losh AuthorDate: 2025-03-08 18:28:50 +0000 Commit: Warner Losh CommitDate: 2025-03-08 18:28:50 +0000 cam: Update scsi_all.h to reflect 30 years of evolution scsi_all.h started out life as a work by Julian Elischer to add SCSI support to CMU Mach 2.5. It was 373 lines. Julian ported this to 386BSD, included in the 386BSD patch kit and incorported into FreeBSD at its creation. Justin used this file when writing CAM, and imported it with the initial CAM import, but only 30% (100 lines) of the original remained. Justin moved from bitfields to bytes in structures, dropped the complex unions, and renamed many structures to have their length appended. Only about 30 structure names and about 40 #defines remained from the original. The define names were taken directly from the SCSI standard with spaces replaced by '_', so had no creativity. Apart from the license comment, there were no comments retained (all the comments in the CAM import were written by Justin and Ken). Even at that time, Justin and Ken could have put their copyrights and names and moved to an acknowledgement of Julian. In the almost 30 years since that original import, this file has grown to 4500 lines. Kenneth Merry, Alexander Motin and Justin Gibbs write 85% of the file's lines, if mechanical commits are omitted. Other contributors contributed less than %5 each of the file. Replace the original license (which lacked a copyright even and has been criticized as ambiguous) with FreeBSD's standard 2-clause license. Add copyrights for Justin, Ken and Alexander, with the date ranges they contributed to the file. Add a note about the origin of the file to acknowledge Julian's original work upon which all this was built, though it's become a ship of Theseus in the mean time, built and rebuild many times. On an absolute scale, there's less than 1% of the current file with lines from the original, and those are named after the names in the SCSI standards and likely wouldn't qualify for copyright protection. Sponsored by: Netflix Reviewed by: mav, ken Differential Revision: https://reviews.freebsd.org/D49016 --- sys/cam/scsi/scsi_all.h | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index 7456998a4f88..4feaee081e55 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -1,18 +1,12 @@ -/*- - * Largely written by Julian Elischer (julian@tfs.com) - * for TRW Financial Systems. - * - * TRW Financial Systems, in accordance with their agreement with Carnegie - * Mellon University, makes this software available to CMU to distribute - * or use in any manner that they see fit as long as this message is kept with - * the software. For this reason TFS also grants any other persons or - * organisations permission to use or modify this software. +/* + * Copyright (c) 1997-2017 Kenneth D. Merry + * Copyright (c) 2012-2020 Alexander Motin + * Copyright (c) 1997-2011 Justin T. Gibbs * - * TFS supplies this software to be publicly redistributed - * on the understanding that TFS is not responsible for the correct - * functioning of this software in any circumstances. + * SPDX-License-Identifier: BSD-2-Clause * - * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 + * Original scsi_all.h from 386BSD was by Julian Elischer at TRW Financial + * Services has been transformed into a new work by subsequent contribtuors. */ /* From nobody Sun Mar 9 11:53: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 4Z9dhc4mHXz5qC7c; Sun, 09 Mar 2025 11:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z9dhc4Ql6z3pJM; Sun, 09 Mar 2025 11:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741521216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vG4pabWGcP7LkPfB8ONLCJmRD2YE/cCDFOFZ4yFI2Uc=; b=yovvnIvD1BkRI/qyxHtVJs0UduZZ49pUDg2ebJPtm3pHDAidbsU6h3eYtIlQ7AkEVJWzK6 1WV1DJNjfYf5LTJXrs8kYbjbUK/0SiRTJPDUOl7WueeUNNWkxGmj2090SneyRozjqHTui6 DlHD0giZ55c6o/SFi+ZP1boCARFumzII3YCW/uPMikVMFOFG13ZYBqkJbpmLyjHmoeoTqa uHlUo1d8J1jPFjsB1RQxvG33VTCQx1+XqzMMktMuaA9tsPq/0308V/9Gb0mMHUO0jfbsZL Sm8T4xZ0VrBO7RvZlUMtBvnJLKFD6zEH7W39QodcgG2fsiMJGHSVyt0H6xz9Uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741521216; a=rsa-sha256; cv=none; b=ls/jum/CzADUImqwJTnQdluYScqjU1l0QQ9uWDti5HBof1Y3i7ywd6phHOzFOf4aRxjLhk 3JMjhX+mX5SmxlrqWgdlfH1NVQ/9wis0gRcCPP4vGwrhJ6F2UcdIRaD1K7FFP2Z3fmhbUT CeUSR/TRLKKc35vxj7svmcIQvM//j1H4+eTn9PkFjKsNgwYHWzm4zSq18jeEc5kURCu+oZ M/pYtu9EB1o2yAVFAoaJYRxRE9guduYksEq5kJfj4FLaUFKSch32coEUPjmBiLNPllXLYZ DyQAP15GjzPQNi8eUFx5x3+eaL4BqmWiH5bIDo5PhEsZwyIo7++igXGOht9mEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741521216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vG4pabWGcP7LkPfB8ONLCJmRD2YE/cCDFOFZ4yFI2Uc=; b=EiHBfSK64CDvCdFNqhMusQ2dl77hVazbKT8PAunWkvdOXZPGPyXVGCPtKeXmZ3v+TZT9t+ 6oRhSlHDOGpcZfouvW13UXxP1TIXA0mJQYHNrIGfOdo8bN607DbNyMSJnIMRN2zHX3xUmB 9XiCvRVSfnU8IxqO6xNXJCSlkQctswVbt/LONW5LgnmwYQPBao/guVvqpGBBX2uFgR/L1q pZzKdtKtl9fSCELAVbgjxkP1OlFmCuY8n+niGonevSfLsadn7Xve0IdqMl3H8G/i5VdL1a 9xRHyC+2EqEgNs1r6jpOyKTSZ1CC/MEHlgIkVY71K0VZEkuJ61AjY3vPPrhxxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z9dhc41j0z17Ch; Sun, 09 Mar 2025 11:53: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 529Brabn097378; Sun, 9 Mar 2025 11:53:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 529BrZm2097371; Sun, 9 Mar 2025 11:53:35 GMT (envelope-from git) Date: Sun, 9 Mar 2025 11:53:35 GMT Message-Id: <202503091153.529BrZm2097371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: d2a8fad35797 - main - zfs: merge openzfs/zfs@fe674998b List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2a8fad3579763bd288260c8c465ab9eb448d465 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d2a8fad3579763bd288260c8c465ab9eb448d465 commit d2a8fad3579763bd288260c8c465ab9eb448d465 Merge: 1016b3c34435 fe674998bb2d Author: Martin Matuska AuthorDate: 2025-03-09 09:24:49 +0000 Commit: Martin Matuska CommitDate: 2025-03-09 11:52:57 +0000 zfs: merge openzfs/zfs@fe674998b Notable upstream pull request merges: #17042 ece35e0e6 zpool: allow relative vdev paths #17046 c43df8bbb vdev_file: unify FreeBSD and Linux implementations #17064 ee8803adc vdev_file: make FLUSH and TRIM asynchronous #17066 ecc44c45c include: move zio_priority_t into zfs.h #17071 ab3db6d15 arc: avoid possible deadlock in arc_read #17079 682c5f6a0 Fix wrong free function in arc_hdr_decrypt #17080 701093c44 Don't try to get mg of hole vdev in removal #17081 d7d274471 Better fill empty metaslabs #17088 a5fb5c55b spa: fix signature mismatch for spa_boot_init as eventhandler required #17089 7f05fface gcm_avx_init: zero the ghash state after hashing the IV #17122 fe674998b Check portable objset MAC even if local is zeroed Obtained from: OpenZFS OpenZFS commit: fe674998bb2d0912660d8aa3f2904b70f57497b0 sys/conf/files | 2 +- .../openzfs/.github/workflows/checkstyle.yaml | 2 +- .../.github/workflows/scripts/qemu-2-start.sh | 9 + .../.github/workflows/scripts/qemu-3-deps-vm.sh | 232 + .../.github/workflows/scripts/qemu-3-deps.sh | 238 +- .../.github/workflows/scripts/qemu-4-build-vm.sh | 370 + .../.github/workflows/scripts/qemu-4-build.sh | 150 +- .../.github/workflows/scripts/qemu-5-setup.sh | 4 +- .../.github/workflows/scripts/qemu-7-prepare.sh | 5 +- .../workflows/scripts/qemu-prepare-for-build.sh | 8 + .../.github/workflows/scripts/qemu-test-repo-vm.sh | 90 + .../.github/workflows/scripts/qemu-wait-for-vm.sh | 10 + .../scripts/replace-dupes-with-symlinks.sh | 32 + .../.github/workflows/zfs-qemu-packages.yml | 140 + sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 31 +- sys/contrib/openzfs/.github/workflows/zloop.yml | 2 +- sys/contrib/openzfs/META | 2 +- sys/contrib/openzfs/cmd/zdb/zdb.c | 6 +- sys/contrib/openzfs/include/Makefile.am | 1 - sys/contrib/openzfs/include/sys/dmu.h | 1 - sys/contrib/openzfs/include/sys/fs/zfs.h | 23 +- sys/contrib/openzfs/include/sys/spa.h | 2 +- sys/contrib/openzfs/include/sys/zio.h | 4 +- sys/contrib/openzfs/include/sys/zio_priority.h | 47 - sys/contrib/openzfs/lib/libzpool/Makefile.am | 2 +- .../openzfs/lib/libzutil/zutil_device_path.c | 15 + sys/contrib/openzfs/module/Kbuild.in | 2 +- sys/contrib/openzfs/module/Makefile.bsd | 2 +- sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 3 +- .../openzfs/module/os/freebsd/zfs/vdev_file.c | 342 - sys/contrib/openzfs/module/zfs/arc.c | 28 +- sys/contrib/openzfs/module/zfs/dsl_crypt.c | 7 +- sys/contrib/openzfs/module/zfs/dsl_scan.c | 2 +- sys/contrib/openzfs/module/zfs/metaslab.c | 9 + sys/contrib/openzfs/module/zfs/spa.c | 2 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 3 +- .../openzfs/module/{os/linux => }/zfs/vdev_file.c | 99 +- sys/contrib/openzfs/module/zfs/vdev_removal.c | 4 +- sys/contrib/openzfs/module/zfs/zio.c | 19 +- sys/contrib/openzfs/scripts/convert_wycheproof.pl | 235 + sys/contrib/openzfs/scripts/zfs-tests.sh | 16 +- sys/contrib/openzfs/tests/runfiles/bclone.run | 1 - sys/contrib/openzfs/tests/runfiles/common.run | 12 +- sys/contrib/openzfs/tests/runfiles/freebsd.run | 1 - sys/contrib/openzfs/tests/runfiles/linux.run | 1 - sys/contrib/openzfs/tests/runfiles/longevity.run | 1 - .../openzfs/tests/runfiles/perf-regression.run | 1 - sys/contrib/openzfs/tests/runfiles/sanity.run | 1 - sys/contrib/openzfs/tests/runfiles/sunos.run | 1 - .../tests/test-runner/bin/test-runner.py.in | 27 +- sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 + .../openzfs/tests/zfs-tests/cmd/crypto_test.c | 1246 +++ .../openzfs/tests/zfs-tests/include/commands.cfg | 1 + .../openzfs/tests/zfs-tests/include/default.cfg.in | 2 +- .../openzfs/tests/zfs-tests/include/libtest.shlib | 8 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 12 +- .../tests/functional/acl/off/posixmode.ksh | 2 +- .../tests/functional/arc/dbufstats_001_pos.ksh | 4 +- .../tests/functional/arc/dbufstats_002_pos.ksh | 2 +- .../functional/block_cloning/block_cloning.kshlib | 10 +- .../cli_root/zfs_mount/zfs_mount_test_race.ksh | 12 +- .../cli_root/zfs_send/zfs_send_007_pos.ksh | 4 +- .../zpool_import/zpool_import_rename_001_pos.ksh | 2 +- .../zpool_iostat/zpool_iostat_-c_homedir.ksh | 4 +- .../zpool_status/zpool_status_-c_homedir.ksh | 4 +- .../tests/zfs-tests/tests/functional/crypto/README | 7 + .../tests/functional/crypto/aes_ccm_test.json | 8602 ++++++++++++++++++++ .../tests/functional/crypto/aes_ccm_test.txt | 6074 ++++++++++++++ .../tests/functional/crypto/aes_gcm_test.json | 4839 +++++++++++ .../tests/functional/crypto/aes_gcm_test.txt | 3478 ++++++++ .../tests/functional/crypto/icp_aes_ccm.ksh | 27 + .../tests/functional/crypto/icp_aes_gcm.ksh | 27 + .../tests/functional/dedup/dedup_prune.ksh | 96 + .../tests/functional/dedup/dedup_zap_shrink.ksh | 82 + .../functional/fault/suspend_resume_single.ksh | 5 +- .../functional/redacted_send/redacted_panic.ksh | 2 +- .../functional/removal/removal_check_space.ksh | 14 +- .../removal/removal_multiple_indirection.ksh | 24 +- .../functional/removal/removal_reservation.ksh | 12 +- .../tests/functional/removal/removal_with_add.ksh | 14 +- .../functional/removal/removal_with_errors.ksh | 16 +- .../functional/removal/removal_with_faulted.ksh | 12 +- .../tests/functional/removal/removal_with_hole.ksh | 34 + .../functional/removal/removal_with_indirect.ksh | 13 +- .../tests/functional/removal/removal_with_zdb.ksh | 2 +- .../functional/removal/remove_attach_mirror.ksh | 9 +- .../tests/functional/removal/remove_expanded.ksh | 10 +- .../tests/functional/removal/remove_mirror.ksh | 11 +- .../tests/functional/removal/remove_raidz.ksh | 18 +- .../tests/functional/snapshot/snapshot_002_pos.ksh | 2 +- .../tests/functional/snapshot/snapshot_006_pos.ksh | 2 +- .../user_namespace/user_namespace_004.ksh | 2 +- .../functional/zvol/zvol_misc/zvol_misc_fua.ksh | 4 +- .../functional/zvol/zvol_misc/zvol_misc_trim.ksh | 4 +- .../functional/zvol/zvol_stress/zvol_stress.ksh | 2 +- .../zvol/zvol_swap/zvol_swap_001_pos.ksh | 6 +- .../zvol/zvol_swap/zvol_swap_002_pos.ksh | 6 +- sys/modules/zfs/Makefile | 2 +- sys/modules/zfs/zfs_config.h | 5 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 101 files changed, 26003 insertions(+), 1028 deletions(-) diff --cc sys/conf/files index e6987c8f1fc9,000000000000..157cda2c4b60 mode 100644,000000..100644 --- a/sys/conf/files +++ b/sys/conf/files @@@ -1,5285 -1,0 +1,5285 @@@ +# +# The long compile-with and dependency lines are required because of +# limitations in config: backslash-newline doesn't work in strings, and +# dependency lines other than the first are silently ignored. +# +acpi_quirks.h optional acpi \ + dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + no-obj no-implicit-rule before-depend \ + clean "acpi_quirks.h" +bhnd_nvram_map.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -h" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map.h" +bhnd_nvram_map_data.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -d" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map_data.h" +fdt_static_dtb.h optional fdt fdt_dtb_static \ + compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.OBJDIR}'" \ + dependency "${FDT_DTS_FILE:T:R}.dtb" \ + no-obj no-implicit-rule before-depend \ + clean "fdt_static_dtb.h" +feeder_eq_gen.h optional sound \ + dependency "$S/tools/sound/feeder_eq_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_eq_gen.h" +feeder_rate_gen.h optional sound \ + dependency "$S/tools/sound/feeder_rate_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_rate_gen.h" +font.h optional sc_dflt_font \ + compile-with "uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ + no-obj no-implicit-rule before-depend \ + clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" +snd_fxdiv_gen.h optional sound \ + dependency "$S/tools/sound/snd_fxdiv_gen.awk" \ + compile-with "${AWK} -f $S/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "snd_fxdiv_gen.h" +miidevs.h optional miibus | mii \ + dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + no-obj no-implicit-rule before-depend \ + clean "miidevs.h" +kbdmuxmap.h optional kbdmux_dflt_keymap \ + compile-with "${KEYMAP} -L ${KBDMUX_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "kbdmuxmap.h" +teken_state.h optional sc | vt \ + dependency "$S/teken/gensequences $S/teken/sequences" \ + compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ + no-obj no-implicit-rule before-depend \ + clean "teken_state.h" +ukbdmap.h optional ukbd_dflt_keymap \ + compile-with "${KEYMAP} -L ${UKBD_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "ukbdmap.h" +usbdevs.h optional usb | hid \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs.h" +usbdevs_data.h optional usb \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs_data.h" +sdiodevs.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs.h" +sdiodevs_data.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs_data.h" +cam/cam.c optional scbus +cam/cam_compat.c optional scbus +cam/cam_iosched.c optional scbus +cam/cam_periph.c optional scbus +cam/cam_queue.c optional scbus +cam/cam_sim.c optional scbus +cam/cam_xpt.c optional scbus +cam/ata/ata_all.c optional scbus +cam/ata/ata_xpt.c optional scbus +cam/ata/ata_pmp.c optional scbus +cam/nvme/nvme_all.c optional scbus +cam/nvme/nvme_da.c optional nda | da +cam/nvme/nvme_xpt.c optional scbus +cam/scsi/scsi_xpt.c optional scbus +cam/scsi/scsi_all.c optional scbus +cam/scsi/scsi_cd.c optional cd +cam/scsi/scsi_ch.c optional ch +cam/ata/ata_da.c optional ada | da +cam/ctl/ctl.c optional ctl +cam/ctl/ctl_backend.c optional ctl +cam/ctl/ctl_backend_block.c optional ctl +cam/ctl/ctl_backend_ramdisk.c optional ctl +cam/ctl/ctl_cmd_table.c optional ctl +cam/ctl/ctl_frontend.c optional ctl +cam/ctl/ctl_frontend_cam_sim.c optional ctl +cam/ctl/ctl_frontend_ioctl.c optional ctl +cam/ctl/ctl_frontend_iscsi.c optional ctl cfiscsi +cam/ctl/ctl_ha.c optional ctl +cam/ctl/ctl_nvme_all.c optional ctl +cam/ctl/ctl_nvme_cmd_table.c optional ctl +cam/ctl/ctl_scsi_all.c optional ctl +cam/ctl/ctl_tpc.c optional ctl +cam/ctl/ctl_tpc_local.c optional ctl +cam/ctl/ctl_error.c optional ctl +cam/ctl/ctl_util.c optional ctl +cam/ctl/scsi_ctl.c optional ctl +cam/mmc/mmc_xpt.c optional scbus mmccam +cam/mmc/mmc_sim.c optional scbus mmccam +cam/mmc/mmc_sim_if.m optional scbus mmccam +cam/mmc/mmc_da.c optional scbus mmccam da +cam/scsi/scsi_da.c optional da +cam/scsi/scsi_pass.c optional pass +cam/scsi/scsi_pt.c optional pt +cam/scsi/scsi_sa.c optional sa +cam/scsi/scsi_enc.c optional ses +cam/scsi/scsi_enc_ses.c optional ses +cam/scsi/scsi_enc_safte.c optional ses +cam/scsi/scsi_sg.c optional sg +cam/scsi/scsi_targ_bh.c optional targbh +cam/scsi/scsi_target.c optional targ +cam/scsi/smp_all.c optional scbus + +# shared between zfs and dtrace +cddl/compat/opensolaris/kern/opensolaris.c optional dtrace compile-with "${CDDL_C}" +cddl/compat/opensolaris/kern/opensolaris_proc.c optional zfs | dtrace compile-with "${CDDL_C}" +contrib/openzfs/module/os/freebsd/spl/spl_misc.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_cmn_err.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_taskq.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kmem.c optional zfs | dtrace compile-with "${ZFS_C}" + +#zfs solaris portability layer +contrib/openzfs/module/os/freebsd/spl/acl_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/callb.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_dtrace.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kstat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_policy.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_procfs_list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_string.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sunddi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sysevent.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_uio.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zone.c optional zfs compile-with "${ZFS_C}" + + + +# zfs specific + +#zfs avl +contrib/openzfs/module/avl/avl.c optional zfs compile-with "${ZFS_C}" + +# zfs lua support +contrib/openzfs/module/lua/lapi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lauxlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lbaselib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcode.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcompat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcorolib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lctype.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldebug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldo.c optional zfs compile-with "${ZFS_C} ${NO_WINFINITE_RECURSION}" +contrib/openzfs/module/lua/lfunc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lgc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/llex.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lmem.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lobject.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lopcodes.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lparser.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstate.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstring.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstrlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltable.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltablib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lvm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lzio.c optional zfs compile-with "${ZFS_C}" + +# zfs nvpair support +contrib/openzfs/module/nvpair/fnvpair.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair.c optional zfs compile-with "${ZFS_RPC_C} ${NO_WSTRINGOP_OVERREAD}" +contrib/openzfs/module/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair_alloc_spl.c optional zfs compile-with "${ZFS_C}" + +#zfs platform compatibility code +contrib/openzfs/module/os/freebsd/zfs/abd_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/arc_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/crypto_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/dmu_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/event_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/hkdf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/kmod_core.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/spa_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c optional zfs compile-with "${ZFS_C} -include $S/modules/zfs/zfs_config.h" - contrib/openzfs/module/os/freebsd/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/vdev_label_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_file_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_racct.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_znode_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zvol_os.c optional zfs compile-with "${ZFS_C}" + +#zfs unicode support +contrib/openzfs/module/unicode/u8_textprep.c optional zfs compile-with "${ZFS_C}" + +#zfs checksums / zcommon +contrib/openzfs/module/zcommon/cityhash.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfeature_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_comutil.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_deleg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar4.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_namecheck.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_valstr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zpool_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zprop_common.c optional zfs compile-with "${ZFS_C}" + +# zfs edon-r hash support +contrib/openzfs/module/icp/algs/edonr/edonr.c optional zfs compile-with "${ZFS_C}" + +# zfs blake3 hash support +contrib/openzfs/module/icp/algs/blake3/blake3.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_impl.c optional zfs compile-with "${ZFS_C}" + +# zfs sha2 hash support +contrib/openzfs/module/icp/algs/sha2/sha2_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha256_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha512_impl.c optional zfs compile-with "${ZFS_C}" + +#zfs core common code +contrib/openzfs/module/zfs/abd.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/aggsum.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/arc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/blake3_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/blkptr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bplist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bpobj.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bptree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/brt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/btree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/bqueue.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dbuf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dbuf_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dataset_kstats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_log.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/ddt_zap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_direct.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_diff.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_object.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_objset.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_recv.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_redact.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_send.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_traverse.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_tx.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dmu_zfetch.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dnode.c optional zfs compile-with "${ZFS_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" \ + warning "kernel contains CDDL licensed ZFS filesystem" +contrib/openzfs/module/zfs/dnode_sync.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_bookmark.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_crypt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_dataset.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_deadlist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_deleg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_destroy.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_dir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_pool.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_scan.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_synctask.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/dsl_userhold.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/edonr_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/fm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/gzip.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lzjb.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lz4.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/lz4_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/metaslab.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/mmp.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/multilist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/objlist.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/pathname.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/range_tree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/refcount.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/rrwlock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/sa.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/sha2_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/skein_zfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_checkpoint.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_config.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_errlog.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_history.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_log_spacemap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_misc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/spa_stats.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/space_map.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/space_reftree.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/txg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/uberblock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/unique.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_draid.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_draid_rand.c optional zfs compile-with "${ZFS_C}" ++contrib/openzfs/module/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect_births.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_indirect_mapping.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_initialize.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_label.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_mirror.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_missing.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_queue.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz_math.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_raidz_math_scalar.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_rebuild.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_removal.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_root.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/vdev_trim.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap_leaf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zap_micro.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_get.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_global.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_iter.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_set.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zcp_synctask.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfeature.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_byteswap.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_chksum.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_fm.c optional zfs compile-with "${ZFS_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/openzfs/module/zfs/zfs_fuid.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_ioctl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_log.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_onexit.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_quota.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_ratelimit.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_replay.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_rlock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_sa.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_vnops.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zfs_znode.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zstd/zfs_zstd.c optional zfs zstdio compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zil.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zio.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zio_checksum.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zio_compress.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zio_inject.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zle.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zrlock.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zthr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zfs/zvol.c optional zfs compile-with "${ZFS_C}" + +# dtrace specific +cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c optional dtrace compile-with "${DTRACE_C}" \ + warning "kernel contains CDDL licensed DTRACE" +cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.c optional dtrace compile-with "${DTRACE_C}" +cddl/dev/dtmalloc/dtmalloc.c optional dtmalloc | dtraceall compile-with "${CDDL_C}" +cddl/dev/profile/profile.c optional dtrace_profile | dtraceall compile-with "${CDDL_C}" +cddl/dev/sdt/sdt.c optional dtrace_sdt | dtraceall compile-with "${CDDL_C}" +cddl/dev/fbt/fbt.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}" +cddl/dev/systrace/systrace.c optional dtrace_systrace | dtraceall compile-with "${CDDL_C}" +cddl/dev/prototype.c optional dtrace_prototype | dtraceall compile-with "${CDDL_C}" +fs/nfsclient/nfs_clkdtrace.c optional dtnfscl nfscl | dtraceall nfscl compile-with "${CDDL_C}" +compat/freebsd32/freebsd32_abort2.c optional compat_freebsd32 +compat/freebsd32/freebsd32_capability.c optional compat_freebsd32 +compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32 +compat/freebsd32/freebsd32_misc.c optional compat_freebsd32 +compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32 +compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32 +contrib/ck/src/ck_array.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_barrier_centralized.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_barrier_combining.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_barrier_dissemination.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_barrier_mcs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_barrier_tournament.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_epoch.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_hp.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_hs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_ht.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/ck/src/ck_rhs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include" +contrib/dev/acpica/common/ahids.c optional acpi acpi_debug +contrib/dev/acpica/common/ahuuids.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbcmds.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbconvert.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbdisply.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbexec.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbhistry.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbinput.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbmethod.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbnames.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbobject.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbstats.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbtest.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbutils.c optional acpi acpi_debug +contrib/dev/acpica/components/debugger/dbxface.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmbuffer.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmcstyle.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmdeferred.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmnames.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmopcode.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmresrc.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmresrcl.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmresrcl2.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmresrcs.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmutils.c optional acpi acpi_debug +contrib/dev/acpica/components/disassembler/dmwalk.c optional acpi acpi_debug +contrib/dev/acpica/components/dispatcher/dsargs.c optional acpi +contrib/dev/acpica/components/dispatcher/dscontrol.c optional acpi +contrib/dev/acpica/components/dispatcher/dsdebug.c optional acpi +contrib/dev/acpica/components/dispatcher/dsfield.c optional acpi +contrib/dev/acpica/components/dispatcher/dsinit.c optional acpi +contrib/dev/acpica/components/dispatcher/dsmethod.c optional acpi +contrib/dev/acpica/components/dispatcher/dsmthdat.c optional acpi +contrib/dev/acpica/components/dispatcher/dsobject.c optional acpi +contrib/dev/acpica/components/dispatcher/dsopcode.c optional acpi +contrib/dev/acpica/components/dispatcher/dspkginit.c optional acpi +contrib/dev/acpica/components/dispatcher/dsutils.c optional acpi +contrib/dev/acpica/components/dispatcher/dswexec.c optional acpi +contrib/dev/acpica/components/dispatcher/dswload.c optional acpi +contrib/dev/acpica/components/dispatcher/dswload2.c optional acpi +contrib/dev/acpica/components/dispatcher/dswscope.c optional acpi +contrib/dev/acpica/components/dispatcher/dswstate.c optional acpi +contrib/dev/acpica/components/events/evevent.c optional acpi +contrib/dev/acpica/components/events/evglock.c optional acpi +contrib/dev/acpica/components/events/evgpe.c optional acpi +contrib/dev/acpica/components/events/evgpeblk.c optional acpi +contrib/dev/acpica/components/events/evgpeinit.c optional acpi +contrib/dev/acpica/components/events/evgpeutil.c optional acpi +contrib/dev/acpica/components/events/evhandler.c optional acpi +contrib/dev/acpica/components/events/evmisc.c optional acpi +contrib/dev/acpica/components/events/evregion.c optional acpi +contrib/dev/acpica/components/events/evrgnini.c optional acpi +contrib/dev/acpica/components/events/evsci.c optional acpi +contrib/dev/acpica/components/events/evxface.c optional acpi +contrib/dev/acpica/components/events/evxfevnt.c optional acpi +contrib/dev/acpica/components/events/evxfgpe.c optional acpi +contrib/dev/acpica/components/events/evxfregn.c optional acpi +contrib/dev/acpica/components/executer/exconcat.c optional acpi +contrib/dev/acpica/components/executer/exconfig.c optional acpi +contrib/dev/acpica/components/executer/exconvrt.c optional acpi +contrib/dev/acpica/components/executer/excreate.c optional acpi +contrib/dev/acpica/components/executer/exdebug.c optional acpi +contrib/dev/acpica/components/executer/exdump.c optional acpi +contrib/dev/acpica/components/executer/exfield.c optional acpi +contrib/dev/acpica/components/executer/exfldio.c optional acpi +contrib/dev/acpica/components/executer/exmisc.c optional acpi +contrib/dev/acpica/components/executer/exmutex.c optional acpi +contrib/dev/acpica/components/executer/exnames.c optional acpi +contrib/dev/acpica/components/executer/exoparg1.c optional acpi +contrib/dev/acpica/components/executer/exoparg2.c optional acpi +contrib/dev/acpica/components/executer/exoparg3.c optional acpi +contrib/dev/acpica/components/executer/exoparg6.c optional acpi +contrib/dev/acpica/components/executer/exprep.c optional acpi +contrib/dev/acpica/components/executer/exregion.c optional acpi +contrib/dev/acpica/components/executer/exresnte.c optional acpi +contrib/dev/acpica/components/executer/exresolv.c optional acpi +contrib/dev/acpica/components/executer/exresop.c optional acpi +contrib/dev/acpica/components/executer/exserial.c optional acpi +contrib/dev/acpica/components/executer/exstore.c optional acpi +contrib/dev/acpica/components/executer/exstoren.c optional acpi +contrib/dev/acpica/components/executer/exstorob.c optional acpi +contrib/dev/acpica/components/executer/exsystem.c optional acpi +contrib/dev/acpica/components/executer/extrace.c optional acpi +contrib/dev/acpica/components/executer/exutils.c optional acpi +contrib/dev/acpica/components/hardware/hwacpi.c optional acpi +contrib/dev/acpica/components/hardware/hwesleep.c optional acpi +contrib/dev/acpica/components/hardware/hwgpe.c optional acpi +contrib/dev/acpica/components/hardware/hwpci.c optional acpi +contrib/dev/acpica/components/hardware/hwregs.c optional acpi +contrib/dev/acpica/components/hardware/hwsleep.c optional acpi +contrib/dev/acpica/components/hardware/hwtimer.c optional acpi +contrib/dev/acpica/components/hardware/hwvalid.c optional acpi +contrib/dev/acpica/components/hardware/hwxface.c optional acpi +contrib/dev/acpica/components/hardware/hwxfsleep.c optional acpi +contrib/dev/acpica/components/namespace/nsaccess.c optional acpi \ + compile-with "${NORMAL_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/dev/acpica/components/namespace/nsalloc.c optional acpi +contrib/dev/acpica/components/namespace/nsarguments.c optional acpi +contrib/dev/acpica/components/namespace/nsconvert.c optional acpi +contrib/dev/acpica/components/namespace/nsdump.c optional acpi +contrib/dev/acpica/components/namespace/nseval.c optional acpi +contrib/dev/acpica/components/namespace/nsinit.c optional acpi +contrib/dev/acpica/components/namespace/nsload.c optional acpi +contrib/dev/acpica/components/namespace/nsnames.c optional acpi +contrib/dev/acpica/components/namespace/nsobject.c optional acpi +contrib/dev/acpica/components/namespace/nsparse.c optional acpi +contrib/dev/acpica/components/namespace/nspredef.c optional acpi +contrib/dev/acpica/components/namespace/nsprepkg.c optional acpi +contrib/dev/acpica/components/namespace/nsrepair.c optional acpi +contrib/dev/acpica/components/namespace/nsrepair2.c optional acpi +contrib/dev/acpica/components/namespace/nssearch.c optional acpi +contrib/dev/acpica/components/namespace/nsutils.c optional acpi +contrib/dev/acpica/components/namespace/nswalk.c optional acpi +contrib/dev/acpica/components/namespace/nsxfeval.c optional acpi +contrib/dev/acpica/components/namespace/nsxfname.c optional acpi +contrib/dev/acpica/components/namespace/nsxfobj.c optional acpi +contrib/dev/acpica/components/parser/psargs.c optional acpi +contrib/dev/acpica/components/parser/psloop.c optional acpi +contrib/dev/acpica/components/parser/psobject.c optional acpi +contrib/dev/acpica/components/parser/psopcode.c optional acpi +contrib/dev/acpica/components/parser/psopinfo.c optional acpi +contrib/dev/acpica/components/parser/psparse.c optional acpi +contrib/dev/acpica/components/parser/psscope.c optional acpi +contrib/dev/acpica/components/parser/pstree.c optional acpi +contrib/dev/acpica/components/parser/psutils.c optional acpi +contrib/dev/acpica/components/parser/pswalk.c optional acpi +contrib/dev/acpica/components/parser/psxface.c optional acpi +contrib/dev/acpica/components/resources/rsaddr.c optional acpi +contrib/dev/acpica/components/resources/rscalc.c optional acpi +contrib/dev/acpica/components/resources/rscreate.c optional acpi +contrib/dev/acpica/components/resources/rsdump.c optional acpi acpi_debug +contrib/dev/acpica/components/resources/rsdumpinfo.c optional acpi +contrib/dev/acpica/components/resources/rsinfo.c optional acpi +contrib/dev/acpica/components/resources/rsio.c optional acpi +contrib/dev/acpica/components/resources/rsirq.c optional acpi +contrib/dev/acpica/components/resources/rslist.c optional acpi +contrib/dev/acpica/components/resources/rsmemory.c optional acpi +contrib/dev/acpica/components/resources/rsmisc.c optional acpi +contrib/dev/acpica/components/resources/rsserial.c optional acpi +contrib/dev/acpica/components/resources/rsutils.c optional acpi +contrib/dev/acpica/components/resources/rsxface.c optional acpi +contrib/dev/acpica/components/tables/tbdata.c optional acpi +contrib/dev/acpica/components/tables/tbfadt.c optional acpi +contrib/dev/acpica/components/tables/tbfind.c optional acpi +contrib/dev/acpica/components/tables/tbinstal.c optional acpi +contrib/dev/acpica/components/tables/tbprint.c optional acpi +contrib/dev/acpica/components/tables/tbutils.c optional acpi +contrib/dev/acpica/components/tables/tbxface.c optional acpi +contrib/dev/acpica/components/tables/tbxfload.c optional acpi +contrib/dev/acpica/components/tables/tbxfroot.c optional acpi +contrib/dev/acpica/components/utilities/utaddress.c optional acpi +contrib/dev/acpica/components/utilities/utalloc.c optional acpi +contrib/dev/acpica/components/utilities/utascii.c optional acpi +contrib/dev/acpica/components/utilities/utbuffer.c optional acpi +contrib/dev/acpica/components/utilities/utcache.c optional acpi +contrib/dev/acpica/components/utilities/utcksum.c optional acpi +contrib/dev/acpica/components/utilities/utcopy.c optional acpi +contrib/dev/acpica/components/utilities/utdebug.c optional acpi +contrib/dev/acpica/components/utilities/utdecode.c optional acpi +contrib/dev/acpica/components/utilities/utdelete.c optional acpi +contrib/dev/acpica/components/utilities/uterror.c optional acpi +contrib/dev/acpica/components/utilities/uteval.c optional acpi +contrib/dev/acpica/components/utilities/utexcep.c optional acpi +contrib/dev/acpica/components/utilities/utglobal.c optional acpi +contrib/dev/acpica/components/utilities/uthex.c optional acpi +contrib/dev/acpica/components/utilities/utids.c optional acpi +contrib/dev/acpica/components/utilities/utinit.c optional acpi +contrib/dev/acpica/components/utilities/utlock.c optional acpi +contrib/dev/acpica/components/utilities/utmath.c optional acpi +contrib/dev/acpica/components/utilities/utmisc.c optional acpi +contrib/dev/acpica/components/utilities/utmutex.c optional acpi +contrib/dev/acpica/components/utilities/utnonansi.c optional acpi +contrib/dev/acpica/components/utilities/utobject.c optional acpi +contrib/dev/acpica/components/utilities/utosi.c optional acpi +contrib/dev/acpica/components/utilities/utownerid.c optional acpi +contrib/dev/acpica/components/utilities/utpredef.c optional acpi +contrib/dev/acpica/components/utilities/utresdecode.c optional acpi acpi_debug +contrib/dev/acpica/components/utilities/utresrc.c optional acpi +contrib/dev/acpica/components/utilities/utstate.c optional acpi +contrib/dev/acpica/components/utilities/utstring.c optional acpi +contrib/dev/acpica/components/utilities/utstrsuppt.c optional acpi +contrib/dev/acpica/components/utilities/utstrtoul64.c optional acpi +contrib/dev/acpica/components/utilities/utuuid.c optional acpi acpi_debug +contrib/dev/acpica/components/utilities/utxface.c optional acpi +contrib/dev/acpica/components/utilities/utxferror.c optional acpi +contrib/dev/acpica/components/utilities/utxfinit.c optional acpi +contrib/dev/acpica/os_specific/service_layers/osgendbg.c optional acpi acpi_debug +netpfil/ipfilter/netinet/fil.c optional ipfilter inet \ + compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_auth.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_fil_freebsd.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_frag.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_log.c optional ipfilter inet \ + compile-with "${NORMAL_C} -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_nat.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_proxy.c optional ipfilter inet \ + compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_state.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_lookup.c optional ipfilter inet \ + compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -Wno-error -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_pool.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_htable.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter ${NO_WTAUTOLOGICAL_POINTER_COMPARE}" +netpfil/ipfilter/netinet/ip_sync.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet \ + compile-with "${NORMAL_C} -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_nat6.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_rules.c optional ipfilter inet \ + compile-with "${NORMAL_C} -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_scan.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/ip_dstlist.c optional ipfilter inet \ + compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter" +netpfil/ipfilter/netinet/radix_ipf.c optional ipfilter inet \ + compile-with "${NORMAL_C} -I$S/netpfil/ipfilter" +contrib/libfdt/fdt.c optional fdt +contrib/libfdt/fdt_ro.c optional fdt +contrib/libfdt/fdt_rw.c optional fdt +contrib/libfdt/fdt_strerror.c optional fdt +contrib/libfdt/fdt_sw.c optional fdt +contrib/libfdt/fdt_wip.c optional fdt +contrib/libnv/cnvlist.c standard +contrib/libnv/dnvlist.c standard +contrib/libnv/nvlist.c standard +contrib/libnv/bsd_nvpair.c standard +# xz +dev/xz/xz_mod.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +contrib/xz-embedded/linux/lib/xz/xz_crc32.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +contrib/xz-embedded/linux/lib/xz/xz_crc64.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +contrib/xz-embedded/linux/lib/xz/xz_dec_bcj.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +contrib/xz-embedded/linux/lib/xz/xz_dec_lzma2.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +contrib/xz-embedded/linux/lib/xz/xz_dec_stream.c optional xz \ + compile-with "${NORMAL_C} -DXZ_USE_CRC64 -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/" +# Zstd +contrib/zstd/lib/freebsd/zstd_kmalloc.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/common/zstd_common.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/common/fse_decompress.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/common/entropy_common.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/common/error_private.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/common/xxhash.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_compress.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_compress_literals.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_compress_sequences.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_compress_superblock.c optional zstdio compile-with "${ZSTD_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/zstd/lib/compress/fse_compress.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/hist.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/huf_compress.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_double_fast.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_fast.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_lazy.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_ldm.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/compress/zstd_opt.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/decompress/zstd_ddict.c optional zstdio compile-with ${ZSTD_C} +contrib/zstd/lib/decompress/zstd_decompress.c optional zstdio compile-with ${ZSTD_C} +# See comment in sys/conf/kern.pre.mk +contrib/zstd/lib/decompress/zstd_decompress_block.c optional zstdio \ + compile-with "${ZSTD_C} ${ZSTD_DECOMPRESS_BLOCK_FLAGS}" +contrib/zstd/lib/decompress/huf_decompress.c optional zstdio compile-with "${ZSTD_C} ${NO_WBITWISE_INSTEAD_OF_LOGICAL}" +# Blake 2 +contrib/libb2/blake2b-ref.c optional crypto | !random_loadable random_fenestrasx \ + compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual -DSUFFIX=_ref -Wno-unused-function" +contrib/libb2/blake2s-ref.c optional crypto \ + compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual -DSUFFIX=_ref -Wno-unused-function" +crypto/blake2/blake2-sw.c optional crypto \ + compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual" +crypto/camellia/camellia.c optional crypto +crypto/camellia/camellia-api.c optional crypto +crypto/chacha20/chacha.c standard +crypto/chacha20/chacha-sw.c optional crypto +crypto/chacha20_poly1305.c optional crypto +crypto/curve25519.c optional crypto \ + compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium" +crypto/des/des_ecb.c optional netsmb +crypto/des/des_setkey.c optional netsmb +crypto/openssl/ossl.c optional ossl +crypto/openssl/ossl_aes.c optional ossl +crypto/openssl/ossl_chacha20.c optional ossl +crypto/openssl/ossl_poly1305.c optional ossl +crypto/openssl/ossl_sha1.c optional ossl +crypto/openssl/ossl_sha256.c optional ossl +crypto/openssl/ossl_sha512.c optional ossl +crypto/rc4/rc4.c optional netgraph_mppc_encryption +crypto/rijndael/rijndael-alg-fst.c optional crypto | ekcd | \ + !random_loadable | wlan_ccmp +crypto/rijndael/rijndael-api-fst.c optional ekcd | !random_loadable +crypto/rijndael/rijndael-api.c optional crypto | wlan_ccmp +crypto/sha1.c optional carp | crypto | ether | \ + netgraph_mppc_encryption | sctp +crypto/sha2/sha256c.c optional crypto | ekcd | \ + !random_loadable | sctp | zfs +crypto/sha2/sha512c.c optional crypto | zfs +crypto/skein/skein.c optional crypto | zfs +crypto/skein/skein_block.c optional crypto | zfs +crypto/siphash/siphash.c optional inet | inet6 | wg +crypto/siphash/siphash_test.c optional inet | inet6 | wg +ddb/db_access.c optional ddb +ddb/db_break.c optional ddb +ddb/db_capture.c optional ddb +ddb/db_command.c optional ddb +ddb/db_ctf.c optional ddb +ddb/db_examine.c optional ddb +ddb/db_expr.c optional ddb +ddb/db_input.c optional ddb +ddb/db_lex.c optional ddb +ddb/db_main.c optional ddb +ddb/db_output.c optional ddb +ddb/db_pprint.c optional ddb +ddb/db_print.c optional ddb +ddb/db_ps.c optional ddb +ddb/db_run.c optional ddb +ddb/db_script.c optional ddb +ddb/db_sym.c optional ddb +ddb/db_thread.c optional ddb +ddb/db_textdump.c optional ddb +ddb/db_variables.c optional ddb +ddb/db_watch.c optional ddb +ddb/db_write_cmd.c optional ddb +dev/aac/aac.c optional aac +dev/aac/aac_cam.c optional aacp aac +dev/aac/aac_debug.c optional aac +dev/aac/aac_disk.c optional aac +dev/aac/aac_pci.c optional aac pci +dev/aacraid/aacraid.c optional aacraid +dev/aacraid/aacraid_cam.c optional aacraid scbus +dev/aacraid/aacraid_debug.c optional aacraid +dev/aacraid/aacraid_pci.c optional aacraid pci +dev/acpi_support/acpi_wmi.c optional acpi_wmi acpi +dev/acpi_support/acpi_asus.c optional acpi_asus acpi +dev/acpi_support/acpi_asus_wmi.c optional acpi_asus_wmi acpi +dev/acpi_support/acpi_fujitsu.c optional acpi_fujitsu acpi +dev/acpi_support/acpi_hp.c optional acpi_hp acpi +dev/acpi_support/acpi_ibm.c optional acpi_ibm acpi +dev/acpi_support/acpi_panasonic.c optional acpi_panasonic acpi +dev/acpi_support/acpi_sbl_wmi.c optional acpi_sbl_wmi acpi +dev/acpi_support/acpi_sony.c optional acpi_sony acpi +dev/acpi_support/acpi_toshiba.c optional acpi_toshiba acpi +dev/acpi_support/atk0110.c optional aibs acpi +dev/acpica/Osd/OsdDebug.c optional acpi +dev/acpica/Osd/OsdHardware.c optional acpi +dev/acpica/Osd/OsdInterrupt.c optional acpi +dev/acpica/Osd/OsdMemory.c optional acpi +dev/acpica/Osd/OsdSchedule.c optional acpi +dev/acpica/Osd/OsdStream.c optional acpi +dev/acpica/Osd/OsdSynch.c optional acpi +dev/acpica/Osd/OsdTable.c optional acpi +dev/acpica/acpi.c optional acpi +dev/acpica/acpi_acad.c optional acpi +dev/acpica/acpi_apei.c optional acpi +dev/acpica/acpi_battery.c optional acpi +dev/acpica/acpi_button.c optional acpi +dev/acpica/acpi_cmbat.c optional acpi +dev/acpica/acpi_cpu.c optional acpi +dev/acpica/acpi_ec.c optional acpi +dev/acpica/acpi_ged.c optional acpi_ged acpi +dev/acpica/acpi_isab.c optional acpi isa +dev/acpica/acpi_lid.c optional acpi +dev/acpica/acpi_package.c optional acpi +dev/acpica/acpi_perf.c optional acpi +dev/acpica/acpi_powerres.c optional acpi +dev/acpica/acpi_quirk.c optional acpi +dev/acpica/acpi_resource.c optional acpi +dev/acpica/acpi_container.c optional acpi +dev/acpica/acpi_smbat.c optional acpi +dev/acpica/acpi_thermal.c optional acpi +dev/acpica/acpi_throttle.c optional acpi +dev/acpica/acpi_video.c optional acpi_video acpi +dev/acpica/acpi_dock.c optional acpi_dock acpi +dev/adlink/adlink.c optional adlink +dev/ae/if_ae.c optional ae pci +dev/age/if_age.c optional age pci +dev/agp/agp.c optional agp pci +dev/agp/agp_if.m optional agp pci +dev/ahci/ahci.c optional ahci +dev/ahci/ahciem.c optional ahci +dev/ahci/ahci_pci.c optional ahci pci +dev/aic7xxx/ahc_isa.c optional ahc isa +dev/aic7xxx/ahc_pci.c optional ahc pci \ + compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}" +dev/aic7xxx/ahd_pci.c optional ahd pci \ + compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}" +dev/aic7xxx/aic7770.c optional ahc +dev/aic7xxx/aic79xx.c optional ahd pci +dev/aic7xxx/aic79xx_osm.c optional ahd pci +dev/aic7xxx/aic79xx_pci.c optional ahd pci +dev/aic7xxx/aic79xx_reg_print.c optional ahd pci ahd_reg_pretty_print +dev/aic7xxx/aic7xxx.c optional ahc +dev/aic7xxx/aic7xxx_93cx6.c optional ahc +dev/aic7xxx/aic7xxx_osm.c optional ahc +dev/aic7xxx/aic7xxx_pci.c optional ahc pci +dev/aic7xxx/aic7xxx_reg_print.c optional ahc ahc_reg_pretty_print +dev/al_eth/al_eth.c optional al_eth fdt \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +dev/al_eth/al_init_eth_lm.c optional al_eth fdt \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +dev/al_eth/al_init_eth_kr.c optional al_eth fdt \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_iofic.c optional al_iofic \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_serdes_25g.c optional al_serdes \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_serdes_hssp.c optional al_serdes \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_udma_config.c optional al_udma \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_udma_debug.c optional al_udma \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_udma_iofic.c optional al_udma \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_hal_udma_main.c optional al_udma \ + no-depend \ + compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}" +contrib/alpine-hal/al_serdes.c optional al_serdes \ *** 5921 LINES SKIPPED ***