From nobody Mon Apr 14 07:10:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZbdjS1Q60z5sH8y; Mon, 14 Apr 2025 07:10: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 4ZbdjS1B86z3cTb; Mon, 14 Apr 2025 07:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744614636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hkgVZr8nGHZIu2vls+hlqeXPuENz1rVva1BrObYIeY=; b=Yn9kKLQJ+DXm7ng/slHp1W8nZDG66Fz3sREG58/k5K9am40dQrH4i6j6+UhKsEwd3BbOt9 7lbOuyrZ4TmTTrlwxU1Feo24qwozlkHuvEC1UARjibUpwY87iMvOWltyUfJBMZ0zWjUnH6 kufDTpyxMpGbKaGVY9kDRwJbrfSdisT7LYcthZ/AM3YqRoIfg8t63MljMzMPtIfyiLMqCn RcLybaDdQtVHBDW5wWuTfVOgngtI0pTYX9EaMn2cUGCmDNQWikCQtblBSacasngKaIfMof 1FskwXFhhAdnR5J0FiN5uH5ktWW/rNZaoPkssqrToH3AYUkH5n7+WdlxYSI92g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744614636; a=rsa-sha256; cv=none; b=e9dUPdP8K0pWoR9It1+DO9BR+r2Ky5lqo0fyqFTj5ye6pABZwkCQnxY8PupOmdOz3pqKcJ JTRiKy8sg6UU+94o4PuaP8WcCg53Xydr6cqc0amwKGlZxscgAhlkOb/dJqSrG3TKV5pPA/ 7XvvOImg9AItaYyTqhzYSOKMnhzQ7bQdydaSSnbKJ6RIgFMGKinjGxohfnESPYGgZwCi/R P08pUUazfY756yz1zZDS/b7XjNJI4dcI2Kof2YEJwFwhU+TF+2mbaCChaxiR9MAQjHUFO3 aZnL63JnnmxO/jQqS+lcqbNgx1V6BqXUxJUbZy0FlHbmVYPa8bKo3u9EsH1kzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744614636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hkgVZr8nGHZIu2vls+hlqeXPuENz1rVva1BrObYIeY=; b=wooZ7Slei79TU2jmwIfu9crEB82yynkF/2EDo1bk5/WaighkaU++/1w+agqwksIOi6h64D Iqz4uiE0s8BXsKGWsl43XCpgkzCtbD7qay9MfxYgw+7Shvl7C9fWstdrNlntpkch3I1YtF mocw4vZHESVzUiiR/CZRZnAil8Jp/N3prsTsR3dz93FQF+ueMwwutrdJyR1gOxx5xjF7bW pXJm0b73b3KBD3T2R8FGfX0pGCzK/UXL6sF60UddfUoXR/OBAllHixwYMGbdTR9N1L1P6y gseJBElD1t86DzyIjwDV9EHLuCPULcbLZMk3GVsPjTPn8ixJsfcYSBEpOqxGkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZbdjS0fnbzf1M; Mon, 14 Apr 2025 07:10: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 53E7Aapm054893; Mon, 14 Apr 2025 07:10:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53E7AaGs054890; Mon, 14 Apr 2025 07:10:36 GMT (envelope-from git) Date: Mon, 14 Apr 2025 07:10:36 GMT Message-Id: <202504140710.53E7AaGs054890@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: 9cc73397534e - main - vm_page: use iterators in page allocaction List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9cc73397534ee5373593f5946abe0b00c1d2b657 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=9cc73397534ee5373593f5946abe0b00c1d2b657 commit 9cc73397534ee5373593f5946abe0b00c1d2b657 Author: Doug Moore AuthorDate: 2025-04-14 07:05:21 +0000 Commit: Doug Moore CommitDate: 2025-04-14 07:05:21 +0000 vm_page: use iterators in page allocaction Change vm_page_alloc_after() and vm_page_alloc_domain_after() to take a page iterator argument, to allow for faster insertion into the radix trie of pages. Where a caller of one of those functions doesn't already have a page iterator to use, define one. Where vm_page_grab() is invoked in a loop, invoke a new version with an iterator argument, and pass the same iterator in each call. Make sure that vm_page_alloc_after() and vm_page_alloc_domain_after() return with the iterator in a valid state, even when the object lock was briefly lost and regained. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49688 --- sys/vm/phys_pager.c | 6 +- sys/vm/swap_pager.c | 5 +- sys/vm/vm_fault.c | 14 +++-- sys/vm/vm_glue.c | 43 +++++++------- sys/vm/vm_kern.c | 6 +- sys/vm/vm_object.c | 10 ++-- sys/vm/vm_page.c | 165 ++++++++++++++++++++++++++-------------------------- sys/vm/vm_page.h | 9 ++- 8 files changed, 136 insertions(+), 122 deletions(-) diff --git a/sys/vm/phys_pager.c b/sys/vm/phys_pager.c index 6ee5076f9a91..ee39221402fa 100644 --- a/sys/vm/phys_pager.c +++ b/sys/vm/phys_pager.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -230,10 +231,12 @@ default_phys_pager_populate(vm_object_t object, vm_pindex_t pidx, int fault_type __unused, vm_prot_t max_prot __unused, vm_pindex_t *first, vm_pindex_t *last) { + struct pctrie_iter pages; vm_page_t m; vm_pindex_t base, end, i; int ahead; + VM_OBJECT_ASSERT_WLOCKED(object); base = rounddown(pidx, phys_pager_cluster); end = base + phys_pager_cluster - 1; if (end >= object->size) @@ -244,10 +247,11 @@ default_phys_pager_populate(vm_object_t object, vm_pindex_t pidx, end = *last; *first = base; *last = end; + vm_page_iter_init(&pages, object); for (i = base; i <= end; i++) { ahead = MIN(end - i, PHYSALLOC); - m = vm_page_grab(object, i, + m = vm_page_grab_iter(object, &pages, i, VM_ALLOC_NORMAL | VM_ALLOC_COUNT(ahead)); if (!vm_page_all_valid(m)) vm_page_zero_invalid(m, TRUE); diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 7b83ae4bfb7b..38203e4cd0af 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1935,9 +1935,10 @@ swap_pager_swapoff_object(struct swdevt *sp, vm_object_t object, if (!vm_page_busy_acquire(m, VM_ALLOC_WAITFAIL)) break; } else { - m = vm_radix_iter_lookup_le(&pages, + m = vm_radix_iter_lookup_lt(&pages, blks.index + i); - m = vm_page_alloc_after(object, blks.index + i, + m = vm_page_alloc_after( + object, &pages, blks.index + i, VM_ALLOC_NORMAL | VM_ALLOC_WAITFAIL, m); if (m == NULL) break; diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 0bd3a8207c4a..e1db7ac8b524 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1292,7 +1292,7 @@ vm_fault_allocate(struct faultstate *fs, struct pctrie_iter *pages) vm_fault_unlock_and_deallocate(fs); return (FAULT_FAILURE); } - fs->m = vm_page_alloc_after(fs->object, fs->pindex, + fs->m = vm_page_alloc_after(fs->object, pages, fs->pindex, P_KILLED(curproc) ? VM_ALLOC_SYSTEM : 0, vm_radix_iter_lookup_lt(pages, fs->pindex)); } @@ -2100,6 +2100,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map __unused, vm_map_entry_t dst_entry, vm_map_entry_t src_entry, vm_ooffset_t *fork_charge) { + struct pctrie_iter pages; vm_object_t backing_object, dst_object, object, src_object; vm_pindex_t dst_pindex, pindex, src_pindex; vm_prot_t access, prot; @@ -2176,6 +2177,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map __unused, * with the source object, all of its pages must be dirtied, * regardless of whether they can be written. */ + vm_page_iter_init(&pages, dst_object); mpred = (src_object == dst_object) ? vm_page_mpred(src_object, src_pindex) : NULL; for (vaddr = dst_entry->start, dst_pindex = 0; @@ -2220,14 +2222,15 @@ again: */ pindex = (src_object == dst_object ? src_pindex : 0) + dst_pindex; - dst_m = vm_page_alloc_after(dst_object, pindex, + dst_m = vm_page_alloc_after(dst_object, &pages, pindex, VM_ALLOC_NORMAL, mpred); if (dst_m == NULL) { VM_OBJECT_WUNLOCK(dst_object); VM_OBJECT_RUNLOCK(object); vm_wait(dst_object); VM_OBJECT_WLOCK(dst_object); - mpred = vm_page_mpred(dst_object, pindex); + pctrie_iter_reset(&pages); + mpred = vm_radix_iter_lookup_lt(&pages, pindex); goto again; } @@ -2249,8 +2252,11 @@ again: VM_OBJECT_RUNLOCK(object); } else { dst_m = src_m; - if (vm_page_busy_acquire(dst_m, VM_ALLOC_WAITFAIL) == 0) + if (vm_page_busy_acquire( + dst_m, VM_ALLOC_WAITFAIL) == 0) { + pctrie_iter_reset(&pages); goto again; + } if (dst_m->pindex >= dst_object->size) { /* * We are upgrading. Index can occur diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 0090904785ab..c441b8b3155f 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -98,6 +98,7 @@ #include #include #include +#include #include #include #include @@ -611,40 +612,36 @@ static int vm_thread_stack_back(vm_offset_t ks, vm_page_t ma[], int npages, int req_class, int domain) { + struct pctrie_iter pages; vm_object_t obj = vm_thread_kstack_size_to_obj(npages); vm_pindex_t pindex; - vm_page_t m; + vm_page_t m, mpred; int n; pindex = vm_kstack_pindex(ks, npages); + vm_page_iter_init(&pages, obj); VM_OBJECT_WLOCK(obj); - for (n = 0; n < npages;) { - m = vm_page_grab(obj, pindex + n, + for (n = 0; n < npages; ma[n++] = m) { + m = vm_page_grab_iter(obj, &pages, pindex + n, VM_ALLOC_NOCREAT | VM_ALLOC_WIRED); - if (m == NULL) { - m = n > 0 ? ma[n - 1] : vm_page_mpred(obj, pindex); - m = vm_page_alloc_domain_after(obj, pindex + n, domain, - req_class | VM_ALLOC_WIRED, m); + if (m != NULL) + continue; + mpred = (n > 0) ? ma[n - 1] : + vm_radix_iter_lookup_lt(&pages, pindex); + m = vm_page_alloc_domain_after(obj, &pages, pindex + n, + domain, req_class | VM_ALLOC_WIRED, mpred); + if (m != NULL) + continue; + for (int i = 0; i < n; i++) { + m = ma[i]; + (void)vm_page_unwire_noq(m); + vm_page_free(m); } - if (m == NULL) - break; - ma[n++] = m; + break; } - if (n < npages) - goto cleanup; VM_OBJECT_WUNLOCK(obj); - - return (0); -cleanup: - for (int i = 0; i < n; i++) { - m = ma[i]; - (void)vm_page_unwire_noq(m); - vm_page_free(m); - } - VM_OBJECT_WUNLOCK(obj); - - return (ENOMEM); + return (n < npages ? ENOMEM : 0); } static vm_object_t diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 8945061aabdc..2aa5588a7588 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -530,6 +530,7 @@ int kmem_back_domain(int domain, vm_object_t object, vm_offset_t addr, vm_size_t size, int flags) { + struct pctrie_iter pages; vm_offset_t offset, i; vm_page_t m, mpred; vm_prot_t prot; @@ -546,11 +547,12 @@ kmem_back_domain(int domain, vm_object_t object, vm_offset_t addr, prot = (flags & M_EXEC) != 0 ? VM_PROT_ALL : VM_PROT_RW; i = 0; + vm_page_iter_init(&pages, object); VM_OBJECT_WLOCK(object); retry: - mpred = vm_radix_lookup_le(&object->rtree, atop(offset + i)); + mpred = vm_radix_iter_lookup_lt(&pages, atop(offset + i)); for (; i < size; i += PAGE_SIZE, mpred = m) { - m = vm_page_alloc_domain_after(object, atop(offset + i), + m = vm_page_alloc_domain_after(object, &pages, atop(offset + i), domain, pflags, mpred); /* diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 689ad7499f5c..19e585745a80 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2275,19 +2275,21 @@ void vm_object_prepare_buf_pages(vm_object_t object, vm_page_t *ma_dst, int count, int *rbehind, int *rahead, vm_page_t *ma_src) { + struct pctrie_iter pages; vm_pindex_t pindex; vm_page_t m, mpred, msucc; + vm_page_iter_init(&pages, object); VM_OBJECT_ASSERT_LOCKED(object); if (*rbehind != 0) { m = ma_src[0]; pindex = m->pindex; - mpred = TAILQ_PREV(m, pglist, listq); + mpred = vm_radix_iter_lookup_lt(&pages, pindex); *rbehind = MIN(*rbehind, pindex - (mpred != NULL ? mpred->pindex + 1 : 0)); /* Stepping backward from pindex, mpred doesn't change. */ for (int i = 0; i < *rbehind; i++) { - m = vm_page_alloc_after(object, pindex - i - 1, + m = vm_page_alloc_after(object, &pages, pindex - i - 1, VM_ALLOC_NORMAL, mpred); if (m == NULL) { /* Shift the array. */ @@ -2305,12 +2307,12 @@ vm_object_prepare_buf_pages(vm_object_t object, vm_page_t *ma_dst, int count, if (*rahead != 0) { m = ma_src[count - 1]; pindex = m->pindex + 1; - msucc = TAILQ_NEXT(m, listq); + msucc = vm_radix_iter_lookup_ge(&pages, pindex); *rahead = MIN(*rahead, (msucc != NULL ? msucc->pindex : object->size) - pindex); mpred = m; for (int i = 0; i < *rahead; i++) { - m = vm_page_alloc_after(object, pindex + i, + m = vm_page_alloc_after(object, &pages, pindex + i, VM_ALLOC_NORMAL, mpred); if (m == NULL) { *rahead = i; diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index f1a891ff6955..65d278caf3fd 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -171,8 +171,6 @@ static void vm_page_enqueue(vm_page_t m, uint8_t queue); static bool vm_page_free_prep(vm_page_t m); static void vm_page_free_toq(vm_page_t m); static void vm_page_init(void *dummy); -static int vm_page_insert_after(vm_page_t m, vm_object_t object, - vm_pindex_t pindex, vm_page_t mpred); static void vm_page_insert_radixdone(vm_page_t m, vm_object_t object, vm_page_t mpred); static void vm_page_mvqueue(vm_page_t m, const uint8_t queue, @@ -1473,18 +1471,17 @@ vm_page_dirty_KBI(vm_page_t m) /* * Insert the given page into the given object at the given pindex. mpred is - * used for memq linkage. From vm_page_insert, lookup is true, mpred is - * initially NULL, and this procedure looks it up. From vm_page_insert_after - * and vm_page_iter_insert, lookup is false and mpred is known to the caller - * to be valid, and may be NULL if this will be the page with the lowest - * pindex. + * used for memq linkage. From vm_page_insert, iter is false, mpred is + * initially NULL, and this procedure looks it up. From vm_page_iter_insert, + * iter is true and mpred is known to the caller to be valid, and may be NULL if + * this will be the page with the lowest pindex. * * The procedure is marked __always_inline to suggest to the compiler to * eliminate the lookup parameter and the associated alternate branch. */ static __always_inline int vm_page_insert_lookup(vm_page_t m, vm_object_t object, vm_pindex_t pindex, - struct pctrie_iter *pages, bool iter, vm_page_t mpred, bool lookup) + struct pctrie_iter *pages, bool iter, vm_page_t mpred) { int error; @@ -1503,13 +1500,10 @@ vm_page_insert_lookup(vm_page_t m, vm_object_t object, vm_pindex_t pindex, * Add this page to the object's radix tree, and look up mpred if * needed. */ - if (iter) { - KASSERT(!lookup, ("%s: cannot lookup mpred", __func__)); + if (iter) error = vm_radix_iter_insert(pages, m); - } else if (lookup) - error = vm_radix_insert_lookup_lt(&object->rtree, m, &mpred); else - error = vm_radix_insert(&object->rtree, m); + error = vm_radix_insert_lookup_lt(&object->rtree, m, &mpred); if (__predict_false(error != 0)) { m->object = NULL; m->pindex = 0; @@ -1535,26 +1529,7 @@ vm_page_insert_lookup(vm_page_t m, vm_object_t object, vm_pindex_t pindex, int vm_page_insert(vm_page_t m, vm_object_t object, vm_pindex_t pindex) { - return (vm_page_insert_lookup(m, object, pindex, NULL, false, NULL, - true)); -} - -/* - * vm_page_insert_after: - * - * Inserts the page "m" into the specified object at offset "pindex". - * - * The page "mpred" must immediately precede the offset "pindex" within - * the specified object. - * - * The object must be locked. - */ -static int -vm_page_insert_after(vm_page_t m, vm_object_t object, vm_pindex_t pindex, - vm_page_t mpred) -{ - return (vm_page_insert_lookup(m, object, pindex, NULL, false, mpred, - false)); + return (vm_page_insert_lookup(m, object, pindex, NULL, false, NULL)); } /* @@ -1573,8 +1548,7 @@ static int vm_page_iter_insert(struct pctrie_iter *pages, vm_page_t m, vm_object_t object, vm_pindex_t pindex, vm_page_t mpred) { - return (vm_page_insert_lookup(m, object, pindex, pages, true, mpred, - false)); + return (vm_page_insert_lookup(m, object, pindex, pages, true, mpred)); } /* @@ -2125,8 +2099,10 @@ vm_page_mpred(vm_object_t object, vm_pindex_t pindex) vm_page_t vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req) { + struct pctrie_iter pages; - return (vm_page_alloc_after(object, pindex, req, + vm_page_iter_init(&pages, object); + return (vm_page_alloc_after(object, &pages, pindex, req, vm_page_mpred(object, pindex))); } @@ -2137,8 +2113,8 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req) * page index, or NULL if no such page exists. */ vm_page_t -vm_page_alloc_after(vm_object_t object, vm_pindex_t pindex, - int req, vm_page_t mpred) +vm_page_alloc_after(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, int req, vm_page_t mpred) { struct vm_domainset_iter di; vm_page_t m; @@ -2146,8 +2122,8 @@ vm_page_alloc_after(vm_object_t object, vm_pindex_t pindex, vm_domainset_iter_page_init(&di, object, pindex, &domain, &req); do { - m = vm_page_alloc_domain_after(object, pindex, domain, req, - mpred); + m = vm_page_alloc_domain_after(object, pages, pindex, domain, + req, mpred); if (m != NULL) break; } while (vm_domainset_iter_page(&di, object, &domain) == 0); @@ -2209,8 +2185,8 @@ vm_domain_allocate(struct vm_domain *vmd, int req, int npages) } vm_page_t -vm_page_alloc_domain_after(vm_object_t object, vm_pindex_t pindex, int domain, - int req, vm_page_t mpred) +vm_page_alloc_domain_after(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, int domain, int req, vm_page_t mpred) { struct vm_domain *vmd; vm_page_t m; @@ -2279,6 +2255,7 @@ again: /* * Not allocatable, give up. */ + pctrie_iter_reset(pages); if (vm_domain_alloc_fail(vmd, object, req)) goto again; return (NULL); @@ -2315,7 +2292,7 @@ found: } m->a.act_count = 0; - if (vm_page_insert_after(m, object, pindex, mpred)) { + if (vm_page_insert_lookup(m, object, pindex, pages, true, mpred)) { if (req & VM_ALLOC_WIRED) { vm_wire_sub(1); m->ref_count = 0; @@ -2328,6 +2305,7 @@ found: if (req & VM_ALLOC_WAITFAIL) { VM_OBJECT_WUNLOCK(object); vm_radix_wait(); + pctrie_iter_reset(pages); VM_OBJECT_WLOCK(object); } return (NULL); @@ -2471,7 +2449,7 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, KASSERT(npages > 0, ("vm_page_alloc_contig: npages is zero")); vm_page_iter_init(&pages, object); - mpred = vm_radix_iter_lookup_le(&pages, pindex); + mpred = vm_radix_iter_lookup_lt(&pages, pindex); KASSERT(mpred == NULL || mpred->pindex != pindex, ("vm_page_alloc_contig: pindex already allocated")); for (;;) { @@ -4875,32 +4853,32 @@ vm_page_grab_lookup(struct pctrie_iter *pages, vm_object_t object, } /* - * Grab a page. Keep on waiting, as long as the page exists in the object. If - * the page doesn't exist, first allocate it and then conditionally zero it. + * Grab a page. Use an iterator parameter. Keep on waiting, as long as the page + * exists in the object. If the page doesn't exist, first allocate it and then + * conditionally zero it. * * The object must be locked on entry. This routine may sleep. The lock will, * however, be released and reacquired if the routine sleeps. */ vm_page_t -vm_page_grab(vm_object_t object, vm_pindex_t pindex, int allocflags) +vm_page_grab_iter(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, int allocflags) { - struct pctrie_iter pages; vm_page_t m, mpred; bool found; VM_OBJECT_ASSERT_WLOCKED(object); vm_page_grab_check(allocflags); - vm_page_iter_init(&pages, object); while ((m = vm_page_grab_lookup( - &pages, object, pindex, allocflags, &found)) == NULL) { + pages, object, pindex, allocflags, &found)) == NULL) { if ((allocflags & VM_ALLOC_NOCREAT) != 0) return (NULL); if (found && (allocflags & (VM_ALLOC_NOWAIT | VM_ALLOC_WAITFAIL)) != 0) return (NULL); - mpred = vm_radix_iter_lookup_le(&pages, pindex); - m = vm_page_alloc_after(object, pindex, + mpred = vm_radix_iter_lookup_lt(pages, pindex); + m = vm_page_alloc_after(object, pages, pindex, vm_page_grab_pflags(allocflags), mpred); if (m != NULL) { if ((allocflags & VM_ALLOC_ZERO) != 0 && @@ -4911,13 +4889,29 @@ vm_page_grab(vm_object_t object, vm_pindex_t pindex, int allocflags) if ((allocflags & (VM_ALLOC_NOWAIT | VM_ALLOC_WAITFAIL)) != 0) return (NULL); - pctrie_iter_reset(&pages); } vm_page_grab_release(m, allocflags); return (m); } +/* + * Grab a page. Keep on waiting, as long as the page exists in the object. If + * the page doesn't exist, first allocate it and then conditionally zero it. + * + * The object must be locked on entry. This routine may sleep. The lock will, + * however, be released and reacquired if the routine sleeps. + */ +vm_page_t +vm_page_grab(vm_object_t object, vm_pindex_t pindex, int allocflags) +{ + struct pctrie_iter pages; + + VM_OBJECT_ASSERT_WLOCKED(object); + vm_page_iter_init(&pages, object); + return (vm_page_grab_iter(object, &pages, pindex, allocflags)); +} + /* * Attempt to validate a page, locklessly acquiring it if necessary, given a * (object, pindex) tuple and either an invalided page or NULL. The resulting @@ -4998,9 +4992,11 @@ vm_page_grab_unlocked(vm_object_t object, vm_pindex_t pindex, int allocflags) * will neither be wired nor busy regardless of allocflags. */ int -vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags) +vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, + int allocflags) { - vm_page_t m; + struct pctrie_iter pages; + vm_page_t m, mpred; vm_page_t ma[VM_INITIAL_PAGEIN]; int after, i, pflags, rv; @@ -5014,9 +5010,10 @@ vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int al pflags = allocflags & ~(VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY | VM_ALLOC_WIRED | VM_ALLOC_IGN_SBUSY); pflags |= VM_ALLOC_WAITFAIL; + vm_page_iter_init(&pages, object); retrylookup: - if ((m = vm_page_lookup(object, pindex)) != NULL) { + if ((m = vm_radix_iter_lookup(&pages, pindex)) != NULL) { /* * If the page is fully valid it can only become invalid * with the object lock held. If it is not valid it can @@ -5030,6 +5027,7 @@ retrylookup: vm_page_all_valid(m) ? allocflags : 0)) { (void)vm_page_grab_sleep(object, m, pindex, "pgrbwt", allocflags, true); + pctrie_iter_reset(&pages); goto retrylookup; } if (vm_page_all_valid(m)) @@ -5042,12 +5040,16 @@ retrylookup: } else if ((allocflags & VM_ALLOC_NOCREAT) != 0) { *mp = NULL; return (VM_PAGER_FAIL); - } else if ((m = vm_page_alloc(object, pindex, pflags)) == NULL) { - if (!vm_pager_can_alloc_page(object, pindex)) { - *mp = NULL; - return (VM_PAGER_AGAIN); + } else { + mpred = vm_radix_iter_lookup_lt(&pages, pindex); + m = vm_page_alloc_after(object, &pages, pindex, pflags, mpred); + if (m == NULL) { + if (!vm_pager_can_alloc_page(object, pindex)) { + *mp = NULL; + return (VM_PAGER_AGAIN); + } + goto retrylookup; } - goto retrylookup; } vm_page_assert_xbusied(m); @@ -5055,18 +5057,17 @@ retrylookup: after = MIN(after, VM_INITIAL_PAGEIN); after = MIN(after, allocflags >> VM_ALLOC_COUNT_SHIFT); after = MAX(after, 1); - ma[0] = m; + ma[0] = mpred = m; for (i = 1; i < after; i++) { - if ((ma[i] = vm_page_next(ma[i - 1])) != NULL) { - if (vm_page_any_valid(ma[i]) || - !vm_page_tryxbusy(ma[i])) - break; - } else { - ma[i] = vm_page_alloc_after(object, - m->pindex + i, VM_ALLOC_NORMAL, ma[i - 1]); - if (ma[i] == NULL) + m = vm_radix_iter_lookup(&pages, pindex + i); + if (m == NULL) { + m = vm_page_alloc_after(object, &pages, + pindex + i, VM_ALLOC_NORMAL, mpred); + if (m == NULL) break; - } + } else if (vm_page_any_valid(m) || !vm_page_tryxbusy(m)) + break; + mpred = ma[i] = m; } after = i; vm_object_pip_add(object, after); @@ -5131,8 +5132,8 @@ vm_page_grab_zero_partial(vm_object_t object, vm_pindex_t pindex, int base, &pages, object, pindex, allocflags, &found)) == NULL) { if (!vm_pager_has_page(object, pindex, NULL, NULL)) return (0); - mpred = vm_radix_iter_lookup_le(&pages, pindex); - m = vm_page_alloc_after(object, pindex, + mpred = vm_radix_iter_lookup_lt(&pages, pindex); + m = vm_page_alloc_after(object, &pages, pindex, vm_page_grab_pflags(allocflags), mpred); if (m != NULL) { vm_object_pip_add(object, 1); @@ -5154,7 +5155,6 @@ vm_page_grab_zero_partial(vm_object_t object, vm_pindex_t pindex, int base, vm_page_launder(m); break; } - pctrie_iter_reset(&pages); } pmap_zero_page_area(m, base, end - base); @@ -5244,6 +5244,7 @@ int vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags, vm_page_t *ma, int count) { + struct pctrie_iter pages; vm_page_t m, mpred; int pflags; int i; @@ -5257,25 +5258,24 @@ vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags, pflags = vm_page_grab_pflags(allocflags); i = 0; + vm_page_iter_init(&pages, object); retrylookup: - m = vm_page_mpred(object, pindex + i); - if (m == NULL || m->pindex != pindex + i) { - mpred = m; - m = NULL; - } else - mpred = TAILQ_PREV(m, pglist, listq); + mpred = vm_radix_iter_lookup_lt(&pages, pindex + i); for (; i < count; i++) { + m = vm_radix_iter_lookup(&pages, pindex + i); if (m != NULL) { if (!vm_page_tryacquire(m, allocflags)) { if (vm_page_grab_sleep(object, m, pindex + i, - "grbmaw", allocflags, true)) + "grbmaw", allocflags, true)) { + pctrie_iter_reset(&pages); goto retrylookup; + } break; } } else { if ((allocflags & VM_ALLOC_NOCREAT) != 0) break; - m = vm_page_alloc_after(object, pindex + i, + m = vm_page_alloc_after(object, &pages, pindex + i, pflags | VM_ALLOC_COUNT(count - i), mpred); if (m == NULL) { if ((allocflags & (VM_ALLOC_NOWAIT | @@ -5292,7 +5292,6 @@ retrylookup: } vm_page_grab_release(m, allocflags); ma[i] = mpred = m; - m = vm_page_next(m); } return (i); } diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 1cac80c6a8ef..0a40b42ffb62 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -608,9 +608,10 @@ void vm_page_activate (vm_page_t); void vm_page_advise(vm_page_t m, int advice); vm_page_t vm_page_mpred(vm_object_t, vm_pindex_t); vm_page_t vm_page_alloc(vm_object_t, vm_pindex_t, int); -vm_page_t vm_page_alloc_after(vm_object_t, vm_pindex_t, int, vm_page_t); -vm_page_t vm_page_alloc_domain_after(vm_object_t, vm_pindex_t, int, int, - vm_page_t); +vm_page_t vm_page_alloc_after(vm_object_t, struct pctrie_iter *, vm_pindex_t, + int, vm_page_t); +vm_page_t vm_page_alloc_domain_after(vm_object_t, struct pctrie_iter *, + vm_pindex_t, int, int, vm_page_t); vm_page_t vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, vm_memattr_t memattr); @@ -631,6 +632,8 @@ bool vm_page_blacklist_add(vm_paddr_t pa, bool verbose); int vm_page_grab_zero_partial(vm_object_t object, vm_pindex_t pindex, int base, int end); vm_page_t vm_page_grab(vm_object_t, vm_pindex_t, int); +vm_page_t vm_page_grab_iter(vm_object_t object, struct pctrie_iter *pages, vm_pindex_t pindex, + int allocflags); vm_page_t vm_page_grab_unlocked(vm_object_t, vm_pindex_t, int); int vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags, vm_page_t *ma, int count); From nobody Mon Apr 14 08:17:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZbgBP2zghz5sNB0; Mon, 14 Apr 2025 08:17:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZbgBP2P9hz3kP2; Mon, 14 Apr 2025 08:17:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744618637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qc++ZfXgDDCsb2p859AzABNCBuWohc6cPnFpVGvlH2g=; b=sX0PU2wMN/afjRK5LYO4vC8QwDXwsMVDXPDDa9rBKeGrayMw/I3fHtJuCb4K6Z8YJbwYbw eITIcIk0GLxmezGlh4BGSlYB9UcbTGYOKfHY0z2y+npHCw5em9ULJyZNLkYzM00fP7u6eA l76nKAtJucf6Ootf/UO6jqWW5LcwiNtMFU2vas1S4wuJR0TiX9WZ321LnlQ3LqvxtxnAFE EnWqZ4ZFgEv3PIxGeTRFOOaSaLwbLrQ1jGkUenjO6y2M1lzzsT5MQZXwtBObDbaKQ1tlDj riiDWXB3zinWuCk7zSPVceOik5MPvAnVQfRc5M5IScgBUk9PsZDKbeu0Ve42Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744618637; a=rsa-sha256; cv=none; b=D2lFGT0YyrJWyMv53yd9XvaWb4inq79uDK4OcmehdYEzX3B0nOzKr18Gm491hEzRNQaYG8 /tOeFLY61gxSc9fXsyxxjlQuG2AnqqMm2UUyMAq4Cit8vNi+TebADUNI8EFJcDEk4mB7OI /p1Z9/cf8qvSwZizoOuIhArk+6J+CvsPjVB583G5x4uiuGw6SObXgxKvSX3eNuABNpMKc4 fe8RtWSb/4pF4v9rTbicH//k0ns+Ab+oGY6aixIKj2DpivPneVsTuKxvllYr4YSFZEPah1 BpH8v8dTcaeGUESYkVDV/LAU6wyiAy+Kq2QTKzR35dgY/zxFMojmm2sNlG8f3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744618637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qc++ZfXgDDCsb2p859AzABNCBuWohc6cPnFpVGvlH2g=; b=CkT6oszGt210q22WwNPeKxhIQQWszSEBMyj4yYFPdQDy/NNk0ZybI1YHlRsDLUSJDJx8/i BWtnJEuH2L91uWLj0XtmNFF9ylXQgMJ7X0nl4RAzahAc2LpZVxEg24GQbNm2zaCpPUy0H/ llzWNBxcauWrJkyv+sXAI6X5rOnfegDOvX3KeboPyh3bxzlZY0XE1vYIxvl+N8keUYK2gC NVp3YG8QcK9MxEHCv1P4+Fevc4dCE2dSPyYll2oxF74DDdR15gMdQWzBxxFQGIG7IWibnD eAe9Pb7BU6iXM29ZfBsMYkXEbVIUJhLyFEzLGfb5suMhVl2h7QGe2LL1H8BRzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZbgBP1j35zh6v; Mon, 14 Apr 2025 08:17: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 53E8HGeG076999; Mon, 14 Apr 2025 08:17:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53E8HGCO076996; Mon, 14 Apr 2025 08:17:16 GMT (envelope-from git) Date: Mon, 14 Apr 2025 08:17:16 GMT Message-Id: <202504140817.53E8HGCO076996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 1110ed3b46ea - main - iwx: Use subdevice for comparison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1110ed3b46ea2765fd45ebfb4e0f0fd997ecb92e Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=1110ed3b46ea2765fd45ebfb4e0f0fd997ecb92e commit 1110ed3b46ea2765fd45ebfb4e0f0fd997ecb92e Author: Tom Jones AuthorDate: 2025-04-14 08:10:48 +0000 Commit: Tom Jones CommitDate: 2025-04-14 08:16:40 +0000 iwx: Use subdevice for comparison iwx goes through a couple of steps to match devices to firmware. There is a default match of pcie device and subdevices and then a secondary pass to find a template configuration struct. Previously we were looking up the device not the subdevice and that led to ax210 cards in some devices (Framework 13) from being matched to the correct firmware. PR: 285905 Reviewed by: bz, adrian Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49759 --- sys/dev/iwx/if_iwx.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c index 9e5d5a9569d5..6d3aa1b49c15 100644 --- a/sys/dev/iwx/if_iwx.c +++ b/sys/dev/iwx/if_iwx.c @@ -10022,12 +10022,11 @@ out: const struct iwx_device_cfg * iwx_find_device_cfg(struct iwx_softc *sc) { - uint16_t mac_type, rf_type; + uint16_t sdev_id, mac_type, rf_type; uint8_t mac_step, cdb, jacket, rf_id, no_160, cores; int i; - uint16_t sdev_id; - sdev_id = pci_get_device(sc->sc_dev); + sdev_id = pci_get_subdevice(sc->sc_dev); mac_type = IWX_CSR_HW_REV_TYPE(sc->sc_hw_rev); mac_step = IWX_CSR_HW_REV_STEP(sc->sc_hw_rev << 2); rf_type = IWX_CSR_HW_RFID_TYPE(sc->sc_hw_rf_id); From nobody Mon Apr 14 08:56:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbh4B3PKmz5sR6D; Mon, 14 Apr 2025 08:56: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 4Zbh4B2zRLz3pJ7; Mon, 14 Apr 2025 08:56:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744621018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K3e356Sf047qxGZQnOL2wiSTZbd1Hl6dydNgu5fm/h8=; b=W3KO4v1ZRTP0PDBB+TgO6MegBFgkbfljvuwSMBNsbO/UkXqbISCwIGZlL82t/sj/K2vDND LmDVMS7V30VJKan7xalLApMBqc9jvkIYoxkNnL2GNT0/Rt5cxTp/ZSyH+c95+J7qG8xjDe A+5ukjA+ATrT/q2j8RLdNL9yhUACk3mg9iwUk5rVUj9lz07Mz7qS7aLaddA4f18x/G1lbQ lBfbSDST64PcLZA0VAx6IOaoh9xeZOSlJQEXRBOnb0dg/YXWa6AUdXNcYR1/dy9+wfKr8G EurpUE/o72xXG+irsCdu3eUAMFIZlVJksiqAWx4liCrk9UNds/NRKfKyEp2eSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744621018; a=rsa-sha256; cv=none; b=JEzteoOaIuIMXHwX/gj1Gh12wjlRbCuhbaFzFS1/JxfFh9nxY434b7HJoiPv7xGDahE8SE Pomnie06MH2iXVpR9CjMZZugMLeSmo4mIbQzAuHjd+AwJX0Ztou8X5bsFNLMLd56jacbWO CzXX87ayHqs91LbXFAigYUK4duxD7Itn17Ru82kOhQ3CCMNWhd+a25x7SQG8/WS5c4C+Iz x+XSpgIVo7Q+YPWe+CetWe3p3es03YuGMrtTz/alpfXT8k5WJTKQxkJj9l1oiPXq7eRUZz /1tLeGicJM1W68kP/IWptJZM4wBwzPTrF7x+BK8DBC9Yvjkqpw9Tn9fbeSI3Mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744621018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K3e356Sf047qxGZQnOL2wiSTZbd1Hl6dydNgu5fm/h8=; b=pA52DdYHa+0Td6L/27n94KmrBtgj0nCtEz4SVbJAcMamSmR78cZz73U8+CiFcRRhKHqP2T CtVv4hddBvKdLLmJqo1JBGFSC5pvCJcEISej8aRmzXc3IrwoDg4yknmqBxjGxMf9ONqtjw +BEGxeCfnI83d2Cmh4JUt0H4fIvqqoamt0zyT6dERwvsg+jkllxUbUM+ajyO1UJU5vj6ZY jRgxqOcue4GRMmRuezXnYeFVBYYd34K0uz7h6FuagWwUXp3Fw6VEPhpR8y7YlVbhx8IGkB L0tNftCIPq+suBR5Lk4qsT7FFF8YBKt95/Md59PgiLNTRESj19pi6I0+u0eOaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbh4B2YbZzhs8; Mon, 14 Apr 2025 08:56:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53E8uwvH051096; Mon, 14 Apr 2025 08:56:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53E8uw7L051093; Mon, 14 Apr 2025 08:56:58 GMT (envelope-from git) Date: Mon, 14 Apr 2025 08:56:58 GMT Message-Id: <202504140856.53E8uw7L051093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 71baab405ef6 - main - iwx: Remove debug logging code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71baab405ef6102714f06de50d889509babe7413 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=71baab405ef6102714f06de50d889509babe7413 commit 71baab405ef6102714f06de50d889509babe7413 Author: Tom Jones AuthorDate: 2025-04-11 15:01:28 +0000 Commit: Tom Jones CommitDate: 2025-04-14 08:56:23 +0000 iwx: Remove debug logging code This debugging code was added this log as part of an effort to diagnose firmware crashes in an earlier version of the driver. It hasn't been used for a while and I'm not sure how useful it is for this compared to other methods. While reorganisation move strings for print mappings into if_iwx_debug.c to reduce their scope. Suggested by: bz Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49783 --- sys/dev/iwx/if_iwx.c | 14 +-- sys/dev/iwx/if_iwx_debug.c | 301 ++++++++++++++++++++++++++------------------- sys/dev/iwx/if_iwx_debug.h | 208 +------------------------------ 3 files changed, 177 insertions(+), 346 deletions(-) diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c index 6d3aa1b49c15..03008e4fac93 100644 --- a/sys/dev/iwx/if_iwx.c +++ b/sys/dev/iwx/if_iwx.c @@ -5111,9 +5111,6 @@ iwx_phy_ctxt_cmd(struct iwx_softc *sc, struct iwx_phy_ctxt *ctxt, static int iwx_send_cmd(struct iwx_softc *sc, struct iwx_host_cmd *hcmd) { -#ifdef IWX_DEBUG - iwx_bbl_add_entry(hcmd->id, IWX_BBL_CMD_TX, ticks); -#endif struct iwx_tx_ring *ring = &sc->txq[IWX_DQA_CMD_QUEUE]; struct iwx_tfh_tfd *desc; struct iwx_tx_data *txdata; @@ -5717,9 +5714,6 @@ iwx_tx(struct iwx_softc *sc, struct mbuf *m, struct ieee80211_node *ni) memcpy(tx->hdr, wh, hdrlen); txcmd_size = sizeof(*tx); } -#if IWX_DEBUG - iwx_bbl_add_entry(totlen, IWX_BBL_PKT_TX, ticks); -#endif /* Trim 802.11 header. */ m_adj(m, hdrlen); @@ -8565,9 +8559,6 @@ iwx_watchdog(void *arg) if (--sc->sc_tx_timer[i] == 0) { printf("%s: device timeout\n", DEVNAME(sc)); - if (sc->sc_debug) - iwx_bbl_print_log(); - iwx_nic_error(sc); iwx_dump_driver_status(sc); ieee80211_restart_all(ic); @@ -8892,9 +8883,7 @@ iwx_rx_pkt(struct iwx_softc *sc, struct iwx_rx_data *data, struct mbuf *ml) if (!iwx_rx_pkt_valid(pkt)) break; -#ifdef IWX_DEBUG - iwx_bbl_add_entry(pkt->hdr.code, IWX_BBL_CMD_RX, ticks); -#endif + /* * XXX Intel inside (tm) * Any commands in the LONG_GROUP could actually be in the @@ -9507,7 +9496,6 @@ iwx_intr_msix(void *arg) (inta_hw & IWX_MSIX_HW_INT_CAUSES_REG_SW_ERR) || (inta_hw & IWX_MSIX_HW_INT_CAUSES_REG_SW_ERR_V2)) { if (sc->sc_debug) { - iwx_bbl_print_log(); iwx_nic_error(sc); iwx_dump_driver_status(sc); } diff --git a/sys/dev/iwx/if_iwx_debug.c b/sys/dev/iwx/if_iwx_debug.c index 6a2bf32ad738..0c6658094282 100644 --- a/sys/dev/iwx/if_iwx_debug.c +++ b/sys/dev/iwx/if_iwx_debug.c @@ -19,30 +19,178 @@ #include #include -static uint16_t bbl_idx = 0; -static uint32_t bbl_seq = 0; -static uint8_t bbl_compress = 1; +static int print_codes[][2] = { +#if 0 + for example: + IWX_LEGACY_GROUP, IWX_ADD_STA_KEY, + IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD, + IWX_LEGACY_GROUP, IWX_ADD_STA, + IWX_LEGACY_GROUP, IWX_REMOVE_STA, +#endif +}; -static const char * -iwx_bbl_to_str(int type) -{ - switch(type) { - case IWX_BBL_PKT_TX: - return ("IWX_BBL_PKT_TX"); - case IWX_BBL_PKT_RX: - return ("IWX_BBL_PKT_RX"); - case IWX_BBL_PKT_DUP: - return ("IWX_BBL_PKT_DUP"); - case IWX_BBL_CMD_TX: - return ("IWX_BBL_CMD_TX"); - case IWX_BBL_CMD_RX: - return ("IWX_BBL_CMD_RX"); - case IWX_BBL_ANY: - return ("IWX_BBL_ANY"); - default: - return ("ERROR"); - } -} +struct opcode_label { + uint8_t opcode; + const char *label; +}; + +static struct opcode_label command_group[] = { + { 0x0, "IWX_LEGACY_GROUP"}, + { 0x1, "IWX_LONG_GROUP"}, + { 0x2, "IWX_SYSTEM_GROUP"}, + { 0x3, "IWX_MAC_CONF_GROUP"}, + { 0x4, "IWX_PHY_OPS_GROUP"}, + { 0x5, "IWX_DATA_PATH_GROUP"}, + { 0xb, "IWX_PROT_OFFLOAD_GROUP"}, + { 0xc, "IWX_REGULATORY_AND_NVM_GROUP"}, + { 0, NULL } +}; + +static struct opcode_label legacy_opcodes[] = { + { 0xc0, "IWX_REPLY_RX_PHY_CMD" }, + { 0xc1, "IWX_REPLY_RX_MPDU_CMD" }, + { 0xc2, "IWX_BAR_FRAME_RELEASE" }, + { 0xc3, "IWX_FRAME_RELEASE" }, + { 0xc5, "IWX_BA_NOTIF" }, + { 0x62, "IWX_TEMPERATURE_NOTIFICATION" }, + { 0xc8, "IWX_MCC_UPDATE_CMD" }, + { 0xc9, "IWX_MCC_CHUB_UPDATE_CMD" }, + { 0x65, "IWX_CALIBRATION_CFG_CMD" }, + { 0x66, "IWX_CALIBRATION_RES_NOTIFICATION" }, + { 0x67, "IWX_CALIBRATION_COMPLETE_NOTIFICATION" }, + { 0x68, "IWX_RADIO_VERSION_NOTIFICATION" }, + { 0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE" }, + { 0x01, "IWX_SOC_CONFIGURATION_CMD" }, + { 0x02, "IWX_REPLY_ERROR" }, + { 0x03, "IWX_CTDP_CONFIG_CMD" }, + { 0x04, "IWX_INIT_COMPLETE_NOTIF" }, + { 0x05, "IWX_SESSION_PROTECTION_CMD" }, + { 0x5d, "IWX_BT_COEX_CI" }, + { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" }, + { 0x08, "IWX_RLC_CONFIG_CMD" }, + { 0xd0, "IWX_MCAST_FILTER_CMD" }, + { 0xd1, "IWX_REPLY_SF_CFG_CMD" }, + { 0xd2, "IWX_REPLY_BEACON_FILTERING_CMD" }, + { 0xd3, "IWX_D3_CONFIG_CMD" }, + { 0xd4, "IWX_PROT_OFFLOAD_CONFIG_CMD" }, + { 0xd5, "IWX_OFFLOADS_QUERY_CMD" }, + { 0xd6, "IWX_REMOTE_WAKE_CONFIG_CMD" }, + { 0x77, "IWX_POWER_TABLE_CMD" }, + { 0x78, "IWX_PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION" }, + { 0xcc, "IWX_BT_COEX_PRIO_TABLE" }, + { 0xcd, "IWX_BT_COEX_PROT_ENV" }, + { 0xce, "IWX_BT_PROFILE_NOTIFICATION" }, + { 0x6a, "IWX_PHY_CONFIGURATION_CMD" }, + { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" }, + { 0x17, "IWX_ADD_STA_KEY" }, + { 0x18, "IWX_ADD_STA" }, + { 0x19, "IWX_REMOVE_STA" }, + { 0xe0, "IWX_WOWLAN_PATTERNS" }, + { 0xe1, "IWX_WOWLAN_CONFIGURATION" }, + { 0xe2, "IWX_WOWLAN_TSC_RSC_PARAM" }, + { 0xe3, "IWX_WOWLAN_TKIP_PARAM" }, + { 0xe4, "IWX_WOWLAN_KEK_KCK_MATERIAL" }, + { 0xe5, "IWX_WOWLAN_GET_STATUSES" }, + { 0xe6, "IWX_WOWLAN_TX_POWER_PER_DB" }, + { 0x0f, "IWX_SCAN_COMPLETE_UMAC" }, + { 0x88, "IWX_NVM_ACCESS_CMD" }, + { 0x20, "IWX_WEP_KEY" }, + { 0xdc, "IWX_CMD_DTS_MEASUREMENT_TRIGGER" }, + { 0xdd, "IWX_DTS_MEASUREMENT_NOTIFICATION" }, + { 0x28, "IWX_MAC_CONTEXT_CMD" }, + { 0x29, "IWX_TIME_EVENT_CMD" }, + { 0x01, "IWX_ALIVE" }, + { 0xf0, "IWX_REPLY_DEBUG_CMD" }, + { 0x90, "IWX_BEACON_NOTIFICATION" }, + { 0xf5, "IWX_RX_NO_DATA_NOTIF" }, + { 0x08, "IWX_PHY_CONTEXT_CMD" }, + { 0x91, "IWX_BEACON_TEMPLATE_CMD" }, + { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" }, + { 0x09, "IWX_DBG_CFG" }, + { 0xf7, "IWX_DEBUG_LOG_MSG" }, + { 0x1c, "IWX_TX_CMD" }, + { 0x1d, "IWX_SCD_QUEUE_CFG" }, + { 0x1e, "IWX_TXPATH_FLUSH" }, + { 0x1f, "IWX_MGMT_MCAST_KEY" }, + { 0x98, "IWX_TX_ANT_CONFIGURATION_CMD" }, + { 0xee, "IWX_LTR_CONFIG" }, + { 0x8e, "IWX_SET_CALIB_DEFAULT_CMD" }, + { 0xFE, "IWX_CT_KILL_NOTIFICATION" }, + { 0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE" }, + { 0x2a, "IWX_TIME_EVENT_NOTIFICATION" }, + { 0x2b, "IWX_BINDING_CONTEXT_CMD" }, + { 0x2c, "IWX_TIME_QUOTA_CMD" }, + { 0x2d, "IWX_NON_QOS_TX_COUNTER_CMD" }, + { 0xa0, "IWX_CARD_STATE_CMD" }, + { 0xa1, "IWX_CARD_STATE_NOTIFICATION" }, + { 0xa2, "IWX_MISSED_BEACONS_NOTIFICATION" }, + { 0x0c, "IWX_SCAN_CFG_CMD" }, + { 0x0d, "IWX_SCAN_REQ_UMAC" }, + { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" }, + { 0x0e, "IWX_SCAN_ABORT_UMAC" }, + { 0xfe, "IWX_PNVM_INIT_COMPLETE" }, + { 0xa9, "IWX_MAC_PM_POWER_TABLE" }, + { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" }, + { 0x9b, "IWX_BT_CONFIG" }, + { 0x9c, "IWX_STATISTICS_CMD" }, + { 0x9d, "IWX_STATISTICS_NOTIFICATION" }, + { 0x9f, "IWX_REDUCE_TX_POWER_CMD" }, + { 0xb1, "IWX_MFUART_LOAD_NOTIFICATION" }, + { 0xb5, "IWX_SCAN_ITERATION_COMPLETE_UMAC" }, + { 0x54, "IWX_NET_DETECT_CONFIG_CMD" }, + { 0x56, "IWX_NET_DETECT_PROFILES_QUERY_CMD" }, + { 0x57, "IWX_NET_DETECT_PROFILES_CMD" }, + { 0x58, "IWX_NET_DETECT_HOTSPOTS_CMD" }, + { 0x59, "IWX_NET_DETECT_HOTSPOTS_QUERY_CMD" }, + { 0, NULL } +}; + +/* SYSTEM_GROUP group subcommand IDs */ +static struct opcode_label system_opcodes[] = { + { 0x00, "IWX_SHARED_MEM_CFG_CMD" }, + { 0x01, "IWX_SOC_CONFIGURATION_CMD" }, + { 0x03, "IWX_INIT_EXTENDED_CFG_CMD" }, + { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" }, + { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" }, + { 0, NULL } +}; + +/* MAC_CONF group subcommand IDs */ +static struct opcode_label macconf_opcodes[] = { + { 0x05, "IWX_SESSION_PROTECTION_CMD" }, + { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" }, + { 0, NULL } +}; + +/* DATA_PATH group subcommand IDs */ +static struct opcode_label data_opcodes[] = { + { 0x00, "IWX_DQA_ENABLE_CMD" }, + { 0x08, "IWX_RLC_CONFIG_CMD" }, + { 0x0f, "IWX_TLC_MNG_CONFIG_CMD" }, + { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" }, + { 0x17, "IWX_SCD_QUEUE_CONFIG_CMD" }, + { 0xf5, "IWX_RX_NO_DATA_NOTIF" }, + { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" }, + { 0xf7, "IWX_TLC_MNG_UPDATE_NOTIF" }, + { 0, NULL } +}; + +/* REGULATORY_AND_NVM group subcommand IDs */ +static struct opcode_label reg_opcodes[] = { + { 0x00, "IWX_NVM_ACCESS_COMPLETE" }, + { 0x02, "IWX_NVM_GET_INFO " }, + { 0xfe, "IWX_PNVM_INIT_COMPLETE" }, + { 0, NULL } +}; + +/* PHY_OPS subcommand IDs */ +static struct opcode_label phyops_opcodes[] = { + {0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE"}, + {0x03, "IWX_CTDP_CONFIG_CMD"}, + {0x04, "IWX_TEMP_REPORTING_THRESHOLDS_CMD"}, + {0xFE, "IWX_CT_KILL_NOTIFICATION"}, + {0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE"}, +}; static const char * get_label(struct opcode_label *table, uint8_t opcode) @@ -87,9 +235,9 @@ get_table(uint8_t group) } void -print_opcode(const char *func, int line, int type, uint32_t code) +print_opcode(const char *func, int line, uint32_t code) { - int print = print_mask & type; + int print = 0; uint8_t opcode = iwx_cmd_opcode(code); uint8_t group = iwx_cmd_groupid(code); @@ -104,111 +252,12 @@ print_opcode(const char *func, int line, int type, uint32_t code) print = 1; if (print) { - printf("%s:%d %s\t%s\t%s\t(0x%08x)\n", func, line, - iwx_bbl_to_str(type), get_label(command_group, group), + printf("%s:%d \t%s\t%s\t(0x%08x)\n", func, line, + get_label(command_group, group), get_label(table, opcode), code); } } -void -iwx_dump_cmd(uint32_t id, void *data, uint16_t len, const char *str, int type) -{ - int dump = dump_mask & type; - uint8_t opcode = iwx_cmd_opcode(id); - uint8_t group = iwx_cmd_groupid(id); - - for (int i = 0; i < nitems(dump_codes); i++) - if (dump_codes[i][0] == group && dump_codes[i][1] == opcode) - dump = 1; - - if (dump) - hexdump(data, len, str, 0); -} - -void -iwx_bbl_add_entry(uint32_t code, int type, int ticks) -{ - /* - * Compress together repeated notifications, but increment the sequence - * number so we can track things processing. - */ - if (bbl_compress && (iwx_bb_log[bbl_idx].code == code && - iwx_bb_log[bbl_idx].type == type)) { - iwx_bb_log[bbl_idx].count++; - iwx_bb_log[bbl_idx].seq = bbl_seq++; - iwx_bb_log[bbl_idx].ticks = ticks; - return; - } - - if (bbl_idx++ > IWX_BBL_ENTRIES) { -#if 0 - printf("iwx bbl roll over: type %d (%lu)\n", type, code); -#endif - bbl_idx = 0; - } - iwx_bb_log[bbl_idx].code = code; - iwx_bb_log[bbl_idx].type = type; - iwx_bb_log[bbl_idx].seq = bbl_seq++; - iwx_bb_log[bbl_idx].ticks = ticks; - iwx_bb_log[bbl_idx].count = 1; -} - -static void -iwx_bbl_print_entry(struct iwx_bbl_entry *e) -{ - uint8_t opcode = iwx_cmd_opcode(e->code); - uint8_t group = iwx_cmd_groupid(e->code); - - switch(e->type) { - case IWX_BBL_PKT_TX: - printf("pkt "); - printf("seq %08d\t pkt len %u", - e->seq, e->code); - break; - printf("pkt dup "); - printf("seq %08d\t dup count %u", - e->seq, e->code); - break; - case IWX_BBL_CMD_TX: - printf("tx -> "); - printf("seq %08d\tcode 0x%08x (%s:%s)", - e->seq, e->code, get_label(command_group, group), - get_label(get_table(group), opcode)); - break; - case IWX_BBL_CMD_RX: - printf("rx "); - printf("seq %08d\tcode 0x%08x (%s:%s)", - e->seq, e->code, get_label(command_group, group), - get_label(get_table(group), opcode)); - break; - } - if (e->count > 1) - printf(" (count %d)", e->count); - printf("\n"); -} - -void -iwx_bbl_print_log(void) -{ - int start = -1; - - start = bbl_idx+1; - if (start > IWX_BBL_ENTRIES-1) - start = 0; - - for (int i = start; i < IWX_BBL_ENTRIES; i++) { - struct iwx_bbl_entry *e = &iwx_bb_log[i]; - printf("bbl entry %05d %05d: ", i, e->ticks); - iwx_bbl_print_entry(e); - } - for (int i = 0; i < start; i++) { - struct iwx_bbl_entry *e = &iwx_bb_log[i]; - printf("bbl entry %05d %05d: ", i, e->ticks); - iwx_bbl_print_entry(e); - } - printf("iwx bblog index %d seq %d\n", bbl_idx, bbl_seq); -} - void print_ratenflags(const char *func, int line, uint32_t flags, int ver) { diff --git a/sys/dev/iwx/if_iwx_debug.h b/sys/dev/iwx/if_iwx_debug.h index 80fd3ffa6eed..0079a7e7e753 100644 --- a/sys/dev/iwx/if_iwx_debug.h +++ b/sys/dev/iwx/if_iwx_debug.h @@ -53,213 +53,7 @@ enum { #define IWX_DPRINTF(sc, m, fmt, ...) do { (void) sc; } while (0) #endif -void print_opcode(const char *, int, int, uint32_t); +void print_opcode(const char *, int, uint32_t); void print_ratenflags(const char *, int , uint32_t , int ); -void iwx_dump_cmd(uint32_t , void *, uint16_t, const char *, int); -void iwx_bbl_add_entry(uint32_t, int, int); -void iwx_bbl_print_log(void); - -#define IWX_BBL_NONE 0x00 -#define IWX_BBL_PKT_TX 0x01 -#define IWX_BBL_PKT_RX 0x02 -#define IWX_BBL_PKT_DUP 0x04 -#define IWX_BBL_CMD_TX 0x10 -#define IWX_BBL_CMD_RX 0x20 -#define IWX_BBL_ANY 0xFF - -static int print_mask = IWX_BBL_NONE; //IWX_BBL_NONE | IWX_BBL_CMD_TX; -static int print_codes[][2] = { -#if 0 - for example: - IWX_LEGACY_GROUP, IWX_ADD_STA_KEY, - IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD, - IWX_LEGACY_GROUP, IWX_ADD_STA, - IWX_LEGACY_GROUP, IWX_REMOVE_STA, -#endif -}; - -static int dump_mask = IWX_BBL_NONE; -static int dump_codes[][2] = { -#if 0 - for example: - IWX_LEGACY_GROUP, IWX_ADD_STA_KEY, - IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD, - IWX_LEGACY_GROUP, IWX_ADD_STA, - IWX_LEGACY_GROUP, IWX_REMOVE_STA, -#endif -}; - -struct opcode_label { - uint8_t opcode; - const char *label; -}; - -static struct opcode_label command_group[] = { - { 0x0, "IWX_LEGACY_GROUP"}, - { 0x1, "IWX_LONG_GROUP"}, - { 0x2, "IWX_SYSTEM_GROUP"}, - { 0x3, "IWX_MAC_CONF_GROUP"}, - { 0x4, "IWX_PHY_OPS_GROUP"}, - { 0x5, "IWX_DATA_PATH_GROUP"}, - { 0xb, "IWX_PROT_OFFLOAD_GROUP"}, - { 0xc, "IWX_REGULATORY_AND_NVM_GROUP"}, - { 0, NULL } -}; - -static struct opcode_label legacy_opcodes[] = { - { 0xc0, "IWX_REPLY_RX_PHY_CMD" }, - { 0xc1, "IWX_REPLY_RX_MPDU_CMD" }, - { 0xc2, "IWX_BAR_FRAME_RELEASE" }, - { 0xc3, "IWX_FRAME_RELEASE" }, - { 0xc5, "IWX_BA_NOTIF" }, - { 0x62, "IWX_TEMPERATURE_NOTIFICATION" }, - { 0xc8, "IWX_MCC_UPDATE_CMD" }, - { 0xc9, "IWX_MCC_CHUB_UPDATE_CMD" }, - { 0x65, "IWX_CALIBRATION_CFG_CMD" }, - { 0x66, "IWX_CALIBRATION_RES_NOTIFICATION" }, - { 0x67, "IWX_CALIBRATION_COMPLETE_NOTIFICATION" }, - { 0x68, "IWX_RADIO_VERSION_NOTIFICATION" }, - { 0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE" }, - { 0x01, "IWX_SOC_CONFIGURATION_CMD" }, - { 0x02, "IWX_REPLY_ERROR" }, - { 0x03, "IWX_CTDP_CONFIG_CMD" }, - { 0x04, "IWX_INIT_COMPLETE_NOTIF" }, - { 0x05, "IWX_SESSION_PROTECTION_CMD" }, - { 0x5d, "IWX_BT_COEX_CI" }, - { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" }, - { 0x08, "IWX_RLC_CONFIG_CMD" }, - { 0xd0, "IWX_MCAST_FILTER_CMD" }, - { 0xd1, "IWX_REPLY_SF_CFG_CMD" }, - { 0xd2, "IWX_REPLY_BEACON_FILTERING_CMD" }, - { 0xd3, "IWX_D3_CONFIG_CMD" }, - { 0xd4, "IWX_PROT_OFFLOAD_CONFIG_CMD" }, - { 0xd5, "IWX_OFFLOADS_QUERY_CMD" }, - { 0xd6, "IWX_REMOTE_WAKE_CONFIG_CMD" }, - { 0x77, "IWX_POWER_TABLE_CMD" }, - { 0x78, "IWX_PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION" }, - { 0xcc, "IWX_BT_COEX_PRIO_TABLE" }, - { 0xcd, "IWX_BT_COEX_PROT_ENV" }, - { 0xce, "IWX_BT_PROFILE_NOTIFICATION" }, - { 0x6a, "IWX_PHY_CONFIGURATION_CMD" }, - { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" }, - { 0x17, "IWX_ADD_STA_KEY" }, - { 0x18, "IWX_ADD_STA" }, - { 0x19, "IWX_REMOVE_STA" }, - { 0xe0, "IWX_WOWLAN_PATTERNS" }, - { 0xe1, "IWX_WOWLAN_CONFIGURATION" }, - { 0xe2, "IWX_WOWLAN_TSC_RSC_PARAM" }, - { 0xe3, "IWX_WOWLAN_TKIP_PARAM" }, - { 0xe4, "IWX_WOWLAN_KEK_KCK_MATERIAL" }, - { 0xe5, "IWX_WOWLAN_GET_STATUSES" }, - { 0xe6, "IWX_WOWLAN_TX_POWER_PER_DB" }, - { 0x0f, "IWX_SCAN_COMPLETE_UMAC" }, - { 0x88, "IWX_NVM_ACCESS_CMD" }, - { 0x20, "IWX_WEP_KEY" }, - { 0xdc, "IWX_CMD_DTS_MEASUREMENT_TRIGGER" }, - { 0xdd, "IWX_DTS_MEASUREMENT_NOTIFICATION" }, - { 0x28, "IWX_MAC_CONTEXT_CMD" }, - { 0x29, "IWX_TIME_EVENT_CMD" }, - { 0x01, "IWX_ALIVE" }, - { 0xf0, "IWX_REPLY_DEBUG_CMD" }, - { 0x90, "IWX_BEACON_NOTIFICATION" }, - { 0xf5, "IWX_RX_NO_DATA_NOTIF" }, - { 0x08, "IWX_PHY_CONTEXT_CMD" }, - { 0x91, "IWX_BEACON_TEMPLATE_CMD" }, - { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" }, - { 0x09, "IWX_DBG_CFG" }, - { 0xf7, "IWX_DEBUG_LOG_MSG" }, - { 0x1c, "IWX_TX_CMD" }, - { 0x1d, "IWX_SCD_QUEUE_CFG" }, - { 0x1e, "IWX_TXPATH_FLUSH" }, - { 0x1f, "IWX_MGMT_MCAST_KEY" }, - { 0x98, "IWX_TX_ANT_CONFIGURATION_CMD" }, - { 0xee, "IWX_LTR_CONFIG" }, - { 0x8e, "IWX_SET_CALIB_DEFAULT_CMD" }, - { 0xFE, "IWX_CT_KILL_NOTIFICATION" }, - { 0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE" }, - { 0x2a, "IWX_TIME_EVENT_NOTIFICATION" }, - { 0x2b, "IWX_BINDING_CONTEXT_CMD" }, - { 0x2c, "IWX_TIME_QUOTA_CMD" }, - { 0x2d, "IWX_NON_QOS_TX_COUNTER_CMD" }, - { 0xa0, "IWX_CARD_STATE_CMD" }, - { 0xa1, "IWX_CARD_STATE_NOTIFICATION" }, - { 0xa2, "IWX_MISSED_BEACONS_NOTIFICATION" }, - { 0x0c, "IWX_SCAN_CFG_CMD" }, - { 0x0d, "IWX_SCAN_REQ_UMAC" }, - { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" }, - { 0x0e, "IWX_SCAN_ABORT_UMAC" }, - { 0xfe, "IWX_PNVM_INIT_COMPLETE" }, - { 0xa9, "IWX_MAC_PM_POWER_TABLE" }, - { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" }, - { 0x9b, "IWX_BT_CONFIG" }, - { 0x9c, "IWX_STATISTICS_CMD" }, - { 0x9d, "IWX_STATISTICS_NOTIFICATION" }, - { 0x9f, "IWX_REDUCE_TX_POWER_CMD" }, - { 0xb1, "IWX_MFUART_LOAD_NOTIFICATION" }, - { 0xb5, "IWX_SCAN_ITERATION_COMPLETE_UMAC" }, - { 0x54, "IWX_NET_DETECT_CONFIG_CMD" }, - { 0x56, "IWX_NET_DETECT_PROFILES_QUERY_CMD" }, - { 0x57, "IWX_NET_DETECT_PROFILES_CMD" }, - { 0x58, "IWX_NET_DETECT_HOTSPOTS_CMD" }, - { 0x59, "IWX_NET_DETECT_HOTSPOTS_QUERY_CMD" }, - { 0, NULL } -}; - -/* SYSTEM_GROUP group subcommand IDs */ -static struct opcode_label system_opcodes[] = { - { 0x00, "IWX_SHARED_MEM_CFG_CMD" }, - { 0x01, "IWX_SOC_CONFIGURATION_CMD" }, - { 0x03, "IWX_INIT_EXTENDED_CFG_CMD" }, - { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" }, - { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" }, - { 0, NULL } -}; - -/* MAC_CONF group subcommand IDs */ -static struct opcode_label macconf_opcodes[] = { - { 0x05, "IWX_SESSION_PROTECTION_CMD" }, - { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" }, - { 0, NULL } -}; - -/* DATA_PATH group subcommand IDs */ -static struct opcode_label data_opcodes[] = { - { 0x00, "IWX_DQA_ENABLE_CMD" }, - { 0x08, "IWX_RLC_CONFIG_CMD" }, - { 0x0f, "IWX_TLC_MNG_CONFIG_CMD" }, - { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" }, - { 0x17, "IWX_SCD_QUEUE_CONFIG_CMD" }, - { 0xf5, "IWX_RX_NO_DATA_NOTIF" }, - { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" }, - { 0xf7, "IWX_TLC_MNG_UPDATE_NOTIF" }, - { 0, NULL } -}; - -/* REGULATORY_AND_NVM group subcommand IDs */ -static struct opcode_label reg_opcodes[] = { - { 0x00, "IWX_NVM_ACCESS_COMPLETE" }, - { 0x02, "IWX_NVM_GET_INFO " }, - { 0xfe, "IWX_PNVM_INIT_COMPLETE" }, - { 0, NULL } -}; - -/* PHY_OPS subcommand IDs */ -static struct opcode_label phyops_opcodes[] = { - {0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE"}, - {0x03, "IWX_CTDP_CONFIG_CMD"}, - {0x04, "IWX_TEMP_REPORTING_THRESHOLDS_CMD"}, - {0xFE, "IWX_CT_KILL_NOTIFICATION"}, - {0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE"}, -}; - -struct iwx_bbl_entry { - uint8_t type; - uint32_t code; - uint32_t seq; - uint32_t ticks; - uint32_t count; -}; -#define IWX_BBL_ENTRIES 2000 -static struct iwx_bbl_entry iwx_bb_log[IWX_BBL_ENTRIES]; #endif /* __IF_IWX_DEBUG_H__ */ From nobody Mon Apr 14 13:24:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbp0r3ZPCz5spRZ; Mon, 14 Apr 2025 13:24: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 4Zbp0r33HVz45m6; Mon, 14 Apr 2025 13:24:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744637068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rnhycXuOR8PcqfIVb0FXBt34piTrvAcmGPhHjNs7Ao=; b=N6dPlhukQbFQLlHl/rFzOKUZ5bnEnWPfe8iwHBPC3a0oE2RGsSCKUS90t6Ncv/cKziuf0y zDQEjyWd6KIjdVGswfAez1Nb/pmmj0dBodXemiFCS5+959SShdimJuxCjvzDRZiJ9oBcOj gBxKeOh8fCkFzLmOLM1KEImMG3ny1i2tEVm0mdhVS032bSHiwpJP8Z/TRn26hTmhZuqrF9 MOsgpAX3YAe/2XDd4o9a6OX0um+SAda6MxA/nAh991fGkaIwL/3szO5nfZAWM7Eb6bkH5H rmaMk3ni8BVGIHst7NFLWCyNBCzBQcp7qPuhFNkZOLailSEK5KMq4NZ68gXiUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744637068; a=rsa-sha256; cv=none; b=fSTb39eVBNSEsx33JXXbxAqZaUmR2F7keCdJb8Co9aI2oqyUBQEj1hoNWMgBVv9YP0F4Hb n8PEcgFR/Sz0ULs4Rp9EnzHP2sQirZvPM7j2TBtk6ccbYYnFWkOD4Kd6kzx9gQOMsFx1d3 7/vPzoA4bmS7YDCLw0Y7UFaUKt2pIuidcPAzd9QJXnpv+tE/YzPRzRdPYxPh9G+zJf55LW pasvUNcAzzqXt2m9gpAE8iu0vR5iwgIQwAJsrrxXY/pIjUbWQPuTzIcp2Tdy1Z1OJ+fHkq IFUuf5XG8cWKW2HZElF61bWcju2UKxqGZfzmNcs5SNtdrqaigM7tJ72uMEdYJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744637068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rnhycXuOR8PcqfIVb0FXBt34piTrvAcmGPhHjNs7Ao=; b=G/WXbYsMEJtv5UVAWpNdpPsteIj6xkmbKjmYKJpzoqY6hEFc6WrQibPL6IbUZnnJfOaEfW 2BmW0Mr38VR81ynUxR8X1zhl1NVCFQdIpIhAZbMjMj/X2Xz7PlegHa2p4b4CN/wRRJaYhL aN/HRa4W71ze1dTHdI3sUf/3I53n4c6B7AETNNeevSGtlzZpPME/2Nx5tuerELJqg7Mws5 aFXTwr6baWPRbTUJU4i3KschtIAYpz5wcAXn8wFwkEBVxlZ4xJ09bHSOk+lwRbGuHIT+KJ gz71rT9NaMQWT/HgW42ZaA3Z7ICqypCIN1PbYtJPfnUmGaE+2STBW+FoglGyqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbp0r2byPzr2V; Mon, 14 Apr 2025 13:24: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 53EDOSa3055131; Mon, 14 Apr 2025 13:24:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EDOSax055128; Mon, 14 Apr 2025 13:24:28 GMT (envelope-from git) Date: Mon, 14 Apr 2025 13:24:28 GMT Message-Id: <202504141324.53EDOSax055128@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Leidinger Subject: git: 6fbd1bed6e7b - main - rc.subr: add ${svc}_svcj_ipaddrs option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: netchild X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6fbd1bed6e7bf880a6cc579b06bdc6476983613a Auto-Submitted: auto-generated The branch main has been updated by netchild: URL: https://cgit.FreeBSD.org/src/commit/?id=6fbd1bed6e7bf880a6cc579b06bdc6476983613a commit 6fbd1bed6e7bf880a6cc579b06bdc6476983613a Author: Lexi Winter AuthorDate: 2025-03-23 06:00:50 +0000 Commit: Alexander Leidinger CommitDate: 2025-04-14 13:11:06 +0000 rc.subr: add ${svc}_svcj_ipaddrs option setting ${svc}_svcj_ipaddrs to a list of IP addresses causes rc.subr to set ip6.addr and/or ip4.addr when starting the jail, restricting it to those IP addresses rather than inheriting all IP addresses. for example: inetd_enable=YES inetd_svcj=YES inetd_svcj_options="net_basic" inetd_svcj_ipaddrs="::1 127.0.0.1 2001:db8::1" if not specified, the default value is unchanged (inherit all addresses if networking is enabled). Reviewed by: netchild --- libexec/rc/rc.subr | 36 +++++++++++++++++++++++++++++------- share/man/man5/rc.conf.5 | 35 ++++++++++++++++++++++++++--------- 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index b7f8953012d7..29ed0eb05824 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1196,7 +1196,8 @@ run_rc_command() _prepend=\$${name}_prepend _login_class=\${${name}_login_class:-daemon} \ _limits=\$${name}_limits _oomprotect=\$${name}_oomprotect \ _setup=\$${name}_setup _env_file=\$${name}_env_file \ - _umask=\$${name}_umask _svcj_options=\$${name}_svcj_options + _umask=\$${name}_umask _svcj_options=\$${name}_svcj_options \ + _svcj_ipaddrs=\$${name}_svcj_ipaddrs if [ -n "$_env_file" ] && [ -r "${_env_file}" ]; then # load env from file set -a @@ -1210,9 +1211,30 @@ run_rc_command() fi fi - if [ -n "$_svcj_options" ]; then # translate service jail options - _svcj_cmd_options="" + _svcj_ip="inherit" + _svcj_ip4_addrs="" + _svcj_ip6_addrs="" + + for addr in $_svcj_ipaddrs; do + case $addr in + *:*) _svcj_ip6_addrs="$addr,${_svcj_ip6_addrs}" ;; + *) _svcj_ip4_addrs="$addr,${_svcj_ip4_addrs}" ;; + esac + done + + _svcj_cmd_options="" + if [ -n "$_svcj_ip4_addrs" ]; then + _svcj_cmd_options="ip4.addr=${_svcj_ip4_addrs%*,} ${_svcj_cmd_options}" + _svcj_ip="new" + fi + + if [ -n "$_svcj_ip6_addrs" ]; then + _svcj_cmd_options="ip6.addr=${_svcj_ip6_addrs%*,} ${_svcj_cmd_options}" + _svcj_ip="new" + fi + + if [ -n "$_svcj_options" ]; then # translate service jail options _svcj_sysvipc_x=0 for _svcj_option in $_svcj_options; do case "$_svcj_option" in @@ -1220,19 +1242,19 @@ run_rc_command() _svcj_cmd_options="allow.mlock ${_svcj_cmd_options}" ;; netv4) - _svcj_cmd_options="ip4=inherit allow.reserved_ports ${_svcj_cmd_options}" + _svcj_cmd_options="ip4=${_svcj_ip} allow.reserved_ports ${_svcj_cmd_options}" ;; netv6) - _svcj_cmd_options="ip6=inherit allow.reserved_ports ${_svcj_cmd_options}" + _svcj_cmd_options="ip6=${_svcj_ip} allow.reserved_ports ${_svcj_cmd_options}" ;; net_basic) - _svcj_cmd_options="ip4=inherit ip6=inherit allow.reserved_ports ${_svcj_cmd_options}" + _svcj_cmd_options="ip4=${_svcj_ip} ip6=${_svcj_ip} allow.reserved_ports ${_svcj_cmd_options}" ;; net_raw) _svcj_cmd_options="allow.raw_sockets ${_svcj_cmd_options}" ;; net_all) - _svcj_cmd_options="allow.socket_af allow.raw_sockets allow.reserved_ports ip4=inherit ip6=inherit ${_svcj_cmd_options}" + _svcj_cmd_options="allow.socket_af allow.raw_sockets allow.reserved_ports ip4=${_svcj_ip} ip6=${_svcj_ip} ${_svcj_cmd_options}" ;; nfsd) _svcj_cmd_options="allow.nfsd enforce_statfs=1 ${_svcj_cmd_options}" diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 8ad503f792e8..1086fe01a0e8 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 6, 2025 +.Dd April 14, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -269,6 +269,11 @@ If set to auto-jail the service with inherited filesystem and other jail properties depending on .Ao Ar name Ac Ns Va _svcj_options . +.It Ao Ar name Ac Ns Va _svcj_ipaddrs +.Pq Vt str +A list of IP addresses that the service jail will be permitted to use. +If this is not specified, the service jail will be permitted to use all +assigned IP addresses if networking is enabled in the jail. .It Ao Ar name Ac Ns Va _svcj_options .Pq Vt str A list of jail properties for the service. @@ -4969,16 +4974,26 @@ are: .It mlock Allows to lock memory pages into the physical memory. .It netv4 -Inherit the IPv4 address and allows to open reserved ports. +Allows IPv4 network access and the ability to bind to reserved ports. +If +.Ao Ar name Ac Ns Va _svcj_ipaddrs +is set, only the IPv4 addresses listed there will be visible to the jail, +otherwise all assigned IPv4 addresses will be visible. This can not be combined with .Pa netv6 . .It netv6 -Inherit the IPv6 address and allows to open reserved ports. +Allows IPv6 network access and the ability to bind to reserved ports. +If +.Ao Ar name Ac Ns Va _svcj_ipaddrs +is set, only the IPv6 addresses listed there will be visible to the jail, +otherwise all assigned IPv6 addresses will be visible. This can not be combined with .Pa netv4 . .It net_basic -Inherits the IPv4 and IPv6 addresses and allows to open -reserved ports. +Equivalent to enabling both +.Pa netv6 +and +.Pa netv4 . .It net_raw Allow to open raw sockets. This option can be combined with @@ -4986,10 +5001,12 @@ This option can be combined with .Pa netv6 , .Pa net_basic . .It net_all -Inherits the IPv4 and IPv6 addresses, allows to open reserved -ports, allows to open raw sockets, and allows to open sockets -of protocol stacks that have not had jail functionality added -to them. +Allows IPv6 and IPv4 network access as for +.Pa netv4 +and +.Pa netv6 , +allows to open raw sockets, and allows to open sockets of protocol stacks that +have not had jail functionality added to them. .It nfsd Allows to run nfsd and affiliated daemons. .It sysvipc From nobody Mon Apr 14 14:07:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyg0xnjz5ssgp; Mon, 14 Apr 2025 14:07: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 4Zbpyg08mGz3Qgb; Mon, 14 Apr 2025 14:07:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15O0WLwKhWUi9V03wTptsB2AhsxcmcweybcyZgTRwuA=; b=NVX3wSOsRgeAIgMqbPohtDqBCgElA0KeuHxFaqPflOLqWFjMV2rrbWCCbEk0kMj08qh4DY JBdUbU7hZ/MNkoqckMReyTOlOnIBBliUzt2oWlqpKRKN0eox3/H6pHqFrvgVDvSOkUGUUa sRDCetsEVsjm7rNgR3XmUkkK4+uC920vJ4h669h4w4LI0q6ko5c5XePjhYJ4KR+aaDr2XB cpSwYIh67Nzewp0cbxynV6/cKaZX8+aZpKlSvrL/PIM+aAaYEMEdjCErzVnYofwMWq07NT hUCvt0zhQ5M40v2hrhwtOKaIjKkmxmXEvAgiAo4Sh9U8vrdC52AN0+rUE1jEPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639659; a=rsa-sha256; cv=none; b=JUxc64RmI7m8JreRuf7OYWCUrEK9Ak7/LMx8zZWA9SnC4gQGXq8OTSUTs2pjzj5XAcXI+N 6/fOqMXbRjOEb1bZuuMxiVaXnFJPjEJYAX3igw6Um8kGQmZvSaJDcPvEGrVhruqWj1EveA wjVd2qxbIGl3fnYpSS3H2XM52eAJU0qq6iGjfjQuAHkeeMj0dHvg5TLBWgBp+HL/skp3RZ nKaIeCwyxEO5ZUx0PmJCeq9vgH0dGa9+S1od8pRyRUYizKsiCxPqxINjD6xG6icZQ0YPeS gTZA5TJIIxhNByl+fAJJKX13zVJ2xCoOpK6uQiHIfgUrpEkXudaWaDutLJFHTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15O0WLwKhWUi9V03wTptsB2AhsxcmcweybcyZgTRwuA=; b=L0NQP5l2/0a7OwE/WAQoR17i9q1rhjWiSg6Hh1r8YFv9KejLjL9CuW2x7kBdoXcTVQvlot 3+F+i3u3Wj8UXmPKlBM8ialKEvB2ZOCwe6hxZ6Jv8wqYjomXqg02l5KifC/QxsT7Uiic7o DvjmUgsSyB1oUBxX/xj4D4dZssiK83PpbWD2bG+MTT18WbDqc0QR8AKnCm8aDdABlAJZCk Raa1aT52m8rPXJp4wFGiVN46tyV74i3o0qouGN3/Fyj0FEEFp3Xw6UscoEzex46IXbW57d teVAdz+n10utXzFXzUUbkQWJS1ffuawVzYz7kS/6oWefSClDLaG+iFITrRWoxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpyf6h79zs1b; Mon, 14 Apr 2025 14:07: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 53EE7cGj032377; Mon, 14 Apr 2025 14:07:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7cj2032374; Mon, 14 Apr 2025 14:07:38 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:38 GMT Message-Id: <202504141407.53EE7cj2032374@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: c816f64e66a0 - main - LinuxKPI: 802.11: plug mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c816f64e66a0d21196ede35da3eca19e54b59a03 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c816f64e66a0d21196ede35da3eca19e54b59a03 commit c816f64e66a0d21196ede35da3eca19e54b59a03 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 16:13:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:50 +0000 LinuxKPI: 802.11: plug mbuf leak Now that we are doing VHT it is possible to overflow the mbufqs we use in the TX and RX paths. Check the return code of mbufq_enqueue() deal with any error accordingly and propagate it. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 32 +++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 149926a54907..73e1e7b1e1ad 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4519,6 +4519,7 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, const struct ieee80211_bpf_params *params __unused) { struct lkpi_sta *lsta; + int error; lsta = ni->ni_drv_data; LKPI_80211_LSTA_TXQ_LOCK(lsta); @@ -4542,7 +4543,21 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, } /* Queue the packet and enqueue the task to handle it. */ - mbufq_enqueue(&lsta->txq, m); + error = mbufq_enqueue(&lsta->txq, m); + if (error != 0) { + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); + /* + * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! + * ieee80211_raw_output() does that in case of error). + */ + m_free(m); +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_TX) + ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", + __func__, error); +#endif + return (ENETDOWN); + } taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); LKPI_80211_LSTA_TXQ_UNLOCK(lsta); @@ -6416,7 +6431,7 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, struct ieee80211vap *vap; struct ieee80211_hdr *hdr; struct lkpi_sta *lsta; - int i, offset, ok; + int i, offset, ok, error; uint8_t rssi; bool is_beacon; @@ -6627,7 +6642,18 @@ skip_device_ts: goto err; } - mbufq_enqueue(&lhw->rxq, m); + error = mbufq_enqueue(&lhw->rxq, m); + if (error != 0) { + LKPI_80211_LHW_RXQ_UNLOCK(lhw); + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_RX) + ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", + __func__, error); +#endif + goto err; + } taskqueue_enqueue(taskqueue_thread, &lhw->rxq_task); LKPI_80211_LHW_RXQ_UNLOCK(lhw); From nobody Mon Apr 14 14:07:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyh23Fkz5ssc2; Mon, 14 Apr 2025 14:07: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 4Zbpyh0zqPz3Qjh; Mon, 14 Apr 2025 14:07:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dxaLCvWiHzIRR6Bc6vFzb9rxf0HpzyrZWq6ZW7bHne4=; b=Txd3Ouokr6HEDLAFoB+s2F3ZFB7qAaszrCFU7+8W0oWxgsR7R9rno4qOB4NNMvgK1CzorR V/2rLnfAJ3O5GRlFZIG7qw7EAz9Wm+pgf053QAcpXoym2SyQFjhXEzvpD+jw4w18WJPkss 8+e/sr/KQLlhBdo6xRU/QqSuGT7WnLegOopHS+s+JL9R5Mv6e421+VKESbuvpV5kZvLje2 B6xJpbtBjmJYseYv8pGRmckA4szRQfL5E8DTvMrr8LURgo5ion09Sm9P5q9SKDV9j5M0U2 XGm1YbLnmWjOnmf/9WWqKCY40VsBInsG+Rq8pHw8F8Gx/lUGKD5WhMYlwQiZtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639660; a=rsa-sha256; cv=none; b=msh0ODefKl2eHdejmb+CH0oiiLB1VrR0lPKJ+vJeU+RSwuLs6UnUiFlbtNl4qGsbozpWlY svjMvGuvCDILO78XDuokcG0xAy7XzNdvj4kCK7hr0Xa845KVLHs8jYkMsrGWX4gGChVEPg y/mzcNfLl6FxGtiAbfa9T9xI0zoFGmQdwOgVaXcZmqPQKZqyj5TILRDeDqkw3w6fu0iovz SoPjFywXZ+fnqrwluPf8CrtdfhS1r+ROTAzjgI0xFALUbPl5wFsjak/JaPApvo0YOf/2xP tgcfYuc4Uce3yPHds6VMCBCuXQGhKQs/iPmzImU+xTE0HlXNuSWCocq7HIhNnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dxaLCvWiHzIRR6Bc6vFzb9rxf0HpzyrZWq6ZW7bHne4=; b=Gp0AtJekj5yPPjt+9xyiI0tQqB7AhdXojnpR3TgYPZl0vFQUhMb4di6AoJbnwSvjJP9/pi EtIn7J8z6IgEJOP/GHx5DlXitHHEWXAbjH8/Dw77Um7tYZYCUp1SCK8COIvYuxR3MYGNS6 jyXOreb+Tf8yNSn1VpnNNJcybPaZKPcW3hE36oR7gFaEQ6W8lJvjw43wjmUf9bgst6b85r GjWK9WBnEgp4M5o/k7slC2X818hpZzg/cUpksCp2L12Ba61kb1Jjiija+e+md5WxOLHWsb F+HoJNUtdW6o3Z2qpdLKmthYx2JQV/gxN82Ug4ag61fMHn076BNoc0yM0PF/5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpyh0Wcgzrx6; Mon, 14 Apr 2025 14:07: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 53EE7dYx032414; Mon, 14 Apr 2025 14:07:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7d9V032411; Mon, 14 Apr 2025 14:07:39 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:39 GMT Message-Id: <202504141407.53EE7d9V032411@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: 9a45c3ca8501 - main - LinuxKPI: 802.11: deal with the error paths for lkpi_xmit() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9a45c3ca850110c5871742fadbf7355c1085c725 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9a45c3ca850110c5871742fadbf7355c1085c725 commit 9a45c3ca850110c5871742fadbf7355c1085c725 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 16:59:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:50 +0000 LinuxKPI: 802.11: deal with the error paths for lkpi_xmit() Rename lkpi_ic_raw_xmit() to lkpi_xmit() as we need a wrapper to add an extra argument as (*ic_raw_xmit) and (*ic_transmit) have different invariants. Based on the caller free the mbuf in the error case or not to satisfy the requirements of the caller. For more information see the comment in the code. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 38 ++++++++++++++++++---------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 73e1e7b1e1ad..fbbaf860c233 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4514,9 +4514,20 @@ lkpi_ic_node_free(struct ieee80211_node *ni) lhw->ic_node_free(ni); } +/* + * lkpi_xmit() called from both the (*ic_raw_xmit) as well as the (*ic_transmit) + * call path. + * Unfortunately they have slightly different invariants. See + * ieee80211_raw_output() and ieee80211_parent_xmitpkt(). + * Both take care of the ni reference in case of error, and otherwise during + * the callback after transmit. + * The difference is that in case of error (*ic_raw_xmit) needs us to release + * the mbuf, while (*ic_transmit) will free the mbuf itself. + */ static int -lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, - const struct ieee80211_bpf_params *params __unused) +lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, + const struct ieee80211_bpf_params *params __unused, + bool freem) { struct lkpi_sta *lsta; int error; @@ -4534,11 +4545,8 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, if (!lsta->txq_ready) { #endif LKPI_80211_LSTA_TXQ_UNLOCK(lsta); - /* - * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! - * ieee80211_raw_output() does that in case of error). - */ - m_free(m); + if (freem) + m_free(m); return (ENETDOWN); } @@ -4546,11 +4554,8 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, error = mbufq_enqueue(&lsta->txq, m); if (error != 0) { LKPI_80211_LSTA_TXQ_UNLOCK(lsta); - /* - * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! - * ieee80211_raw_output() does that in case of error). - */ - m_free(m); + if (freem) + m_free(m); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", @@ -4571,6 +4576,13 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, return (0); } +static int +lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, + const struct ieee80211_bpf_params *params __unused) +{ + return (lkpi_xmit(ni, m, NULL, true)); +} + #ifdef LKPI_80211_HW_CRYPTO static int lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, @@ -4929,7 +4941,7 @@ lkpi_ic_transmit(struct ieee80211com *ic, struct mbuf *m) struct ieee80211_node *ni; ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; - return (lkpi_ic_raw_xmit(ni, m, NULL)); + return (lkpi_xmit(ni, m, NULL, false)); } #ifdef LKPI_80211_HT From nobody Mon Apr 14 14:07:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyj41t7z5ssc3; Mon, 14 Apr 2025 14:07: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 4Zbpyj252yz3QZw; Mon, 14 Apr 2025 14:07:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8Zvween5FsShiOwNce46yn8ih26iVZf6aIf0oBEjBg=; b=xEpCm/lkxioKf8eU1M8cDEK4K8pD8FtsAwL62DKaFBxNPFoUY9DbBfYMaQNfHaIlIQGM6r Zu+GsUJNEaPeee318J1nB3Xv4BfTVVmBle3FMkacvdq1LVN4isFB/g3KUhaPxzjaWxRamt FtDOpwHhXll+6upqiHJcvgNPM72X0c3e9R9awHJgNStgvfR3ZyC5TOV4Phmmswq67b5UVZ FZWkJnaS7taH0DhGaCtKIs9V1S6lKHCtS58zKcN2PQ6BtqPGp0ouaztY+AHbJ+iZSVeqDJ qvLLb1xj2Y84DXeyu3YU95w0Km+dD5wBc41EDUHeaVvMoZ2hmooXm5BtJ90Bwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639661; a=rsa-sha256; cv=none; b=GV2H130Ak6O8LBeWCNmH7V6KAR+MswGxmVIiIkuge8fby3Gghh7nu8NjkQvekjTgsxDiiK vnpVnEpygklYUV+x0qqYBAiRDdu24rGZ0R3j260yMw/dS1OuVCcV6lvtq/upImsyUsynkF gM+8lEh+nICJDGMx9SwoSlFsWQ+4OD7/+QkLIOEmYujeqwFj6VZvxB8ApkvNLHwQwEwHka IdzR4R9KsF4WV9uzkwgyXSv25OCNF/6DGXkJm8qa7Xset/0S7GP1jbp7j+JYWgfP1UsMVC /7UEr0880i9HI5M1L424k/a6VtECQNPkmwJOB+FtzLCAam0Vs2pra7KaUc/fSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8Zvween5FsShiOwNce46yn8ih26iVZf6aIf0oBEjBg=; b=SDSlU0fbE5hHC3ltIbxoE4tOIyG7QvAKMovBziNmHbDrFcjQb1v8QgYC5NC29bwfSdabHk sF1T5gqVEl1ddHEmJ0cBecMvN5klfffCcEZ6xwJuuXtxUFU6rw2Efnkm5DeuBacKNahWTs Fy6A9oYkwXA7FOY+ydJ7nmA7Snjx2Af8JH+4WknQV/N86ge6x2fc54xsGryGeZFnmLFl2w /2k3ZEG1np3/9dBu1T5DYfi43ZvOpoNtwzBrsZrlic+yw0SlqrA7NEmdXGUkBa2LSyXCId xyn0GewcYVJGKpMn9T9FJmga9iRmyU4w3ndxPHID/bOwavRXn56/d7FdfuOevQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpyj1TzKzrfn; Mon, 14 Apr 2025 14:07: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 53EE7fjh032451; Mon, 14 Apr 2025 14:07:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7fH5032449; Mon, 14 Apr 2025 14:07:41 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:41 GMT Message-Id: <202504141407.53EE7fH5032449@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: c013f810ecb6 - main - LinuxKPI: 802.11: better dealing with errors in RX path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c013f810ecb615289c2bd69a10f4317a3a867d50 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c013f810ecb615289c2bd69a10f4317a3a867d50 commit c013f810ecb615289c2bd69a10f4317a3a867d50 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 20:53:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:50 +0000 LinuxKPI: 802.11: better dealing with errors in RX path In case we fail to allocate the mbuf or mtag in the RX path or fail for other reasons report it as ic_ierrors for better diagnostics and more correct statistics. Also do what the comment had indicated and mandate that mtag allocation succeeds or otherwise drop the packet. There may be room for future improvements in a follow-up commit here. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 29 +++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index fbbaf860c233..34b2a3a2f8f9 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6447,8 +6447,12 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, uint8_t rssi; bool is_beacon; + lhw = HW_TO_LHW(hw); + ic = lhw->ic; + if (skb->len < 2) { /* Need 80211 stats here. */ + counter_u64_add(ic->ic_ierrors, 1); IMPROVE(); goto err; } @@ -6458,8 +6462,10 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, * have an mbuf backing the skb data then? */ m = m_get2(skb->len, M_NOWAIT, MT_DATA, M_PKTHDR); - if (m == NULL) + if (m == NULL) { + counter_u64_add(ic->ic_ierrors, 1); goto err; + } m_copyback(m, 0, skb->tail - skb->data, skb->data); shinfo = skb_shinfo(skb); @@ -6524,9 +6530,6 @@ no_trace_beacons: rssi = 0; lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); - lhw = HW_TO_LHW(hw); - ic = lhw->ic; - ok = ieee80211_add_rx_params(m, &rx_stats); if (ok == 0) { m_freem(m); @@ -6629,28 +6632,28 @@ skip_device_ts: } #endif - /* - * Attach meta-information to the mbuf for the deferred RX path. - * Currently this is best-effort. Should we need to be hard, - * drop the frame and goto err; - */ + /* Attach meta-information to the mbuf for the deferred RX path. */ if (ni != NULL) { struct m_tag *mtag; struct lkpi_80211_tag_rxni *rxni; mtag = m_tag_alloc(MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, sizeof(*rxni), IEEE80211_M_NOWAIT); - if (mtag != NULL) { - rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); - rxni->ni = ni; /* We hold a reference. */ - m_tag_prepend(m, mtag); + if (mtag == NULL) { + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); + goto err; } + rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); + rxni->ni = ni; /* We hold a reference. */ + m_tag_prepend(m, mtag); } LKPI_80211_LHW_RXQ_LOCK(lhw); if (lhw->rxq_stopped) { LKPI_80211_LHW_RXQ_UNLOCK(lhw); m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); goto err; } From nobody Mon Apr 14 14:07:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyk4Nnsz5ssc6; Mon, 14 Apr 2025 14:07: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 4Zbpyk3Wxnz3Qgq; Mon, 14 Apr 2025 14:07:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ThPx4huGoAIv7CMxqgDsUneRwSXbBka1hI0J2OOYyM=; b=h/UrF8Gh9cUzS12LFk8GgDTDhaKBavuPWfhIUafWgikN/HX0RyQFW6dlaLI7AtgpSeLdog nhK5awN8zq6C5qVMTGYEsJFZ3iEUFTazEsgThtGicwsOJZTADhzEJgT5TysfYxDB8fCxHK v40l7c9T6BPXJfVgKtajfCK96cCjhTseOt4rhIdoqUTD6NhBIpzji+prj/QIhDCGbWBc41 euTFwmRiwtmU2mTXOvLrv9DqSRd/bPjDWr9xdJ+LThtaNyUCfdigjiWxFqO0bP0mcmP7OA DSdpgk8NHWPYDWrh6yXvY2uM/+t++A7kTvJk3M77NqskcTD2QFR3RVCXHrFCow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639662; a=rsa-sha256; cv=none; b=DVQw4FqM8C6dqyW7ez2O5Nz7YX8k21vuIorW5wIkc0VuKx8B9SzF91utOIp8+0NT1X+1r8 cqZSmdUaEWPLSFlZnyPbqwXgWQ9n5ITeALEVGAmz07CCZZf06f4e9meXymNUJauSJCos9U lu5Wp7YIK9R8UsY5tcFvqVb/zZG4kGuhZ97GBjdWrnhK8pxSn8xHb/fksrskVXtFJFIx1k HILCvgKLdW48ZDQMPmwrskRFyfO4UjUBtL6CkEzQQPvB3ryV9qQ1Ji85eUctJBEOWi5A9n 7EH1tfX8i4m0Y61hqpeUwc/glHOOneYn6dqtGdljeHPE3FUwrKFUDWOlnnV/0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ThPx4huGoAIv7CMxqgDsUneRwSXbBka1hI0J2OOYyM=; b=tF0IwWVL36tS2Xcw/SpO+35SOiZeR8qfbr8RWwHW8wk/kFeekYqRmvQ9z8wtZ/CCKh0958 +LppUSjP8iEHdJ/ysirSpydYsEVTfyD9V6wzoo0eMW9d7hKAcF0CujaBLKrvxURrBxK196 VXI8aMe1yqbVnNXoixOPmsFavhVR7E8wxye3zXgK5dJX4r5VEcsUe8DjAo5tCcI1uE2sMd JdfgCSUxZG3Z7rYHWvbA51i8fuILkKDUGErMve7Zs9QCeqwVYtkZDW1FnMeno/8T1LAM4Z 8CX5b0IPxQp6t10gk9CBYT9xGe+lZ63y2luxFPpd5Bw/wyv/SHT/YXy2G+O8rw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpyk2VXnzs1c; Mon, 14 Apr 2025 14:07: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 53EE7g8a032488; Mon, 14 Apr 2025 14:07:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7gxj032485; Mon, 14 Apr 2025 14:07:42 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:42 GMT Message-Id: <202504141407.53EE7gxj032485@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: 832b8e986c68 - main - LinuxKPI: 802.11: increase mbufq lengths List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 832b8e986c68a43ecf2d6b4af805aaf37087f7d9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=832b8e986c68a43ecf2d6b4af805aaf37087f7d9 commit 832b8e986c68a43ecf2d6b4af805aaf37087f7d9 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 20:57:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:50 +0000 LinuxKPI: 802.11: increase mbufq lengths Increase the mbufq lengths we use in the RX and TX path to decouple the lower and upper parts (currently using taskqs which likely need to be replaced as well now -- was asked not to add more sophisticated concepts 2-ish years ago). The old values of IFQ_MAXLEN (50) are a tad too small so bump them to 32 * NAPI_POLL_WEIGHT (32 * 64) which seems to be mostly enough now not to drop mbufs anymore (by not overflowing the queues). As a side effect TCP became a lot happier as well growing throughput towards where UDP is already. There is more fish to fry but we are also doing ~750 Mbits/sec TX and 400 Mbit/s RX TCP at VHT160 now. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 34b2a3a2f8f9..29f4a95f0336 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -786,7 +786,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], /* Deferred TX path. */ LKPI_80211_LSTA_TXQ_LOCK_INIT(lsta); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); - mbufq_init(&lsta->txq, IFQ_MAXLEN); + mbufq_init(&lsta->txq, 32 * NAPI_POLL_WEIGHT); lsta->txq_ready = true; return (lsta); @@ -5599,7 +5599,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) /* Deferred RX path. */ LKPI_80211_LHW_RXQ_LOCK_INIT(lhw); TASK_INIT(&lhw->rxq_task, 0, lkpi_80211_lhw_rxq_task, lhw); - mbufq_init(&lhw->rxq, IFQ_MAXLEN); + mbufq_init(&lhw->rxq, 32 * NAPI_POLL_WEIGHT); lhw->rxq_stopped = false; /* From nobody Mon Apr 14 14:07:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyl5wMfz5ssmP; Mon, 14 Apr 2025 14:07: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 4Zbpyl3frHz3Qh7; Mon, 14 Apr 2025 14:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nsnxpaQe2nh6K6IzyOe0FS2dt8toPNBvYlrSlWI5iRM=; b=KSYwWCsP+kDaOxU8pAEzAmdr/UR+N2Da/xZoMrhPYcqg0nD7hRw9+9qpGdJg9yeqRZCfu7 rU8NsCDHh4J5g8DnbSZ0I0qfRJGksrMlrRhDXPY3JGGonpqd+NLuFczFzXG3CvwyNVjB3D tvN9B7CvkOz7XK1l6vzmq7Ns0+RX4hMI1fa62zKyCMIw8aW5EoO0QXJ1wS3koQPGx94/8E s++IEtzbSPbV2LXZgMoMHO86iSN1bpNQSK2wARLWqKJT+/xZ8hZ3CDYa+GKhkdEf1wJQhU KX8NC/otKiJIvH4R6DCRPczABCQ8GeJhSmDc7Yy/0L5E2Aubb4sMu8r4D9o/MQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639663; a=rsa-sha256; cv=none; b=hswihgMulpqoQxLsIrrTIT2/ZWorwnLVuBblj76FeqDqfO5eV8XdmuJAm1DvbdQ4jha83F nMqRedLzt6Fjwey5S1VAxvCLJfvBx4xbWXeZAvkf9t4QDuluwaudSLsbLfQMMJSePLD3x6 Nq0FXsoAO3wdy2nXU1MohJWXxImki3FXI4xjjINEPpJ4uZUpZsbY+Gja9XL3b7lS72Gz3Y 0kDUbkXZz86fQho0o7OezVtgm695N+BibSlf1LTN0pkvsPr+FSUkQIxU21mVTZo9oIJ2Iu 1/bJWHr8ZxMr8fzPJmyQ/314jOKb1cfPBk5AC0Mnt4ifMb3CDr4A2pBE2EV/6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nsnxpaQe2nh6K6IzyOe0FS2dt8toPNBvYlrSlWI5iRM=; b=AO6bnBzAtUaumOJb1pg71wIrDrfes7CbO2SUAEyWwpVmwZXJuaaTbeseQxa3L5BF7b3qtN Y1JFtXs0OdQL7t6XuIRDLVclXibnz+tKRmPRwawev6zmMMM1uAchAmlBdDVogm+urZohKY LEPeRoLnN1jt+pwZgaIWSeLekK5GwobNZueM9uOEnS7/CNzy8CryhWxtsNmANfe9NtvLje 23QlL7/kqKd3G9VEUj8PP3DAyl5A61nu4dgrddFQo7Txggoa7qcI83LeoVqoPw50o8Q76t ddfGFfOd1rBxPRlZVHx8RTH8kxc05/rxR6ZmFxiLrfBPpc7je5zNvfumGvDwIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpyl3FYxzs1d; Mon, 14 Apr 2025 14:07: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 53EE7hJG032524; Mon, 14 Apr 2025 14:07:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7hc1032521; Mon, 14 Apr 2025 14:07:43 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:43 GMT Message-Id: <202504141407.53EE7hc1032521@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: dbae3dcff72f - main - LinuxKPI: 802.11: avoid using an mbuf tag for now List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: dbae3dcff72f53abe6874466baea78f552b3a316 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dbae3dcff72f53abe6874466baea78f552b3a316 commit dbae3dcff72f53abe6874466baea78f552b3a316 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 21:53:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:51 +0000 LinuxKPI: 802.11: avoid using an mbuf tag for now We are using an mbuf tag to carry the ni reference in the TX path from the TX function past the taskq along with the mbuf. Contrary to initial assumptions we only need the ni and no other data so attach the ni to m->m_pkthdr.PH_loc.ptr avoiding the extra allcation. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 22 ++++++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_80211.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 29f4a95f0336..4690c65df468 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5643,6 +5643,7 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) /* Flush mbufq (make sure to release ni refs!). */ m = mbufq_dequeue(&lhw->rxq); while (m != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); @@ -5652,6 +5653,14 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ieee80211_free_node(rxni->ni); } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + struct ieee80211_node *ni; + + ni = m->m_pkthdr.PH_loc.ptr; + ieee80211_free_node(ni); + } +#endif m_freem(m); m = mbufq_dequeue(&lhw->rxq); } @@ -6219,10 +6228,13 @@ static void lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) { struct ieee80211_node *ni; +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; +#endif int ok; ni = NULL; +#ifdef LKPI_80211_USE_MTAG mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); if (mtag != NULL) { struct lkpi_80211_tag_rxni *rxni; @@ -6230,6 +6242,12 @@ lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ni = rxni->ni; } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + ni = m->m_pkthdr.PH_loc.ptr; + m->m_pkthdr.PH_loc.ptr = NULL; + } +#endif if (ni != NULL) { ok = ieee80211_input_mimo(ni, m); @@ -6634,6 +6652,7 @@ skip_device_ts: /* Attach meta-information to the mbuf for the deferred RX path. */ if (ni != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; struct lkpi_80211_tag_rxni *rxni; @@ -6647,6 +6666,9 @@ skip_device_ts: rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); rxni->ni = ni; /* We hold a reference. */ m_tag_prepend(m, mtag); +#else + m->m_pkthdr.PH_loc.ptr = ni; /* We hold a reference. */ +#endif } LKPI_80211_LHW_RXQ_LOCK(lhw); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index ebf02994af47..6d5476ff8852 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -86,6 +86,7 @@ #define MTAG_ABI_LKPI80211 1707696513 /* LinuxKPI 802.11 KBI */ +#ifdef LKPI_80211_USE_MTAG /* * Deferred RX path. * We need to pass *ni along (and possibly more in the future so @@ -95,6 +96,7 @@ struct lkpi_80211_tag_rxni { struct ieee80211_node *ni; /* MUST hold a reference to it. */ }; +#endif struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr; From nobody Mon Apr 14 14:07:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zbpyn07Qlz5sskg; Mon, 14 Apr 2025 14:07: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 4Zbpym4llLz3QhL; Mon, 14 Apr 2025 14:07:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8/BkuMj6KOsxh9gAu1L1ZprkHeKtCdR/qdk7Sig4hH4=; b=JQc4LV2DvQtjkq1AsqJiFbwvKVOmXim7Yg6LUYQC5f6a/1EAeWrt3gcNx/1JhhdnxMtIF5 OI6Z6o2HRc+8QT5Ov72nniKFbAyehoGSXJQ5hilyMsWa7tbszUvBRw4s18guQD6z9qD30P rFxqcNsH6PefSEFnijKE6gBF+rLKbNNyMTLQh/1Q8PSYfmPL5C0AJjDcI7jO5EBahbLmjS FfvKUPLgKFR/DUMjvC3VjdrvwMEB3vxmud/4LzfBvUTRqiOWr9L8mmRu/WeN8PzW1oYI49 Gzesy/K4BjPvb9nhUEsW/bgekF8Shv+QTos6I8mmmJi1v0BqmHZix8+FM9uD2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744639664; a=rsa-sha256; cv=none; b=ArEvJCWhT0eCnadnWTGm/sx/1WDNj0q5npFCW5D5KRYSosa9zVhLVqVGJ1r9fN8wRt8/NT 6Ygm4tcLVkBQA6Z1arX4KrJ7GXdZ0j99V6YGAGxYKIuerq8EuEUhL3yAvlmkd3KZd+u1xm qjmvRbseWQ/cOteVBmq6zMvh/d1UJcLed2/J7MSbm+uG3Q8qavvYV7qq4cMaZw6rLtP5Hm AyG5GNl8rUTRUWxko7538q1sIj6qon1lvUkvPuHuO4AHRBfEXpQoF2O91SlckyQAwAwyfx IFGf7JSKF6eZ5SWB3GDEHnJDGEc2wUYmAPJPZDDqDp9OTQIjYkQwZbtYhv0EQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744639664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8/BkuMj6KOsxh9gAu1L1ZprkHeKtCdR/qdk7Sig4hH4=; b=jSY55CWMnMKsyfM+FYoV0U8+3Q0268f5UUbo/cOqcD5SgvyD6NTBrog168w4I1XahdaptO URlTiU37GNNLq1FAdlgmsGbs7V7m/bJdVIv3dwTD09kMBZBVWYtl+Ji0Aza9IueMmtYT+e eumiX4QokFUcmVAw9eQ0YZVBAhrBmw9qCVHaN8VAMEqeK2KPDJUjs4M9p+NlpeBIoOcjJt uUrna3PjVqOIhdaHbjh79ef189XomvwFXndMN2jMpK5DBdEvzNLyU7wvo19k7VBKEJAcO4 6SxKEc2KqlZ7ghnFPlQ6s76lYcZ7WOAaOEXSNMov2LBVXROujlAwRSUAMStzhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zbpym4Dgkzs1f; Mon, 14 Apr 2025 14:07: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 53EE7imQ032567; Mon, 14 Apr 2025 14:07:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EE7ijN032564; Mon, 14 Apr 2025 14:07:44 GMT (envelope-from git) Date: Mon, 14 Apr 2025 14:07:44 GMT Message-Id: <202504141407.53EE7ijN032564@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: a1adefb139b3 - main - LinuxKPI; 802.11: start filling rxrate statistics List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a1adefb139b3c8f95e5255c67705fb92f4d9fc04 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a1adefb139b3c8f95e5255c67705fb92f4d9fc04 commit a1adefb139b3c8f95e5255c67705fb92f4d9fc04 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 23:05:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-14 14:06:51 +0000 LinuxKPI; 802.11: start filling rxrate statistics Start collecting rxrate information from the RX statistics which are passed per packet. Store them in the lsta and upon printing statistics, if no RX_BIRATE is provided copy them over from the lsta. This allows us to see rate information in both directions on modern iwlwifi chipsets, which are doing [tx]rate handling in firmware. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 72 +++++++++++++++++++++------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 + 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4690c65df468..78021bd8e44c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -314,6 +314,13 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) continue; } + /* If no RX_BITRATE is reported, try to fill it in from the lsta sinfo. */ + if ((sinfo.filled & BIT_ULL(NL80211_STA_INFO_RX_BITRATE)) == 0 && + (lsta->sinfo.filled & BIT_ULL(NL80211_STA_INFO_RX_BITRATE)) != 0) { + memcpy(&sinfo.rxrate, &lsta->sinfo.rxrate, sizeof(sinfo.rxrate)); + sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); + } + lkpi_nl80211_sta_info_to_str(&s, " nl80211_sta_info (valid fields)", sinfo.filled); sbuf_printf(&s, " connected_time %u inactive_time %u\n", sinfo.connected_time, sinfo.inactive_time); @@ -6294,15 +6301,17 @@ lkpi_80211_lhw_rxq_task(void *ctx, int pending) } static void -lkpi_convert_rx_status(struct ieee80211_hw *hw, +lkpi_convert_rx_status(struct ieee80211_hw *hw, struct lkpi_sta *lsta, struct ieee80211_rx_status *rx_status, struct ieee80211_rx_stats *rx_stats, uint8_t *rssip) { struct ieee80211_supported_band *supband; + struct rate_info rxrate; int i; uint8_t rssi; + memset(&rxrate, 0, sizeof(rxrate)); memset(rx_stats, 0, sizeof(*rx_stats)); rx_stats->r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; /* XXX-BZ correct hardcoded noise floor, survey data? */ @@ -6369,30 +6378,56 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, switch (rx_status->encoding) { case RX_ENC_LEGACY: + { + uint32_t legacy = 0; + supband = hw->wiphy->bands[rx_status->band]; if (supband != NULL) - rx_stats->c_rate = supband->bitrates[rx_status->rate_idx].bitrate; + legacy = supband->bitrates[rx_status->rate_idx].bitrate; + rx_stats->c_rate = legacy; + rxrate.legacy = legacy; /* Is there a LinuxKPI way of reporting IEEE80211_RX_F_CCK / _OFDM? */ break; + } case RX_ENC_HT: rx_stats->c_pktflags |= IEEE80211_RX_F_HT; - if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) - rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + rxrate.flags |= RATE_INFO_FLAGS_MCS; + rxrate.mcs = rx_status->rate_idx; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) { + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rxrate.flags |= RATE_INFO_FLAGS_SHORT_GI; + } break; case RX_ENC_VHT: rx_stats->c_pktflags |= IEEE80211_RX_F_VHT; - if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) - rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; rx_stats->c_rate = rx_status->rate_idx; /* mcs */ rx_stats->c_vhtnss = rx_status->nss; + rxrate.flags |= RATE_INFO_FLAGS_VHT_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) { + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rxrate.flags |= RATE_INFO_FLAGS_SHORT_GI; + } break; case RX_ENC_HE: + rxrate.flags |= RATE_INFO_FLAGS_HE_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + /* XXX TODO */ + TODO("net80211 has not matching encoding for %u", rx_status->encoding); + break; case RX_ENC_EHT: + rxrate.flags |= RATE_INFO_FLAGS_EHT_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + /* XXX TODO */ TODO("net80211 has not matching encoding for %u", rx_status->encoding); break; } + rxrate.bw = rx_status->bw; switch (rx_status->bw) { case RATE_INFO_BW_20: rx_stats->c_width = IEEE80211_RX_FW_20MHZ; @@ -6443,6 +6478,11 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, if (rx_status->flag & RX_FLAG_FAILED_FCS_CRC) rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; #endif + + if (lsta != NULL) { + memcpy(&lsta->sinfo.rxrate, &rxrate, sizeof(rxrate)); + lsta->sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); + } } /* For %list see comment towards the end of the function. */ @@ -6545,16 +6585,6 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, no_trace_beacons: #endif - rssi = 0; - lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); - - ok = ieee80211_add_rx_params(m, &rx_stats); - if (ok == 0) { - m_freem(m); - counter_u64_add(ic->ic_ierrors, 1); - goto err; - } - lsta = NULL; if (sta != NULL) { lsta = STA_TO_LSTA(sta); @@ -6568,6 +6598,16 @@ no_trace_beacons: lsta = ni->ni_drv_data; } + rssi = 0; + lkpi_convert_rx_status(hw, lsta, rx_status, &rx_stats, &rssi); + + ok = ieee80211_add_rx_params(m, &rx_stats); + if (ok == 0) { + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); + goto err; + } + if (ni != NULL) vap = ni->ni_vap; else diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 6d5476ff8852..a5c052c78db0 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -163,6 +163,8 @@ struct lkpi_sta { bool added_to_drv; /* Driver knows; i.e. we called ...(). */ bool in_mgd; /* XXX-BZ should this be per-vif? */ + struct station_info sinfo; /* statistics */ + /* Must be last! */ struct ieee80211_sta sta __aligned(CACHE_LINE_SIZE); }; From nobody Mon Apr 14 16:10:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZbshD5DfWz5t3mr; Mon, 14 Apr 2025 16:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZbshD4hrDz44XW; Mon, 14 Apr 2025 16:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744647020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N/rqc0xqIysnTB/48sNCB+Vwhz8GO/UDPuybvWTQA50=; b=aeyXxWQKpNAW4Rthv0R7ncf/aSxIgkxi8PtBvJeW2U/ttKF5zHlfswtBmYklJXyJ6A8y0C Brx8kW9jd+9nnWiHZV27LY2XyLIs0Nig8cuW6Xu0iShik/Vw+JotZpHm0RzHnesu4wCHQh W9kZ5LDUtOkOii3Ee951/S9a7OoTMJmF/cIJP/GhteM3gr2mG+FzoZ+tP7MGIQY9BPhPh/ o7jnPsAPw+4gNfoyHh+AVkVtuYRo3lo0vj+PJmbkOA8qyM/H55Ja2qR05M4T7tvyY/ecxx k5iNdrABqUInxDnvMd1x7aL6h47eplwdrNBRc9q1DbB+V/4cavEY+lls2P2bAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744647020; a=rsa-sha256; cv=none; b=NkRVupK05k4tR7d77pJoR0toYCxveP8hF93XAusSC2agTgukjohxNB93vIYdq7ahoRbO5h H5lW7rbJjy/9j8BaQV/Kh3efx48SWICVRDktCVNpXFFFB/KUXClIqxRhHgalVcYgsEQ8tG rvpqOUCD5GE7aFnqmOxsFvCtwPNLBtNKWzHYaorajmyED8tQRBNo6KGOeHCUwrta01hTG4 3kObWj+z4viX7G0uY/ZhguugiXdlmF7WOMQ5L2Lqb4v3Wp5PP6diMuQpegG48x7sVf2vqR ip3QAjIHnWNnM4DbU4XvSa3jJHP8wfu/XSOtGk+WGEf4eGJ/AHVk4+/2yBgZWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744647020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N/rqc0xqIysnTB/48sNCB+Vwhz8GO/UDPuybvWTQA50=; b=ee6KV/kyP1WwSdUB/JANq7/XoFjityrViUmN+bhVnVBxkVMofCgelvkGQBYJAmnMurtNKC W7OAr7dICgo0FKvOrg+mJbrbOGHmSRxJu35Xy+1p8kyW5JGaZKAR04/kuhnTLs3bC/sSGc vLO6ewHHNQ8JwbVY9A0avdhmO1eqFCZZSftR730NZy+QA8TTV8onXldVDBMTOrZSs0yXiH aN+3wEOAECsi4iMbU0B6WnJ+uoPtyBxPvNz7XUMk2Tb/hi5N/LZ5NqbVqet6bML7zGvOjZ dhRVUEI4xppWdrUynxmod0/wKQ0OZ+mwE997S+8VsEB4bVQaDzHPVYESMp+ktA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZbshD3vBJzw4D; Mon, 14 Apr 2025 16:10: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 53EGAK8W066276; Mon, 14 Apr 2025 16:10:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EGAKuI066273; Mon, 14 Apr 2025 16:10:20 GMT (envelope-from git) Date: Mon, 14 Apr 2025 16:10:20 GMT Message-Id: <202504141610.53EGAKuI066273@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 43933d89a325 - stable/14 - acpi_pci: Add quirk for DELAY-after-EJ0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 43933d89a3256f33d0eb29473ac56b3e0e7b9318 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=43933d89a3256f33d0eb29473ac56b3e0e7b9318 commit 43933d89a3256f33d0eb29473ac56b3e0e7b9318 Author: Colin Percival AuthorDate: 2025-03-06 05:22:33 +0000 Commit: Colin Percival CommitDate: 2025-04-14 16:09:49 +0000 acpi_pci: Add quirk for DELAY-after-EJ0 On some EC2 instances, there is a race between removing a device from the system and making the PCI bus stop reporting the presence of the device. As a result, a PCI BUS_RESCAN performed immediately after the _EJ0 method returns "sees" the device which is being ejected, which then causes problems later (e.g. we won't recognize a new device being plugged into that slot because we never knew it was vacant). On other operating systems the bus is synchronously marked as needing to be rescanned but the rescan does not occur until O(1) seconds later. Create a new ACPI_Q_DELAY_BEFORE_EJECT_RESCAN quirk and set it in EC2 AMIs, and add a 10 ms DELAY between _EJ0 and BUS_RESCAN when tht quirk is set. Reviewed by: jhb MFC after: 1 month Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49252 (cherry picked from commit 55c3348ed78fb1d0891e8bb51a8948f95da3560b) --- release/tools/ec2.conf | 5 +++-- sys/dev/acpica/acpi_pci.c | 2 ++ sys/dev/acpica/acpivar.h | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 21ea56d109ca..3675736ab986 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -68,8 +68,9 @@ ec2_common() { # (in fact the PL061 has no pullup/pulldown resistors). Graviton 1 # through Graviton 3 have non-functional PCI _EJ0 and need a value # written to the PCI power status register in order to eject a - # device. - echo 'debug.acpi.quirks="24"' >> ${DESTDIR}/boot/loader.conf + # device. EC2 instances with PCI (not PCIe) buses need a short + # delay before rescanning upon device detach. + echo 'debug.acpi.quirks="56"' >> ${DESTDIR}/boot/loader.conf # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf diff --git a/sys/dev/acpica/acpi_pci.c b/sys/dev/acpica/acpi_pci.c index 97704111839b..b7a2bf70b4e0 100644 --- a/sys/dev/acpica/acpi_pci.c +++ b/sys/dev/acpica/acpi_pci.c @@ -432,6 +432,8 @@ acpi_pci_device_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) acpi_name(h), AcpiFormatException(status)); return; } + if (acpi_quirks & ACPI_Q_DELAY_BEFORE_EJECT_RESCAN) + DELAY(10 * 1000); BUS_RESCAN(dev); bus_topo_unlock(); break; diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 830764434f48..d35504127c9c 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -232,6 +232,8 @@ extern struct mtx acpi_mutex; * as "PullUp" and they should be treated as "NoPull" instead. * ACPI_Q_CLEAR_PME_ON_DETACH: Specifies that PCIM_PSTAT_(PME & ~PMEENABLE) * should be written to the power status register as part of ACPI Eject. + * ACPI_Q_DELAY_BEFORE_EJECT_RESCAN: Specifies that we need a short (10ms) + * delay after _EJ0 returns before rescanning the PCI bus. */ extern int acpi_quirks; #define ACPI_Q_OK 0 @@ -240,6 +242,7 @@ extern int acpi_quirks; #define ACPI_Q_MADT_IRQ0 (1 << 2) #define ACPI_Q_AEI_NOPULL (1 << 3) #define ACPI_Q_CLEAR_PME_ON_DETACH (1 << 4) +#define ACPI_Q_DELAY_BEFORE_EJECT_RESCAN (1 << 5) #if defined(__amd64__) || defined(__i386__) /* From nobody Mon Apr 14 19:24:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zby0p6dcBz5tL1Q; Mon, 14 Apr 2025 19:24: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 4Zby0p5C0Zz3D3B; Mon, 14 Apr 2025 19:24:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744658698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVC3Rlw3juP0xKUP0fzsAZyTFUzQBCllGc0W/kPjUms=; b=JvXq3BgYOcZTErKs0SHX15wN+8IBHzfcR5DQvD9dH9QEpASeB08rw26x99a+ha+sPylBi0 dZ/L7rE+C94/xVjLEhngbHJ146pzdw+4v/vuZjE21c8XXsKMpn3NQRby48D0F9oRlAbQlq c1g4kK4ct65n8fsTaI86rolkDhrYT29ISNt6zGSWpt1Ow1ZMFzE7OE9i/0iFAozgBns4zB fzK7WqRGUKLpVsacUVTYO/xr6ScuVaPtQR55EjbwV9FljeBWY3HZun23Lie3Cw2cvuHDH6 8SKxxgfZZO+yMG5lnEzfPiMrtbPQUSHJR0Z7+WsY7kPNvBcSsMPE8X+Eg1bzug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744658698; a=rsa-sha256; cv=none; b=F2MfqcvCjkO0BcA5EY0NT5Sq+O7YrRzTg6prOhGioDfo1vBDTc4wU/Z3PlcRp4mRSwn4vS +N1BxOtVJNMOpSv3Xx5eDJE+bkQE9PbkT4hNGwhCoW/BRKVSBb9SkMRXi09DAWU2cCwldV b7eP0GERea3xWy5exqwOzhooqcVTv8xaqxgUpy/MZdaI+E1Ld+9FzzKNzJvSpf8o2mOQL0 G01Yj4J2GhufbbCseamXeww5cFCrsF4xDtwd5mIAQ4TlcrivlSjr85o1TruF3Hol7n14yI 2ZFUe1RrNUH/b1MTR+BafSNTxwSyRfM8hxwOApkyPlzc3RQf2jO/422xBgiHNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744658698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVC3Rlw3juP0xKUP0fzsAZyTFUzQBCllGc0W/kPjUms=; b=txGz29VoPAghF/aefjP/6iEjbzz3s9/hcy3XVQHWYqvn9xr699e3Ca8JSynwHBe/7XL6jI QqAmTSeSdz4ubIN6Lr2maUB/yfrSuPRXuSpXFWl6U/F+RsrgDQ7AIn+bGNGeUWkWqoHqmG tMFt/ZRmHWTkQbRjI0OGl65ZsAmmwR/8AlKQHCWslzcX9Gx9Tej2ygyZoDJrZeFGmimY87 a3hH2ymk2XE4tLJ/6qXbCZilW197I+BdN4WCA9N5cHi2H1q8IeocgyLAuUUZw5rqfizSoI 60Z2ENu4AGURTbCzpVKbivgkywPt9Pb8rlMTMDKyLcad5fcTLg06Rv7VgsYf/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 4Zby0p4Zz1z1188; Mon, 14 Apr 2025 19:24:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53EJOwFa030698; Mon, 14 Apr 2025 19:24:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EJOwZY030695; Mon, 14 Apr 2025 19:24:58 GMT (envelope-from git) Date: Mon, 14 Apr 2025 19:24:58 GMT Message-Id: <202504141924.53EJOwZY030695@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: fcda475ccfca - stable/14 - OpenSSH: Fix logic error in DisableForwarding option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: fcda475ccfcabe6f70e6ef25ccd507ac4b92c1ee Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fcda475ccfcabe6f70e6ef25ccd507ac4b92c1ee commit fcda475ccfcabe6f70e6ef25ccd507ac4b92c1ee Author: Ed Maste AuthorDate: 2025-04-09 14:54:46 +0000 Commit: Ed Maste CommitDate: 2025-04-14 19:24:47 +0000 OpenSSH: Fix logic error in DisableForwarding option This option was documented as disabling X11 and agent forwarding but it failed to do so. Spotted by Tim Rice. Obtained from: OpenBSD d31ec64016fc Sponsored by: The FreeBSD Foundation (cherry picked from commit 3620d70511dc8bf45752028dac0af6f157ec6146) --- crypto/openssh/session.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/session.c b/crypto/openssh/session.c index 591f1e329a8d..03a20f9d9648 100644 --- a/crypto/openssh/session.c +++ b/crypto/openssh/session.c @@ -2194,7 +2194,8 @@ session_auth_agent_req(struct ssh *ssh, Session *s) if ((r = sshpkt_get_end(ssh)) != 0) sshpkt_fatal(ssh, r, "%s: parse packet", __func__); if (!auth_opts->permit_agent_forwarding_flag || - !options.allow_agent_forwarding) { + !options.allow_agent_forwarding || + options.disable_forwarding) { debug_f("agent forwarding disabled"); return 0; } @@ -2589,7 +2590,7 @@ session_setup_x11fwd(struct ssh *ssh, Session *s) ssh_packet_send_debug(ssh, "X11 forwarding disabled by key options."); return 0; } - if (!options.x11_forwarding) { + if (!options.x11_forwarding || options.disable_forwarding) { debug("X11 forwarding disabled in server configuration file."); return 0; } From nobody Mon Apr 14 19:25:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zby1P5T9Xz5tKmm; Mon, 14 Apr 2025 19:25: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 4Zby1P2fkdz3DHC; Mon, 14 Apr 2025 19:25:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744658729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcvEDN9AHH7SAJyL8arcDLu+jJVYojrctu5Hp0qbANA=; b=QFnJvQrrb1nPt9NSDi0+6bIxnms+9meMex7fpFhjJ0pUCyI/bGsGIY0ZIfgpz+zm7NNLO9 lFIHBRpxcpz3xKPAO0ifhqKcojPoo8DMDagN7aqA8A3ZtByDvD6SfRAx+FIvbjiVMnVhR5 Chkt0Hru2yPafEHexzovFeSIcm4e4+Q9LuAzvV7HF3ShOKuxn87R+uANSpM3305dmlHm5M zhBzaH3UFqgY9LKIKIbf5tVx1ZF1zwrUWaacSBkiPr3XlL/s+Erj6gfviidxUqgkPOllTl j7KS92ZIo90MOqu0AsRCNsxvdM/BI0t3TdqWfcp/XrWxCPW4vRPpqQMMzLGKkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744658729; a=rsa-sha256; cv=none; b=b2FCZrmDp3G6AE0ej+ahbSFumx7lZI8On5IZ5YgmuuYexLicuWeMxwnlVO+3IzA1fasCXq LPQ7nBTOIrcRyznuK3SF4VZa+EjD4wcwJe66+4dklc8yip7Yf9ZVyMYEguDrx+TcTaS2wx XftDReoXtZ7YqX4ozmQZeDHZ1j8jmW8V18xpsW8MMW2rpDCOD5e4CZ4TRq5elGZkeKcVB2 TtGk3WYnz8mr+VC4dzKwo70PrsXIbFqvso956x6sHD6sYUy0HGXaeDhHPQ2RiywlT2AjmM /xWc0/NHcnC5jRwxq1EOIVsmSaJpLKfLnJkDTYHZWRjpgl3jLHaaMFQERitUZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744658729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcvEDN9AHH7SAJyL8arcDLu+jJVYojrctu5Hp0qbANA=; b=EpcKyw7FqKofXMKPrCCHhVNsOdl7UIBQcKraKOO5WVOQu0NALpcHlCwePmkLuyobIaTCH+ JC+o7w/UGZFupNV3s8p+zSMRliHb2rvScbUDnuuhMS3tdC5kmkgF/CVJaU4hSnpBbDj/BB D39C40UyAFOW5TxhwHlxai2gZoGia6jqs9I/Q6+U8vjqAzjAYQvbSDRVRB1yP7d9bJqXB7 dAO8twf6/mX9xyFdK5XC77kZuAuiBPTapFAAKdmy2hx8IjSf9ZvRY7TllUbyN29V0LAL8v aCzqIM7bt4GFNRuICTpnvTlB2B8G6sFNuavnN6bkGe7MvST9FRo0X2FEvJUYVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zby1P2Fv3z11wv; Mon, 14 Apr 2025 19:25: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 53EJPTjN030980; Mon, 14 Apr 2025 19:25:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EJPTcY030977; Mon, 14 Apr 2025 19:25:29 GMT (envelope-from git) Date: Mon, 14 Apr 2025 19:25:29 GMT Message-Id: <202504141925.53EJPTcY030977@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: c976df712c0f - stable/13 - OpenSSH: Fix logic error in DisableForwarding option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c976df712c0f64d43970be7036301ce7cf558a78 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c976df712c0f64d43970be7036301ce7cf558a78 commit c976df712c0f64d43970be7036301ce7cf558a78 Author: Ed Maste AuthorDate: 2025-04-09 14:54:46 +0000 Commit: Ed Maste CommitDate: 2025-04-14 19:25:13 +0000 OpenSSH: Fix logic error in DisableForwarding option This option was documented as disabling X11 and agent forwarding but it failed to do so. Spotted by Tim Rice. Obtained from: OpenBSD d31ec64016fc Sponsored by: The FreeBSD Foundation (cherry picked from commit 3620d70511dc8bf45752028dac0af6f157ec6146) (cherry picked from commit fcda475ccfcabe6f70e6ef25ccd507ac4b92c1ee) --- crypto/openssh/session.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/session.c b/crypto/openssh/session.c index 591f1e329a8d..03a20f9d9648 100644 --- a/crypto/openssh/session.c +++ b/crypto/openssh/session.c @@ -2194,7 +2194,8 @@ session_auth_agent_req(struct ssh *ssh, Session *s) if ((r = sshpkt_get_end(ssh)) != 0) sshpkt_fatal(ssh, r, "%s: parse packet", __func__); if (!auth_opts->permit_agent_forwarding_flag || - !options.allow_agent_forwarding) { + !options.allow_agent_forwarding || + options.disable_forwarding) { debug_f("agent forwarding disabled"); return 0; } @@ -2589,7 +2590,7 @@ session_setup_x11fwd(struct ssh *ssh, Session *s) ssh_packet_send_debug(ssh, "X11 forwarding disabled by key options."); return 0; } - if (!options.x11_forwarding) { + if (!options.x11_forwarding || options.disable_forwarding) { debug("X11 forwarding disabled in server configuration file."); return 0; } From nobody Mon Apr 14 22:05:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc1ZM3hGYz5sL0q; Mon, 14 Apr 2025 22:05: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 4Zc1ZM2ybcz3R03; Mon, 14 Apr 2025 22:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744668347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se8RXIBFVtdcCWJcp1IP4IRVmdaIxK+mMrZ4A7wIJ8A=; b=iShg6OMeTT6nrVBhGcIjhzlrAp2KvGI6xCRZyIlooRitdCbXKzRFB1xb12wdghYD0OuPvq fNcUZm6/LaNfpOMFpuZgQTLaURpNuchMlLN8tt6fhaM302Rlcwj5GFleTv5YCljSg9sya4 E9Jfly7vC4QbG+8YPDemIoWhkuU1WrCJwhrM/rXCm5EH0Cr43VXLgiCcqVHW/mvHGeeg2v XYiGIA8N/c4hvWmgqB9yRHQTSli1M22sOWQQOLIcYr7fOl9LMHgllwxWWVbAUWFyQ8y8I7 pkkoYKgbB1NREiPfdPYm1S8tDNw+XI3gMaP7V7Ex3WM8IqSmruEKO9xi59tWzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744668347; a=rsa-sha256; cv=none; b=k29DieGkOpvJmqHapwiyFUUYDySSB+h4Pv9nUz24zbulrmsRXSobTF2arHpSPCLhRZJMRx ysgPoehBVsr463S3gM7DI5sdiSQlk++pBt1xhHFzRkTcLSEu3hd81Euh0+ekDWGPvIsodf 7oo+SEU86u7mQjPzYSquELkrFrTUmLAodNF39N8yS5bnq+uxF4wt4s3Sv7BQEhv8BB5w1F 5FJYBCB3eZOuKr/SZ9OKwuIP280e4JFODrartazRRC+4creJ61KjA7Yp50/PDe/tG6AAX5 NwigmEI2AMFKZWBBmDtjP8jwcCBGLjtJnsBeiBpJeLLicUFCHcG9saEcb1JwrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744668347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se8RXIBFVtdcCWJcp1IP4IRVmdaIxK+mMrZ4A7wIJ8A=; b=kOL5G7lmRgT4lnj4pYDfRtniDE+fSE9MSOyvibxhjkd06iCdLKegv/eR66J3NA13RtecqF 6ekRDoOWVx3Hw7zQMlSdvzMMTxf/VykMyga8ZMehOOZ+zROtesaKAhHJCfQWtCqVSfgBeG ccJ7DQ9Jnn8gxKZUt5jz3LPQ9eJqRyacrH5vXyjNoK21f9fhNiuqnpMNYkRVEjwdweFrEh G1HwEfW6rQS7wlbwXEREU8DsGWhiz7hpHt2/7V0qoklaGd+AdXS9mhLFtYzcMrdkszgpIC kIpMBm866bQm+VOADM21WzSSx83J7Q1gJnwLw8n6/4y467v/HCXi1qtX0crI4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc1ZM2Yw4z15PH; Mon, 14 Apr 2025 22:05: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 53EM5lJW029475; Mon, 14 Apr 2025 22:05:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53EM5lag029472; Mon, 14 Apr 2025 22:05:47 GMT (envelope-from git) Date: Mon, 14 Apr 2025 22:05:47 GMT Message-Id: <202504142205.53EM5lag029472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: dd9e59beebbb - main - symlink.2: document EOPNOTSUPP List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd9e59beebbb346f329dfd1de26a84da8afdcb1d Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=dd9e59beebbb346f329dfd1de26a84da8afdcb1d commit dd9e59beebbb346f329dfd1de26a84da8afdcb1d Author: Michael Tuexen AuthorDate: 2025-04-14 22:03:19 +0000 Commit: Michael Tuexen CommitDate: 2025-04-14 22:03:19 +0000 symlink.2: document EOPNOTSUPP When the file system does not support symbolic links (like in the case of MSDOS), symlink() returns -1 and sets errno to EOPNOTSUPP. Document this behavior. Reviewed by: glebius, markj MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D49803 --- lib/libsys/symlink.2 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libsys/symlink.2 b/lib/libsys/symlink.2 index 6892586f69f2..b5d878aaae50 100644 --- a/lib/libsys/symlink.2 +++ b/lib/libsys/symlink.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 30, 2020 +.Dd April 15, 2025 .Dt SYMLINK 2 .Os .Sh NAME @@ -92,6 +92,10 @@ or the entire length of either path name exceeded 1023 characters. A component of the .Fa name2 path prefix does not exist. +.It Bq Er EOPNOTSUPP +The file system containing the file named by +.Fa name2 +does not support symbolic links. .It Bq Er EACCES A component of the .Fa name2 From nobody Tue Apr 15 00:50:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc5D63Dwdz5sZpy for ; Tue, 15 Apr 2025 00:50:14 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zc5D538TCz3llP for ; Tue, 15 Apr 2025 00:50:13 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43ed8d32a95so41948865e9.3 for ; Mon, 14 Apr 2025 17:50:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744678211; x=1745283011; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MxfdrDNVvzeyGRNaXgLjeW4NH+cgaVmlAVWoO1ke5HY=; b=JCTiPFXQYEq9WtHnW8H74SsOz6lLmjpWXWafuCMU02x59ZTbLj2RzRayKju6K4gSpg W8e7Fqj4Z7gUpGd9GFmtJGTeOoKLTzED5fJEK/OsejcMEJHlrwG83d+PduvgwApCuGfC POHbKDt6+Ptuj/SitBeboxraTh1qlnqxy+D87CbsDH/MOANhpzdlNfW20aneqwIJdxYK xT5gU50pboz1KtAVcXXvrL+9pzgJXBua+8C3lpPL9pkaaRB2eEaY7vDSydDh/TgEcB8T ps/jTLov/BQTZ+hW1SJkds4PmuQz2Q3QwU9SDRfEyt07ZNAkaCEO1u9Ccu7A1JUOCtYD piFg== X-Forwarded-Encrypted: i=1; AJvYcCXwFtkk9I3jC7fVvrPMPPU5jnY+0rX26r6R7HR/q06gcif3cfx9Q6UfnKKhAydXMUEUo1eyLuRB95o+kI2kDjLdzT0w@freebsd.org X-Gm-Message-State: AOJu0Yy95jepGKdbRB0vOBB/y2rS1MZGwGtZJcjpb4qgg0nY5/iYEpzo jnaHH0R7vCWC4SNuA/fjK1XoRs4lxB6B2eOToLuG/tSMli2GhUVMzG2xQ8/Fe34= X-Gm-Gg: ASbGncvmdvKsVZff/cC0EndR501qo0E+fRt8oV2GUZFp0yoO3nijyDFocls0VOIYQNA msRKbG3DnmvQDElhBO9Oga1Lo46G9YsyiM+ZqsSs/vhx7m7QX2jEwMK9GlBxREH0usvrhIv/i+m y/bnqRdwxokRAbhh6lcG1j0k2V2/CSPse5NojwrV1uPdlshmdxb3cXADzODcpppmJHmJC9rVU7Q 6XNRoLkP0O+h/IqrA4SrclbM9I4mLAbMDh2d4a5Bq6iAIOORCMMqZ1uQOJ6GxH6vQz0Y4cRlvT5 d5MYPscqrzaH2fVE/WIzHq36y6Ie2WGmHgZOAtFr/ywXwqdj5gMbzFE= X-Google-Smtp-Source: AGHT+IGJP8I4yd2CALSfouHXz+L2TddLVEjPWtvCe/yskdNTGMf7VrAJqmAk8tZpFt6HiDU9PpeiKQ== X-Received: by 2002:a05:600c:470d:b0:43d:2313:7b49 with SMTP id 5b1f17b1804b1-43f3a93d7dbmr112309095e9.12.1744678210893; Mon, 14 Apr 2025 17:50:10 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43f2075fca5sm199667805e9.32.2025.04.14.17.50.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Apr 2025 17:50:09 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: git: 58308fadece2 - main - Import ACPICA 20250404 From: Jessica Clarke In-Reply-To: <344EBC2C-170D-4CEE-A15B-E67EA861E216@freebsd.org> Date: Tue, 15 Apr 2025 01:50:07 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <4DD5B164-2BD3-4C7E-BFE9-300CD999C7B8@freebsd.org> References: <202504110341.53B3fTLQ090967@gitrepo.freebsd.org> <344EBC2C-170D-4CEE-A15B-E67EA861E216@freebsd.org> To: Jung-uk Kim X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Spamd-Result: default: False [2.39 / 15.00]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_SPAM_LONG(1.00)[1.000]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; NEURAL_HAM_SHORT(-0.21)[-0.208]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEFALL_USER(0.00)[jrtc27]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.53:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; R_DKIM_NA(0.00)[]; RBL_SENDERSCORE_REPUT_8(0.00)[209.85.128.53:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.53:from]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4Zc5D538TCz3llP X-Spamd-Bar: ++ On 11 Apr 2025, at 04:50, Jessica Clarke wrote: > On 11 Apr 2025, at 04:41, Jung-uk Kim wrote: >>=20 >> The branch main has been updated by jkim: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D58308fadece25ae4c12bd2f4dce3d73d= 9c23be43 >>=20 >> commit 58308fadece25ae4c12bd2f4dce3d73d9c23be43 >> Author: Jung-uk Kim >> AuthorDate: 2025-04-10 03:51:28 +0000 >> Commit: Jung-uk Kim >> CommitDate: 2025-04-11 03:40:07 +0000 >>=20 >> Import ACPICA 20250404 >>=20 >> (cherry picked from commit = 97a7606d897edfa3089cb04eea70096a1f9cf734) >=20 > Did you really mean to cherry-pick rather than merge the vendor = import? Ping? Jess From nobody Tue Apr 15 00:57:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc5NW28Fhz5sbK4; Tue, 15 Apr 2025 00:57: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 4Zc5NV4Xrvz3ptY; Tue, 15 Apr 2025 00:57:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744678650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gnIaVsqWObTj4piJjjw0n8GJ/cK+pNMq1410STM2dtw=; b=Vpfl3LzMDLhe6kQ7k19gIvMSneKdXpdcva88pzx4hvSORpA0v9QGKycHR68K7f3DABaUe+ WSgEthtrKXzOwf5z9eW8H8ZjxUxvh71tcc6uxs5moxI8/FMqmnUick7f+7bP/3v2+6yRJM 7dTuXbopdmZxZd+Jp7uGX3tEzu87I/C1RsWqJcS4DO1e98Gs1kSACjwpet/2e5mPweFr1k Q7+xJd6RfbjKVinKJ7A1dBOEXfH0hrgG8MxeYZQErW2yAz1jo0XwgcxpXfmMyqzgvAs5Wz G46Tq/CUtc6sIpaOBs9XpKFHDOg1hIa20n2vWkLsefFMJ3sQ7rnyoO3pp+Og3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744678650; a=rsa-sha256; cv=none; b=UgK+hH3KqOPISrcs/T7g/jthn1VCjCiGkuM/+q4EvlxgGl88ndMVm1zEDBvHLkC/J96MI6 kJtfclz7MHgOz8OnM7vPTi1eWLp/gLn5qfLwPWQpdI5f91CXQy8jvuQrzAYHAIKEMRh3mN dhxcttKlKVMTjYgH2pMMhkyo/cUmdvmFRCtrmCQP0cEV/bfr33DooCPEdg/mFpr5oFHy7B L16Vs3wW/PlHTSp/rmMLNy+C9Xw/YbI7SVOJZWM9afqLb4vkbkSPm5SgPrtgT44Mw/f/VF 7OBIEG/Iwub1mHE8Wy8I/TvMfs9S7IjDKA51G8AllY5NaXW65rYwDcpF6Uc5JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744678650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gnIaVsqWObTj4piJjjw0n8GJ/cK+pNMq1410STM2dtw=; b=Q62gDixf8cXknWDgpozs8g+vc5f4ARfoQLjI5zhWhZmLxTXg1on/R8dEJEhwSsaK402cN0 sFKTOFIqqsuzsZ0efcmk7CDTdz2Jakph6jGSpo4jL+3u/I9YuYSyM/R8fY1SXbTy9SGe1T YLW46LZg42YQqGcBxhkuEsfROC2bQdICYh4IwSdFLVaDkzLFIREHKVdZ7KhfDPHHr4RLHH 4y0yH5+lrxt+M4x1/Hj4kXDlDuOEIk7Uxvp8D+CvR1tDOK4jQbL4uGwEnLP+0TRbkeAvoY 0psaDKJBLIRESsv/Su3tqxOeA39V/DA4Z3TwJfumgRjbnXb/JuPH7lu/kmtDzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc5NV3tGVz1B1d; Tue, 15 Apr 2025 00:57: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 53F0vUE7046028; Tue, 15 Apr 2025 00:57:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F0vUis046025; Tue, 15 Apr 2025 00:57:30 GMT (envelope-from git) Date: Tue, 15 Apr 2025 00:57:30 GMT Message-Id: <202504150057.53F0vUis046025@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 992b18a9ec9f - main - so_splice: Synchronize so_unsplice() with so_splice() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 992b18a9ec9f21cdf15b70b2f510fa2a69844385 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=992b18a9ec9f21cdf15b70b2f510fa2a69844385 commit 992b18a9ec9f21cdf15b70b2f510fa2a69844385 Author: Mark Johnston AuthorDate: 2025-04-15 00:55:00 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 00:55:00 +0000 so_splice: Synchronize so_unsplice() with so_splice() so_unsplice() assumed that if SB_SPLICED is set in the receive buffer of the first socket, then the splice is fully initialized. However, that's not true, and it's possible for so_unsplice() to race ahead of so_splice(). Modify so_unsplice() to simply bail if the splice state is embryonic. Reported by: syzkaller Reviewed by: gallatin Fixes: a1da7dc1cdad ("socket: Implement SO_SPLICE") MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49814 --- sys/kern/uipc_socket.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index ac00696236a5..291a832189e5 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -1742,6 +1742,8 @@ so_splice(struct socket *so, struct socket *so2, struct splice *splice) /* * Transfer any data already present in the socket buffer. */ + KASSERT(sp->state == SPLICE_INIT, + ("so_splice: splice %p state %d", sp, sp->state)); sp->state = SPLICE_QUEUED; so_splice_xfer(sp); return (0); @@ -1770,8 +1772,19 @@ so_unsplice(struct socket *so, bool timeout) SOCK_UNLOCK(so); return (ENOTCONN); } - so->so_rcv.sb_flags &= ~SB_SPLICED; sp = so->so_splice; + mtx_lock(&sp->mtx); + if (sp->state == SPLICE_INIT) { + /* + * A splice is in the middle of being set up. + */ + mtx_unlock(&sp->mtx); + SOCK_RECVBUF_UNLOCK(so); + SOCK_UNLOCK(so); + return (ENOTCONN); + } + mtx_unlock(&sp->mtx); + so->so_rcv.sb_flags &= ~SB_SPLICED; so->so_splice = NULL; SOCK_RECVBUF_UNLOCK(so); SOCK_UNLOCK(so); From nobody Tue Apr 15 01:02:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc5VH0H5fz5sbWr; Tue, 15 Apr 2025 01:02: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 4Zc5VG5glBz3rc3; Tue, 15 Apr 2025 01:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744678950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpi0QCCNfKeKkxR3NWY9HHtiWuL2lzwOAaGLisYmtl4=; b=MRrnYKHdqK0DqTotK7Fl98Dx8sg9GTCKg69opZHV7tpKNnZZB3h6UPGHTmbLfR7oWJ7Mzk 99EhqDt6qVUp2vgYgiDlqfFwIV3se6JBvbJKXrlOEKTjxsCK/fJ7NKVpm7Piw6EIKPII0y HJj5wPp6l8W0BdyFjqvpyyCeAhRpTOa88Rw0uXvcGK2miwi7ubEiWQImoGVEOLV1Y1/Rqe FcVDuIyeOxlgZBkWUvxFmiD08B9SNsxBJcpUmJQekwXtqusVJiMQy8aBIUQz5S0QZz7VQr efmHffbhVc2YbBYG82S6uqTDfa6EI3Lbhcz22gd5sakBOXHiInfBqrwSij6Cjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744678950; a=rsa-sha256; cv=none; b=cThNl2FGGYvPBGLUiIeC0eBdCzfLxho1weJzLbK8BkVdyG3r3UeiqNz04nGnA/WluEEq3/ 8V5EV3xn9txHB9FSoYXheDDimr5XrWi5YmSNlHsnDWRUMZvhEKMnVkEIzX/OQfxpUNqkab yFALMZv/du72Yq29dbw7x6QKPlXc8wu1ZXV2GY/Jlgnj0MjW1vxbnQPPTdbucCy0A+mNGA SMjzJnOJHw/x82LrN/2s2gmRrGhE3yuQusvwJPH3L6rZw/lKgO6xHLqqwkrYcWzcDan2Oo h5K+PrwVIjoRTTIvmFkzNEmu8H3I/+AzfWRaSgbF0ds4bjaUjwISiCVDWdN8DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744678950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpi0QCCNfKeKkxR3NWY9HHtiWuL2lzwOAaGLisYmtl4=; b=WouCliqfPqHFkY5OYEXB3f8RE6VCdHYgUhk1kV3GZ0QK2liM/1yXwV2T4N0b/+q7605+6i 9DkvaipjC6wOIbfIrpJI+tGyvTIuV/1ATsXcJHPkx1qRMQ0sWDJvY5dEG9G2SQv1Jmu5AN HrTYIBFU+Es1ZgmBLK2ztywMM1Od2Qa4ml9jRdwiqKwV8lAc+L/pR6EHuqaIzgu3d/wlVo ZPSXH7uxmeQWGUB2x48RgLu+SxhgAHlhnROkdRlI5tuTLfXOHDF8bQYRs/X0abT3S68O9z 8r36BfEEn9Jmy/Ba0V/0BAvlOyw18tp4lDk/wP8iz4udHPdcakSd9ck9FKT0ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc5VG5CtPz1B9G; Tue, 15 Apr 2025 01:02: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 53F12UG1063894; Tue, 15 Apr 2025 01:02:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F12UQl063891; Tue, 15 Apr 2025 01:02:30 GMT (envelope-from git) Date: Tue, 15 Apr 2025 01:02:30 GMT Message-Id: <202504150102.53F12UQl063891@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: 0164dc98510a - main - release: Emit warning if NO_ROOT used with pkg-stage List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0164dc98510a3e7089d1347b02fbf70120cfda3b Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0164dc98510a3e7089d1347b02fbf70120cfda3b commit 0164dc98510a3e7089d1347b02fbf70120cfda3b Author: Ed Maste AuthorDate: 2025-04-11 16:03:10 +0000 Commit: Ed Maste CommitDate: 2025-04-15 01:01:56 +0000 release: Emit warning if NO_ROOT used with pkg-stage pkg-stage.sh (used by the disc1 build) does not currently support METALOG output for NO_ROOT builds. Emit a warning for this case. PR: 283387 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49785 --- release/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release/Makefile b/release/Makefile index 44344c9ff20a..d908059d781b 100644 --- a/release/Makefile +++ b/release/Makefile @@ -320,6 +320,9 @@ packagesystem: ${DISTRIBUTIONS} pkg-stage: dvd # TODO: Support for -DNO_ROOT .if !defined(NOPKG) || empty(NOPKG) +.if defined(NO_ROOT) +.warning pkg-stage does not yet support NO_ROOT. +.endif env PORTSDIR=${PORTSDIR} REPOS_DIR=${.CURDIR}/pkg_repos/ \ sh ${.CURDIR}/scripts/pkg-stage.sh mkdir -p ${.OBJDIR}/dvd/packages/repos/ From nobody Tue Apr 15 02:25:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L3383Qz5sjbM; Tue, 15 Apr 2025 02:25: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 4Zc7L32DPpz3Lvs; Tue, 15 Apr 2025 02:25:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0WhZMF2wyLeDO+iWTGVjxr5CSdSlncwpe0IetGTg0Q=; b=dgAul/FgmlUV8VQE8hcfN0Pno5vaxGtfNAT2kiA4HHT58qDtPjgfn8icZaysQjmr3HXodm aWXPS35ytRkTg000MQkVoblYLC3L45orYfV4AT/Av8uWVvYHWhYK1w7D9Pc6m/KEIEGWuF /4DPyxW76yz/Wzuy6e6VQiJ93ub4Dru/wKpcmQTbqsJdZM1y4Zi6JS52iJ8HPrmBlXujJJ f3yjuYxBsJh84ZtSERLSA6HKRJNlA4Oqk99fZUT8pP58z2sRBduDJKpiW6WfZD1Ze7AToI dacvkmX+w6B/WojoGNuRlw7eQtXZ359VScZPQFimdx2GBRFtsfabHxrv/l7Olg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683931; a=rsa-sha256; cv=none; b=Kg3Zcb3hOtWOr8qvD13UXNab44GljRcOBNzF6MWpLwcK3NyLt7Lv/yXjOcOetH7JkQ9N7M VuYUjo/BB17X59wC/RRfDWqqVFA0k38iQ49AClcJshuSM+ntMtFIJB0i+2cf7K9HpquGuh mUYjDBBNDGHs5WhK1i4dC/CTR3JeDO5VRFxQnY7LJEdev8i1271pl/tIc2cfEXDE9YCC5M 5z3dRKLw3KNy1XJdA3aO+tMb0sri/QZQ3+Xj20mKXgyDdx7NrdLKrD1jWuhRnPUdxC89WK nWu7wSUl7qpdCwL+VX1uYuwLBYFKBdqqiMNCSNSCsY2/w+Gy1xXFjFqSxp7wDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0WhZMF2wyLeDO+iWTGVjxr5CSdSlncwpe0IetGTg0Q=; b=SOM5PtuzEllvskQGt+8c5ea37LDazopCNb7CuziHu+zu6rW8sSRMQ2imqlOgcRoEpsZNyN yTlY6ZDVgyNbpbwRnNAbo701IZiVhqi8CY9+lDy+4PwfPJcTeN5tVA/Ra0J1Fd5dWGELOP KcLErBO9k3ukLD5Z93VRddS8nDEHL5VMv5CoxVDi20OEFZZVTucq5C4VhoFs32pwWnKZfk BMmzTJh8TcR6LPa2I0uHKlJqx8khEHTjWalHP79242sUxG+LBghVJusWIRuf+UQSAnRpV9 7vMorxyhiw16fD6nv9Mln+Y2yHQvzyNUACzdaci2RpoYYWsL+8qHbjdSAzGYrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L31JqCz1Cct; Tue, 15 Apr 2025 02:25: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 53F2PUco014407; Tue, 15 Apr 2025 02:25:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PUTa014404; Tue, 15 Apr 2025 02:25:30 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:30 GMT Message-Id: <202504150225.53F2PUTa014404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 52465324497a - stable/14 - socket: Handle the possibility of a protocol with no ctloutput List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 52465324497af565076a584280299135ae6cbebd Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=52465324497af565076a584280299135ae6cbebd commit 52465324497af565076a584280299135ae6cbebd Author: Mark Johnston AuthorDate: 2025-03-29 08:55:08 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 socket: Handle the possibility of a protocol with no ctloutput Add a default ctloutput handler and remove various NULL checks. This fixes a problem wherein the generic SO_SETFIB handler did not check whether the protocol has a ctloutput implementation before calling the function pointer. Reported by: syzkaller Reviewed by: glebius Fixes: caccbaef8e26 ("socket: Move SO_SETFIB handling to protocol layers") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49436 (cherry picked from commit 590b45036ee16163f9eb8c34791d197e76de502d) --- sys/kern/uipc_domain.c | 7 +++++++ sys/kern/uipc_socket.c | 12 +++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 22b8a17295ed..221ac19287e0 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -106,6 +106,12 @@ pr_control_notsupp(struct socket *so, u_long cmd, void *data, return (EOPNOTSUPP); } +static int +pr_ctloutput_notsupp(struct socket *so, struct sockopt *sopt) +{ + return (ENOPROTOOPT); +} + static int pr_disconnect_notsupp(struct socket *so) { @@ -210,6 +216,7 @@ pr_init(struct domain *dom, struct protosw *pr) NOTSUPP(pr_connect2); NOTSUPP(pr_connectat); NOTSUPP(pr_control); + NOTSUPP(pr_ctloutput); NOTSUPP(pr_disconnect); NOTSUPP(pr_listen); NOTSUPP(pr_peeraddr); diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 7a4e3b1f2507..fffb1d5b9af4 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -3793,10 +3793,7 @@ sosetopt(struct socket *so, struct sockopt *sopt) CURVNET_SET(so->so_vnet); error = 0; if (sopt->sopt_level != SOL_SOCKET) { - if (so->so_proto->pr_ctloutput != NULL) - error = (*so->so_proto->pr_ctloutput)(so, sopt); - else - error = ENOPROTOOPT; + error = (*so->so_proto->pr_ctloutput)(so, sopt); } else { switch (sopt->sopt_name) { case SO_ACCEPTFILTER: @@ -4004,7 +4001,7 @@ sosetopt(struct socket *so, struct sockopt *sopt) error = ENOPROTOOPT; break; } - if (error == 0 && so->so_proto->pr_ctloutput != NULL) + if (error == 0) (void)(*so->so_proto->pr_ctloutput)(so, sopt); } bad: @@ -4055,10 +4052,7 @@ sogetopt(struct socket *so, struct sockopt *sopt) CURVNET_SET(so->so_vnet); error = 0; if (sopt->sopt_level != SOL_SOCKET) { - if (so->so_proto->pr_ctloutput != NULL) - error = (*so->so_proto->pr_ctloutput)(so, sopt); - else - error = ENOPROTOOPT; + error = (*so->so_proto->pr_ctloutput)(so, sopt); CURVNET_RESTORE(); return (error); } else { From nobody Tue Apr 15 02:25:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L440g6z5sj16; Tue, 15 Apr 2025 02:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zc7L42Gj1z3Lvw; Tue, 15 Apr 2025 02:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HqTrwx0jsOvh+Z8Oh6c0T+qDt4rk3icqFcq+Y5Sk9OI=; b=Ds3CM6IFcY0zNpF9YG0HGq8V5DrvVLr+BR+NwbMJN+3H1ptAMXvr6fdYr0RD8gYkXSU/WK u1QrtV0mafI4zoqlfUirxwXZZhQ+YvLZylMMAHCR4ejpFDiM9ZIgOi42WbqnfB5Rl6DzXA Mydz6xdUWhegvz0EOpWU7bWOLYjBy1q3hdEkxewtHXp5F/n+ZZMFLAU1bFFWNP/1ACEimx HUL0yz7J0egzLfEXiTio2l1XqmEedL7HlryqHQTlbg4N7AozqlMXw8fgnMxEijcReOb5uB DSmRMfu8iZ8IehxvBSy3atwjaUt/fodK7roWDPvoDKJsU+VdWCJVtPIbfW0EJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683932; a=rsa-sha256; cv=none; b=iYWMTZXJ+T654V0BwP/LwgGu2YIZJcRCyGuB270ZNmAdCoPi57k73o+7rAmtkzS7PdXie/ AnWv19qHT1Ft5/X8B6DKioF39zARIa3yBls6ra9FLcJoM5IDOKlkr5eGcxTS4jd0dGRDxU veyJqWjnCGcTvgYkl3hcC2LkfAqNAZ4fjxU7Auboxq+u6tCU6oeh8hJTscUDDFuiIxTC4p nmQquULV3RZhB3QL6L8Ibkr8X6gvNHxLQYdVirqJnDIKYkxdeBzlJA/mXtjRkwEQDPGCQ3 LACLUWVUmey5oEqpUKThFQHu7kmAeQtwhVhtf0F9Er8iOR/VfEq7UzZvuM3ldQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HqTrwx0jsOvh+Z8Oh6c0T+qDt4rk3icqFcq+Y5Sk9OI=; b=VZXbdFQmHflPB+qR4L51dHRSXxeVTQsvgy6hf+o+6sfqnlrRCaeIR6AETc8WpynhCp05sG b+d0MRuS/L5xqO8viOAW2PNlAVnd9XtEzZU0Cxs+DVUvulegv2yIL65NWqrPWbo0111f2V 6sPAPSXPAtKAahAMhn8bzGyXbAFkEVPKfihNSRBtoEFRjVYWE/PAxSPd1THVVh72ViBB2N VChzxGetpvIbcVxjJOsUENNDcVJTfS4FiW0hgSBa6dGwcROmlPZcJUchjbu3S1pCxVzQi7 r/KkKp5G4qg4Kzf1ANVKmPwS0zsXoxDZqqKiipIv4BI+fmcv8Lo4ZBy7Pu2jqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L41XgvzGJ; Tue, 15 Apr 2025 02:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53F2PW61014444; Tue, 15 Apr 2025 02:25:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PWvc014441; Tue, 15 Apr 2025 02:25:32 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:32 GMT Message-Id: <202504150225.53F2PWvc014441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 24b82123a83e - stable/14 - i386: Avoid registering overlapping vm_phys_seg entries List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 24b82123a83e375f2b4a045c4bff3fb869a7c9dc Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=24b82123a83e375f2b4a045c4bff3fb869a7c9dc commit 24b82123a83e375f2b4a045c4bff3fb869a7c9dc Author: Mark Johnston AuthorDate: 2025-03-26 09:34:53 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 i386: Avoid registering overlapping vm_phys_seg entries The entry added in pmap_bootstrap() is guaranteed to be covered by that added in pmap_cold(). This apparently went unnoticed until commit 8a14ddcc1d8e ("vm_phys: Check for overlap when adding a segment"). PR: 285415 Tested by: dim MFC after: 2 weeks (cherry picked from commit e173855c9f6b3b87c975418d0acf1c22ac4f1626) --- sys/i386/i386/pmap.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 5e750b48ec5e..828e39b58cac 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -624,15 +624,6 @@ __CONCAT(PMTYPE, bootstrap)(vm_paddr_t firstaddr) res = atop(firstaddr - (vm_paddr_t)KERNLOAD); - /* - * Add a physical memory segment (vm_phys_seg) corresponding to the - * preallocated kernel page table pages so that vm_page structures - * representing these pages will be created. The vm_page structures - * are required for promotion of the corresponding kernel virtual - * addresses to superpage mappings. - */ - vm_phys_early_add_seg(KPTphys, KPTphys + ptoa(nkpt)); - /* * Initialize the first available kernel virtual address. * However, using "firstaddr" may waste a few pages of the From nobody Tue Apr 15 02:25:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L53Qxrz5sjVf; Tue, 15 Apr 2025 02:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zc7L52N6Rz3M2h; Tue, 15 Apr 2025 02:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wZVulW4RVSV5mcrinzR7K3q7szFmUt/h3COYREVS8A8=; b=bZ3BLzyBtOCLM4qQgDjW708B0yHhzUyYYf0tc9lUI2B/FWS2V8FVv6unE3qxNJBFUsaVzO R2+TzVJECXLChlLnWC7UjX2sEUYpVhyyrB/QgkuGNv9veEs6L/qoTrpcRNuQcypW23kAb0 bk6AvlQByqJvprQLk/uH35q82PErucizHVX0zSfkUzTxz589rmQmFrqYSo8dizsxUIMhL2 h2yyfS7VXatOr4bt/UZ3RR4KQGmFhN4j6m8BW3ponpuQKL/S2A61+8wgWTVhT7akCb0OR8 0q13O937A1IxaH1Fc1OyqiErub9rxPAOebPREodSV4oOrsxK+0/gwL5Lsdli9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683933; a=rsa-sha256; cv=none; b=Z432TuBIsJvrLh48uYzNP4E867A2jas6O9TAipuilN8Ikl7D8rX7ZQFkKa1UpDhmiP+hTz U2oLTaJ4nF3ImQq4CZYVqiPDkm+VquzooTW8LM9pLDlo7jaA7KX65hPQp6nPteWysidMNH axfktklsL/JcxCNSDQ2cZTE0r6hzNsx6lYpLNURHAtM7lfilNQHnXmJMdMspBXohaI0Iqh 0a2dZXgRW/QO/ANTj8OhGIi8SJJPtwzo6nHsMtc0v75Q4jyPJycNT3OS2UenWIiyQXksoY 0j8ViIH6fkmcxtOyx7IQXhU9KmRGyqg2Q5YelJIIOIljNkp+WoRiRNQzQZoTOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wZVulW4RVSV5mcrinzR7K3q7szFmUt/h3COYREVS8A8=; b=OZBj1s9Zef/ge+gGKmXajOeFKhsgK8dFVxJx8+TccUNWXNPAWsESeA/jHcEjpeKcvsQ7Wo n/6WkuMYzR9+ACvz2JDc4UhXNNa1DeEyFUrFNXYUVCeKOCwmOjhqO6mHyzr4yITulebO1u V5pC8Xx6R1Pqmcj6SddjozBhe7PqX/LtrXCIGdZLe8RrqkUxeIR2yD2jaz6wRhml/+3ZiH tQTNYJrzt/50KXH8i6W4LitM9K5PI7v3b/8OobV6V1s8QaoHInOLL8j4mrp2vhERWx76wW /sCWZ7bJAKXqRXIHujhcWdmFJ5FDXrf9xOtjktdZ1Uc99c3LvqwheX8beIcRTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L51rXdzJ1; Tue, 15 Apr 2025 02:25: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 53F2PXbb014480; Tue, 15 Apr 2025 02:25:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PXVV014476; Tue, 15 Apr 2025 02:25:33 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:33 GMT Message-Id: <202504150225.53F2PXVV014476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: aaa266adc32b - stable/14 - pf: Use a macro to get the hash row in pf_find_state_byid() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aaa266adc32b5e5a71aedbf5a1cf610049705553 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=aaa266adc32b5e5a71aedbf5a1cf610049705553 commit aaa266adc32b5e5a71aedbf5a1cf610049705553 Author: Mark Johnston AuthorDate: 2025-03-29 08:52:06 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 pf: Use a macro to get the hash row in pf_find_state_byid() This seems a bit preferable to open-coding it. No functional change intended. Reviewed by: kp, glebius MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49518 (cherry picked from commit 27f70efebf1d9424462f291e9d04e62272083aa7) --- sys/net/pfvar.h | 3 ++- sys/netpfil/pf/pf.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 9ceed54fd52b..949cb36ee474 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2117,7 +2117,8 @@ VNET_DECLARE(struct pf_idhash *, pf_idhash); VNET_DECLARE(struct pf_srchash *, pf_srchash); #define V_pf_srchash VNET(pf_srchash) -#define PF_IDHASH(s) (be64toh((s)->id) % (V_pf_hashmask + 1)) +#define PF_IDHASHID(id) (be64toh(id) % (V_pf_hashmask + 1)) +#define PF_IDHASH(s) PF_IDHASHID((s)->id) VNET_DECLARE(void *, pf_swi_cookie); #define V_pf_swi_cookie VNET(pf_swi_cookie) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b14ab91cd7aa..06761060b583 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1658,7 +1658,7 @@ pf_find_state_byid(uint64_t id, uint32_t creatorid) pf_counter_u64_add(&V_pf_status.fcounters[FCNT_STATE_SEARCH], 1); - ih = &V_pf_idhash[(be64toh(id) % (V_pf_hashmask + 1))]; + ih = &V_pf_idhash[PF_IDHASHID(id)]; PF_HASHROW_LOCK(ih); LIST_FOREACH(s, &ih->states, entry) From nobody Tue Apr 15 02:25:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L66d39z5sjVh; Tue, 15 Apr 2025 02:25: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 4Zc7L63hW4z3LpQ; Tue, 15 Apr 2025 02:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x/8GdiLQzUTDaPvaFK6ZS3aUz0Pbto4LAdpaOBQeUMM=; b=kgHpMm+7zoUMtIIZZetRYXcSEZNbnbwmcyOxydcnbdjczfzwmQ9N46MR+Hzie4E/nOIrL4 KormgcY01476LtXPwgGRlnSHhui88EDxJC61XgwkY3rBXWgQcOkgEy/Q+MYnDkUtwa/ily AZhyMPzrTjewtURat07KqGN/dkU9emzoKXtKQ6ShCZ4smw19bMw/pwC2W87dEyma2ZcRPh 3If6QOjikvusQDtAPfMxprgQSGRQNDgNIFQS1XR/Q099Taic3vMp5+3e/pTR3B+BFWbEOL 8m7AhqqWr1qpmHU7I8yZkkvJlKFvlcSiJtCB+gkTaGn4unTCcCA+CkkaAPbSpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683934; a=rsa-sha256; cv=none; b=reGebzfldXxXMVOUJOwJXpLn2mDmbC4/EXpB6ePANFFjG1gR5PbH5oGsbvAtsiDB02bw7/ BXBh6gJU+VxYv/WQgfGaw8d97k3QpOS307UhB+WSVELVk7WlR7My8QTThtqJk86BIVQB1m TAh7NoBLVy2ga+ZufDHCh3HZbf6tBs1SeN5/KuTVYZS603JcUvhiTz0u25zanDTNpC1g8G r3wnJA9glErEY2t+7INKMkOJdan7++Lzj4O4W8HBSazcCjH7SA+zpf+LBZZ65RKItB9Kfx VWVK4MUuniKhkhGiPaKb4waYd7YMkPwSvavqJ/bQ62zvkjEx9Sy2h8s8IYek3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x/8GdiLQzUTDaPvaFK6ZS3aUz0Pbto4LAdpaOBQeUMM=; b=SvmIz8QF+KzNlUfU1ieHtMndOnN1MPceCjRyP3lQc/T7c34sBmDXZZkn7cGTa8qgLqv+S6 IhgkhO+P4iCSD8/EpZrp0TZD+eVeLVDL5ULcFxhjm6MwVW8hqLdnjH0Kh71lufDL/WrHx9 6mjnI5PNxJkOyaUY9/7piYyuTR14SK2D4Gn0CZltVqO52aRW/lnPtQbUYeyrENoNTC24I2 O3EEzdmKyhQkEoFqUqkr8OWz2KpJWxP3dIW7Vk7s7/0+OaFj8ebKweLXkj6FbMYkday1CO WaJ1CZPqd91103jXbEgljOt0VibRX8qbiNECyaxoVzzW/d2sHiezf+HN/9q/jQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L635PwzJ2; Tue, 15 Apr 2025 02:25: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 53F2PY84014514; Tue, 15 Apr 2025 02:25:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PYrE014511; Tue, 15 Apr 2025 02:25:34 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:34 GMT Message-Id: <202504150225.53F2PYrE014511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 07c5a2486cc6 - stable/14 - hyperv/storvsc: Fix busdma constraints List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 07c5a2486cc6f8e64715b5d7c31ccfa02f9f3745 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=07c5a2486cc6f8e64715b5d7c31ccfa02f9f3745 commit 07c5a2486cc6f8e64715b5d7c31ccfa02f9f3745 Author: Mark Johnston AuthorDate: 2025-03-31 10:45:14 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 hyperv/storvsc: Fix busdma constraints - The BUS_DMA_KEEP_PG_OFFSET flag is needed, since storvsc_xferbuf_prepare() assumes that only the first segment may have a non-zero offset, and that all following segments are page-sized and -aligned. - storvsc_xferbuf_prepare() handles 64-bit bus addresses, so avoid unneeded bouncing on i386. PR: 285681 Reported by: dim Tested by: dim, whu MFC after: 2 weeks (cherry picked from commit a319ba694538a38429115aaaf1d4b3946ea3a8b5) --- sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c index d7e7bd85ae29..076b436a2191 100644 --- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -954,13 +954,18 @@ storvsc_init_requests(device_t dev) bus_get_dma_tag(dev), /* parent */ 1, /* alignment */ PAGE_SIZE, /* boundary */ +#if defined(__i386__) && defined(PAE) + BUS_SPACE_MAXADDR_48BIT, /* lowaddr */ + BUS_SPACE_MAXADDR_48BIT, /* highaddr */ +#else BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ +#endif NULL, NULL, /* filter, filterarg */ STORVSC_DATA_SIZE_MAX, /* maxsize */ STORVSC_DATA_SEGCNT_MAX, /* nsegments */ STORVSC_DATA_SEGSZ_MAX, /* maxsegsize */ - 0, /* flags */ + BUS_DMA_KEEP_PG_OFFSET, /* flags */ NULL, /* lockfunc */ NULL, /* lockfuncarg */ &sc->storvsc_req_dtag); From nobody Tue Apr 15 02:25:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L76WkFz5sjdv; Tue, 15 Apr 2025 02:25: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 4Zc7L744Wlz3M1R; Tue, 15 Apr 2025 02:25:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vB+FmXs6zulT0RqSGYDk9d2KB8qTAzRL/icXTytzJrc=; b=xv8n1RFXXSYUmuxWsM4wjV1hY2f4YbPune/Eum0ggmIf6VRI/pmtkHACPEIM6gJkgFdt3v iMo2P9KfP5qAXpzud+7QsXMft00ENBM3dCN1dcrP5gqZkDUU8TZn3bWd/YMuRUpT2qsOpD kZ7qRY6LwqA2d5fJAOKyWqXsD/MOedcZ7BOFjuhsUL0ReVMv5wg4zqsoL/DX8FGHYRpqKv nBxGhW+IZio8ly/sd9R9ZoQowRZFl//V/LxYn9dNhm4yyiTSsisQqJaETDvb3jf9QHncA2 VCFmeQdcg/STFlz+97GGQJw7qKF18r0sZsjAaIV5gI+cx+uGNu9XcOSv6xfgNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683935; a=rsa-sha256; cv=none; b=a0ePO57xPTqbQKef2drAWTy5VhFMQnfaZJZKBQRzK8B3YeVNI8wuFcJEdvH7A5dAoThRVB wz8sKRp7ACQ+/9OLN4XL/AzQWpiPeb7a3FZjobzioWvQEpKS7ZZ1h2GN1FI5Pk/7NeWJbP hrgiwT8bojj7SJ+K2n/gdJWG/3E8O0fqPHGRUmQDwzx3sc5fyZaK3cTV9X9HR9Z+pWL6D+ 8FbMtg8n+fxmSwqxj8eCbn21OXkm+vU44/gMuxhtNCqdVIkK5Fmj7kOP8voHGiKRHI3QXn HZUXhtR5vsC0gASmdGB0skYXWwQcgVYrfzr10LkUtA67MXvL9IQR+46k4GcYRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vB+FmXs6zulT0RqSGYDk9d2KB8qTAzRL/icXTytzJrc=; b=ANYyIMK8MLNpKI/NiewDFVVBC+NZnAvK11ZGb2Md9425fBZDrnk845ee9jCCOGvNuZ9F3b VpsqqkKXQYgPuXgjZWgWOUJz7ViOeNkVVECxVx1Zyue2F0b/NLsUJFXhEkNXn0vod6GfNc Q5UZ8lhbi+lKhqmLaCG6eLBFeun6YYlmqx+iiruOLEGcFW8SDWjrE8N+hwvmz9X2mKi/CS TlI4ASDrX8Mn+PQLv7UNjdTggHcM/EHwKVZDMEVJmosBSr18N4yqBnvulJ7OCAJ9qHtMdw jXr32Exma7sql1C9BoKpf3B4OZsMVqszsmv45VgCTtqlTM46QUENrcoDcO7b7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L73fLHz69; Tue, 15 Apr 2025 02:25: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 53F2PZId014559; Tue, 15 Apr 2025 02:25:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PZAO014556; Tue, 15 Apr 2025 02:25:35 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:35 GMT Message-Id: <202504150225.53F2PZAO014556@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: e6a3962d7dd7 - stable/14 - hyperv/storvsc: Avoid conditional asserts in storvsc_xferbuf_prepare() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e6a3962d7dd7f302c094d5cea68a3d63a1b67eb6 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e6a3962d7dd7f302c094d5cea68a3d63a1b67eb6 commit e6a3962d7dd7f302c094d5cea68a3d63a1b67eb6 Author: Mark Johnston AuthorDate: 2025-03-31 10:45:55 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 hyperv/storvsc: Avoid conditional asserts in storvsc_xferbuf_prepare() whu@ cannot reproduce the assertion failure which led to these ifdefs being added in the first place, and since they appear wrong, i.e., the assertions ought to apply to all platforms, let's remove them. This reverts commits 0af5a0cd2788efce9f444f4f781357d317bb0bb1 and 6f7b1310b6fe36f9bb653d3e97bc257adced3a2b. PR: 285681 Tested by: whu MFC after: 2 weeks (cherry picked from commit 54a3920dc9b3b5a47cdaaa3132b4fcf1c448a737) --- sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c index 076b436a2191..70a5f414d986 100644 --- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -1833,7 +1833,6 @@ storvsc_xferbuf_prepare(void *arg, bus_dma_segment_t *segs, int nsegs, int error for (i = 0; i < nsegs; i++) { #ifdef INVARIANTS -#if !defined(__aarch64__) if (nsegs > 1) { if (i == 0) { KASSERT((segs[i].ds_addr & PAGE_MASK) + @@ -1853,7 +1852,6 @@ storvsc_xferbuf_prepare(void *arg, bus_dma_segment_t *segs, int nsegs, int error segs[i].ds_len)); } } -#endif #endif prplist->gpa_page[i] = atop(segs[i].ds_addr); } From nobody Tue Apr 15 02:25:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7L952tLz5sjTL; Tue, 15 Apr 2025 02:25: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 4Zc7L85PnCz3LyQ; Tue, 15 Apr 2025 02:25:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yppcTl5edpmh0oPVMkDLhvqEuknWbCz6FtAwfdQYBA0=; b=lzs911vbVCoPhLZceO2gsVinX9pSQWcScjY4RjY8yttsAgdQUYNcCZzZSGOtJWN/eJ6nYV bqM61dSMQUcVBqHmpoPbztu7QNPHmRGj9oPYo/ogVK/prh/k8ijYvkXdsCdoaDjnIZDoIs 7YhW7VYF09KMzi9nsvRyMRbRaTINzn5jqeYTngbm6m9M+FuNGTMMTf3JSeBRr0U9jKWtGG lkjDN2ROFta98a/mjgQtleAuEx3/ya/PE1N+SrgvX959pVHloQPeTpsgjEhUcdsj/mYF/c jXN+MNbL9IVMXZtjT9ujn3EuZkZJJnOSIEVB7EZnQ9+oul/GrqGmFwB0R4mOyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683936; a=rsa-sha256; cv=none; b=RKhUObOvuyMTSqMkeJr+0fBnR80z8n1M5Je07OZ6Rs+aPcrel0x+s8UZW27FysdMijfNpi ulafI/K3/aMCleAPGDNjhv7U5vmdXJeUKPwzUtHiy80zE25crxeCVSMvmttVsSm0qCWtso 3/4AVumVUl9yCmOIca7KrWMLcDhf/KFNzGjIXhwRanJ/bFqVfJwlU6cIKSUpFC1BniO69C l7IdSLQ+6dyAgT679Fq2v85EXDzqd9ddRos27D1cGlntbfuqgQONbea5r1V/m4pVoXwhn5 KzD/Q9Fb8QloPBv8A8sT1zhDlOVbxB8cH7/ft9QohCrIxw3SOA2z7Zy+B9vFGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yppcTl5edpmh0oPVMkDLhvqEuknWbCz6FtAwfdQYBA0=; b=LQkrE5IL7JQqKXn/b+WiXIj+zpBBQhr2nzQOMF7RP31lt08E0FngsRXSm8E40xwWEXyv8I u0bGoZhBF4BzuFOpgRmeDIZMPLcwz9VeqmzRVTsRmA17TYuSLjnywv4iSia54mqvJR6wjt WS2pcaP/qXo8m1tlOi7kzNuy0Al7URrbqUCdt59by+XeHAU4a5Iyb/q8ZkhLxPV7TTGQmu FPjg9+toPFBAqrqNIT8sKKVeht3yZ8iyU7Lq4MLZkHPXmtnM02m/o8fDukgMUt3PCD8f1m rW21hQXAaLgFFy6qYJ+ANoTQdjN4cz2N6mHSxMvX0QRwBsqNej6AHWFsa4R+vQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L84yWXz8J; Tue, 15 Apr 2025 02:25: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 53F2Pakf014593; Tue, 15 Apr 2025 02:25:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PaGe014590; Tue, 15 Apr 2025 02:25:36 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:36 GMT Message-Id: <202504150225.53F2PaGe014590@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c1aa97cf79a6 - stable/14 - file: Add foffset_lock_pair() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c1aa97cf79a6fd40eb89bcbd4faebdc5656a6279 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c1aa97cf79a6fd40eb89bcbd4faebdc5656a6279 commit c1aa97cf79a6fd40eb89bcbd4faebdc5656a6279 Author: Mark Johnston AuthorDate: 2025-03-31 01:25:16 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 file: Add foffset_lock_pair() This will be used in kern_copy_file_range(), which needs to lock two offsets. Reviewed by: kib, rmacklem MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49440 (cherry picked from commit 12ecb0fe0afda8c051605045e446371ddd34741f) --- sys/kern/vfs_vnops.c | 20 ++++++++++++++++++++ sys/sys/file.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index c28d6e66853f..c447ceea1634 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -894,6 +894,26 @@ foffset_read(struct file *fp) } #endif +void +foffset_lock_pair(struct file *fp1, off_t *off1p, struct file *fp2, off_t *off2p, + int flags) +{ + KASSERT(fp1 != fp2, ("foffset_lock_pair: fp1 == fp2")); + + /* Lock in a consistent order to avoid deadlock. */ + if ((uintptr_t)fp1 > (uintptr_t)fp2) { + struct file *tmpfp; + off_t *tmpoffp; + + tmpfp = fp1, fp1 = fp2, fp2 = tmpfp; + tmpoffp = off1p, off1p = off2p, off2p = tmpoffp; + } + if (fp1 != NULL) + *off1p = foffset_lock(fp1, flags); + if (fp2 != NULL) + *off2p = foffset_lock(fp2, flags); +} + void foffset_lock_uio(struct file *fp, struct uio *uio, int flags) { diff --git a/sys/sys/file.h b/sys/sys/file.h index bef21d39e641..07f6bbd5bcae 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -85,6 +85,8 @@ struct ucred; #define FOF_NEXTOFF_W 0x08 /* Also update f_nextoff[UIO_WRITE] */ #define FOF_NOUPDATE 0x10 /* Do not update f_offset */ off_t foffset_lock(struct file *fp, int flags); +void foffset_lock_pair(struct file *fp1, off_t *off1p, struct file *fp2, + off_t *off2p, int flags); void foffset_lock_uio(struct file *fp, struct uio *uio, int flags); void foffset_unlock(struct file *fp, off_t val, int flags); void foffset_unlock_uio(struct file *fp, struct uio *uio, int flags); From nobody Tue Apr 15 02:25:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7LC2F3fz5sjTQ; Tue, 15 Apr 2025 02:25: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 4Zc7LC0KC3z3MBc; Tue, 15 Apr 2025 02:25:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQi48Nwe9cfUMPrmAvjA5dUIg3PH3OASlTe+sdCl1Xc=; b=C7dcMpete43KGJkBAehtWDjVYnWYinw2V4kFxWiuQjoz9xV99nggpmQO+Q68gXl5BG9M28 1nJCpOeW5G4nNmd1VpL3k1HZj6GIb2qfLelYAMdqWXX0Kz4UqBJBxjDgp4mKaYwfTSaJrE KXqu/8HO8gAunXt3X7BA5W+Sl+sVqxD2HY8Q3gWLN0RP2Up0AA6pj+cwG7PLhJcqdBv8s7 G3WQTI5Ui9mV8DvOiZt0ZJssKzCV1OkZubIHTfYMwvoo/rjX6bL3fZtDiYVCOespWugJFK xmX8BHbM4LD4EoFaLKwvQzWx/rKMaTI0BKS+pyFVuw08PzDmyN5jdNiBJwEkHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683939; a=rsa-sha256; cv=none; b=rlBXSMuuFs1RhkUB5b9sQjWBBJ3hfYU1kBfYgusrabAF15zq8jk+jJX1h3WeAby0ccIiC+ brj9Sn4G6ObZYxRBKQZHuZVrxQ5ehOKr8FOsbWL1MjlNM9kPglPhhT7XVahnBNJv943EQl c2CPDkXCEq8cLqYOMkUgmWIRkrQ0EDAhGwDTcBfHoLQLdJQz3ciYlcHFt7MKRmZrtLZU7g lfEDozrXd6JRTnddhMeSwcqETM+3prXEpNVip88Q6rZBb3yezmEZ+Pnaz3FrcPfrCgSPIa jOWsKHfTOUAOCRv942QtkYrAMUOACB+mc4xQ5YLDt9rPZLYQg5kyx0KjIDeeKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQi48Nwe9cfUMPrmAvjA5dUIg3PH3OASlTe+sdCl1Xc=; b=bfY4hw0tkP0GmjR6n+vByzic9E9otpfy9YfL4dn8yMt3GmGJQTOJieNhhZKkxnumMgPaUX XrCpWtlQjnR4WI8d9iFfCSY8++DuOQjVC2sVOXCFzxY6I9E27Y6ECJqbDye4izuWgnhuPo QmjhlBXG8eC9yBFWvNTHQ+uDJK4oae2HKBY89gEcVQuYZNwj8LLzdHsKEybe3OSlpLgxgL Oh0hAuh2jkPQ3HTcYI2XiCpshkX6KQvNIcTSHl5lEiGtZbYoHYr/HFdOMCKZx83HUynYmj QBxE2qvEVAyiRciTFe6+URCBuuG4MLYIm3NPcA/Jr1PsfufpJItVFteUgXr06A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7LB6llYz8K; Tue, 15 Apr 2025 02:25: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 53F2Pcaf014664; Tue, 15 Apr 2025 02:25:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PcsP014660; Tue, 15 Apr 2025 02:25:38 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:38 GMT Message-Id: <202504150225.53F2PcsP014660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 693664482649 - stable/14 - proc: Disallow re-enabling of process itimers during exit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 69366448264956c18d0b46f900593442ed8e79ba Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=69366448264956c18d0b46f900593442ed8e79ba commit 69366448264956c18d0b46f900593442ed8e79ba Author: Mark Johnston AuthorDate: 2025-03-31 01:22:14 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 proc: Disallow re-enabling of process itimers during exit During process exit, it's possible for the exiting thread to send a signal to its process, via killjobc(). This happens after the itimer is drained. If itimers are stopped, i.e., P2_ITSTOPPED is set, then itimer_proc_continue() will resume the callout after it has been drained. Fix the problem by simply clearing P2_ITSTOPPED as part of the drain. Then, a signal received after that point will not re-enable the callout. For good measure, also make sure that we don't reset the itimer callout in an exiting process. Reported by: syzkaller Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49529 (cherry picked from commit a6268f89d58c1962d2372a664a35eaecbf367fbb) --- sys/kern/kern_exit.c | 1 + sys/kern/kern_time.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 788b58da450d..0c3070f2e360 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -377,6 +377,7 @@ exit1(struct thread *td, int rval, int signo) * Stop the real interval timer. If the handler is currently * executing, prevent it from rearming itself and let it finish. */ + p->p_flag2 &= ~P2_ITSTOPPED; if (timevalisset(&p->p_realtimer.it_value) && callout_stop(&p->p_itcallout) == 0) { timevalclear(&p->p_realtimer.it_interval); diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index d109dbb509dd..000394d7f4b8 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -885,6 +885,8 @@ realitexpire_reset_callout(struct proc *p, sbintime_t *isbtp) { sbintime_t prec; + if ((p->p_flag & P_WEXIT) != 0) + return; prec = isbtp == NULL ? tvtosbt(p->p_realtimer.it_interval) : *isbtp; callout_reset_sbt(&p->p_itcallout, tvtosbt(p->p_realtimer.it_value), prec >> tc_precexp, realitexpire, p, C_ABSOLUTE); From nobody Tue Apr 15 02:25:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7LB1lJ5z5sjTP; Tue, 15 Apr 2025 02:25: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 4Zc7L96SM2z3M5j; Tue, 15 Apr 2025 02:25:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HBMrLyw9gGyHxKr4i5Ekrxyx+Ym1m6o8EvQTDEajPs8=; b=bJy/PDb+6MNOGbP/xTptgZTVPsYBjBFsbA4XBxSnr5rzcBNSwpxLYY9PCSQKffct1utHak W6axOjFGbEq10KON+XoVh610jgYsigbsqu0OV/pJ6hBnfXeiKEHq5THpEOIuu0W5Nbeawl x9ilAts44fDLlF8N6OoPjCOgaX6HiOjShI2/Evy0razY6rRUXvgcBAIepK2FOiw5y4w2VN iODQ76Se4v5uW6kU8ObM6SfkEnrQS952AVciIOxM4P9dmxDvGsW1UKwgptnCtpbR0ztif9 /BbnUCov1l82JPm+Novtl/qOmI7/9AJeaxP+Xn5dxFxcYr+gQ6YNdVIdUHsv9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683938; a=rsa-sha256; cv=none; b=QS259hv/RBowXUkrAd6Zs7sJy7B2ZO7PoercL3fERIkSXcNygtJZGLHxTMK9qMpg4W3Fqd 1hgjWN6OskWy67sBV772GTpG1IrOsnxQN9Q3mcKjkiZSG+9rStC+w0q4gzoRqA35REbyl4 LZKHlWwDj+Q0uz4jtEXw7A44dJFi9yz/ddq6Tp40UjPw8zrDKIeOrxB/uL+p7QVnXGNB7z 79mjejsPDgK6hZFjuZb0JReE8C1c21QoYBkBq16lsXjT6inT6RsYM06FJgIB5fJcVSXFqb anNmbnjb3n/ayyfCKYkCqmW+ygS6a/VdJF/VTeEzMimhIenZVhT3dYwmzImwfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HBMrLyw9gGyHxKr4i5Ekrxyx+Ym1m6o8EvQTDEajPs8=; b=ECPu39r7dZtjDMurNaQGgwJtmTelJbvmJ7CaEshxgrHDwOweXWkZmaR7DuvQigjimOvfMY CyiMZyvIjiztllOHSvbRw9cobgbtWMRhpiuveZNaBww4J2GQY4MydfGVB2nIa9r8xtl5PQ X+XHefUkvaH38GX5RIrxzjH9pbT3Qj7loY5Kt75CcDRa+e7JqmEjrQef3z2l9CIZk6qRfz UHkKPQUlVVdbOpD/M68j0lJWtk5PT+ztolaBY17YSBBuMbFLHZirnOITqiVZAb6PS1Q/AB qqLBf5qKni7sqFA/2W9dwcNvx8NiA32YQ1hMrqcjgrJ1WJCA+cnGJNyIwj94uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7L9604xzNH; Tue, 15 Apr 2025 02:25: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 53F2Pb7f014627; Tue, 15 Apr 2025 02:25:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PbKp014624; Tue, 15 Apr 2025 02:25:37 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:37 GMT Message-Id: <202504150225.53F2PbKp014624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 1d2fd8c9cf0f - stable/14 - file: Fix offset handling in kern_copy_file_range() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1d2fd8c9cf0fb796d8b7b7590288d3125398d445 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1d2fd8c9cf0fb796d8b7b7590288d3125398d445 commit 1d2fd8c9cf0fb796d8b7b7590288d3125398d445 Author: Mark Johnston AuthorDate: 2025-03-31 01:23:30 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 file: Fix offset handling in kern_copy_file_range() One can ask copy_file_range(2) to use the file offsets of the file descriptions that it copies from and to. We were updating those offsets without any locking, which is incorrect and can lead to unkillable loops in the event of a race (e.g., the check for overlapping ranges in kern_copy_file_range() is subject to a TOCTOU race with the following loop which range-locks the input and output file). Use foffset_lock() to serialize updates to the file descriptions, as we do for other, similar system calls. Reported by: syzkaller Reviewed by: rmacklem, kib MFC after: 2 weeks Fixes: bbbbeca3e9a3 ("Add kernel support for a Linux compatible copy_file_range(2) syscall.") Differential Revision: https://reviews.freebsd.org/D49440 (cherry picked from commit 197997a4c36d8be5807688a4f973ebe8ae807a6e) --- sys/kern/vfs_syscalls.c | 74 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 17ab419fb0ae..9f8c960d054c 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -4902,16 +4902,17 @@ int kern_copy_file_range(struct thread *td, int infd, off_t *inoffp, int outfd, off_t *outoffp, size_t len, unsigned int flags) { - struct file *infp, *outfp; + struct file *infp, *infp1, *outfp, *outfp1; struct vnode *invp, *outvp; int error; size_t retlen; void *rl_rcookie, *rl_wcookie; - off_t savinoff, savoutoff; + off_t inoff, outoff, savinoff, savoutoff; + bool foffsets_locked; infp = outfp = NULL; rl_rcookie = rl_wcookie = NULL; - savinoff = -1; + foffsets_locked = false; error = 0; retlen = 0; @@ -4953,13 +4954,35 @@ kern_copy_file_range(struct thread *td, int infd, off_t *inoffp, int outfd, goto out; } - /* Set the offset pointers to the correct place. */ - if (inoffp == NULL) - inoffp = &infp->f_offset; - if (outoffp == NULL) - outoffp = &outfp->f_offset; - savinoff = *inoffp; - savoutoff = *outoffp; + /* + * Figure out which file offsets we're reading from and writing to. + * If the offsets come from the file descriptions, we need to lock them, + * and locking both offsets requires a loop to avoid deadlocks. + */ + infp1 = outfp1 = NULL; + if (inoffp != NULL) + inoff = *inoffp; + else + infp1 = infp; + if (outoffp != NULL) + outoff = *outoffp; + else + outfp1 = outfp; + if (infp1 != NULL || outfp1 != NULL) { + if (infp1 == outfp1) { + /* + * Overlapping ranges are not allowed. A more thorough + * check appears below, but we must not lock the same + * offset twice. + */ + error = EINVAL; + goto out; + } + foffset_lock_pair(infp1, &inoff, outfp1, &outoff, 0); + foffsets_locked = true; + } + savinoff = inoff; + savoutoff = outoff; invp = infp->f_vnode; outvp = outfp->f_vnode; @@ -4978,37 +5001,44 @@ kern_copy_file_range(struct thread *td, int infd, off_t *inoffp, int outfd, * If infp and outfp refer to the same file, the byte ranges cannot * overlap. */ - if (invp == outvp && ((savinoff <= savoutoff && savinoff + len > - savoutoff) || (savinoff > savoutoff && savoutoff + len > - savinoff))) { + if (invp == outvp && ((inoff <= outoff && inoff + len > + outoff) || (inoff > outoff && outoff + len > inoff))) { error = EINVAL; goto out; } /* Range lock the byte ranges for both invp and outvp. */ for (;;) { - rl_wcookie = vn_rangelock_wlock(outvp, *outoffp, *outoffp + - len); - rl_rcookie = vn_rangelock_tryrlock(invp, *inoffp, *inoffp + - len); + rl_wcookie = vn_rangelock_wlock(outvp, outoff, outoff + len); + rl_rcookie = vn_rangelock_tryrlock(invp, inoff, inoff + len); if (rl_rcookie != NULL) break; vn_rangelock_unlock(outvp, rl_wcookie); - rl_rcookie = vn_rangelock_rlock(invp, *inoffp, *inoffp + len); + rl_rcookie = vn_rangelock_rlock(invp, inoff, inoff + len); vn_rangelock_unlock(invp, rl_rcookie); } retlen = len; - error = vn_copy_file_range(invp, inoffp, outvp, outoffp, &retlen, + error = vn_copy_file_range(invp, &inoff, outvp, &outoff, &retlen, flags, infp->f_cred, outfp->f_cred, td); out: if (rl_rcookie != NULL) vn_rangelock_unlock(invp, rl_rcookie); if (rl_wcookie != NULL) vn_rangelock_unlock(outvp, rl_wcookie); - if (savinoff != -1 && (error == EINTR || error == ERESTART)) { - *inoffp = savinoff; - *outoffp = savoutoff; + if (foffsets_locked) { + if (error == EINTR || error == ERESTART) { + inoff = savinoff; + outoff = savoutoff; + } + if (inoffp == NULL) + foffset_unlock(infp, inoff, 0); + else + *inoffp = inoff; + if (outoffp == NULL) + foffset_unlock(outfp, outoff, 0); + else + *outoffp = outoff; } if (outfp != NULL) fdrop(outfp, td); From nobody Tue Apr 15 02:25:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zc7LD3bB5z5sjTT; Tue, 15 Apr 2025 02:25:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zc7LD0lJQz3MKY; Tue, 15 Apr 2025 02:25:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NdD7z4y4EnZ8x/g1KzdQPdBm9//4Kn8xdCYHF1YmE30=; b=ShO7zVMGo0sJSPwnBKZ2XykZ2teDB9iaYs5kSuOVyW5gKySnhc3abdAoFyde4I6ujXWTk9 P3ii6zxyxrDwBn7l3y6oFLrdrVTojfncZ1dKyrBeigS1z1QwDfz2HKPIi8H5qYXEQjj5XW REoTEHQxmsACqAJpcI122rOfQynGpyn00Bk8xUnOM4i8drHmNr+FGP4L0o95mFXrIscJgT SXS5VlQZA1wU7shZg50MKf/1im2/sb+YrCTELs1Lz5J5goZixQmllAuSS8k/0rRhm+7fBX bg8+fRHhMVqwIv3ibjuA33okAfPwQCfC4MwsoC4PLR2KtswusVbKM+ei656IQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744683940; a=rsa-sha256; cv=none; b=QUUj+puafWyxt3v+KBqNdVoC6iklS0/kM6F0E0Q2du0KlV6ItL4TBu0j0Nhl1oVmMIWuPR F4AzMCBlDVIg62UCbHJ+X8xnYJotbsgB4y3Y+dz+8jjWbXeKmm2t5F+u1OwOt0oZpZwYpF u1fvMIDAGverR/TrUjs2JpK1RGCW/ffyRu6efEE4AUJZs1s3MdtIMb4QpebhPxo9bz6pzz lBBWcfsesYruR3lZPAqW9TlVWjnchQLKe6jDFTsuDT4L9FCgR/qRL3hVExYoaVWRTGt3mV wuur1mWkck5/BMA/F8qVmWbSx6Kn9jdDeEtbPhTMAt53qJf02SC1Eefy1u98Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744683940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NdD7z4y4EnZ8x/g1KzdQPdBm9//4Kn8xdCYHF1YmE30=; b=uuGLwJIRJC/mjvfakXgmWyrzz7eflUUCtAq0t5WGAldOf+MKhk5MaCO0EImxT9UXsi0GYA sNi2OrBsj/z3Ok272xe1CJs2JmHUBFo7Ip0xUrKwDhFHmp7GcFioqzPj19ryjBeRYkH4Lg oVtK+Fpv6Sa/cJKqbr111b2uBQqkZBR4G+wIKTvDsfyeInWg8NOKwClvdM6rh5MYyMpIfM xRDbE0isFrIy/wz75oG06Cz0e6E35UEfJzxntGShRNYMpeJ4yPATYp2Wzr/7SQwudxSnt8 qKBjO9C0uFNsWlYBwjOkgEhdQFIFSpd+RLfgZAU0gbN0rDTpy31HilMpfDPx7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zc7LD0FmVzJ3; Tue, 15 Apr 2025 02:25: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 53F2PdYX014699; Tue, 15 Apr 2025 02:25:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F2PdTY014696; Tue, 15 Apr 2025 02:25:39 GMT (envelope-from git) Date: Tue, 15 Apr 2025 02:25:39 GMT Message-Id: <202504150225.53F2PdTY014696@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 74a0b8908483 - stable/14 - ptrace: Do not pass a negative resid to proc_rwmem() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 74a0b890848362f1a4115972262a518f3d83f504 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=74a0b890848362f1a4115972262a518f3d83f504 commit 74a0b890848362f1a4115972262a518f3d83f504 Author: Mark Johnston AuthorDate: 2025-03-29 08:54:48 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 02:25:24 +0000 ptrace: Do not pass a negative resid to proc_rwmem() While here, avoid truncting uio_resid in proc_rwmem(). Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49479 (cherry picked from commit 1a80a157cbe823ba75bb88823dbf1b245fe87c99) --- sys/kern/sys_process.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 19fe8bcc7627..497084f83563 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -393,7 +393,7 @@ proc_rwmem(struct proc *p, struct uio *uio) /* * How many bytes to copy */ - len = min(PAGE_SIZE - page_offset, uio->uio_resid); + len = MIN(PAGE_SIZE - page_offset, uio->uio_resid); /* * Fault and hold the page on behalf of the process. @@ -1388,6 +1388,10 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) case PT_IO: piod = addr; + if (piod->piod_len > SSIZE_MAX) { + error = EINVAL; + goto out; + } iov.iov_base = piod->piod_addr; iov.iov_len = piod->piod_len; uio.uio_offset = (off_t)(uintptr_t)piod->piod_offs; From nobody Tue Apr 15 07:42:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcGMb46DPz5sdn0; Tue, 15 Apr 2025 07:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcGMb3PGhz3nQS; Tue, 15 Apr 2025 07:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744702939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOWKwDVz8pJMMjCsjY2nFbubTAL9rYcRHgouUIyx664=; b=F9reNfy/NQW7oBfUkHAgO8NkyHPR3yI5vXJhDCB8RdG96fDQkqn2WgcBoiviWkQlSsCGYV GtdnVPsa5Lat0lVLyX5ERRj450ik6lTncP16rwHwKnvsp4OUr3YTnNUfTM8NvC/nKP0Whr UftWUU54Wp6PeCh+C1M12UjZiEzA7FtxS6ne8wug8zfp5KhH8tP+m5L5TuByULPg8KfjXk SsEgjJrFQxbaTdRscuFVLjNHZ4n/Or2xZ2uhI+EHvfLhdgr+nMSep7OUmJr6oOyY9T9HAH vBlWtuANBOxRzm+8bHA4CPognBeIrRPOfmwKSbQ6Ztgkv1d1ZBcEEEd7x0F61Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744702939; a=rsa-sha256; cv=none; b=DFLA/jhLoTT91eDoeP8Nx4H10XNxLLINwN4pVBpAktnCvXvV1NIoqT+1PO8vpR+hEnc2c6 Ol5H0QFYYWqSWaWqUR1J8Hc0Ccj5XMgmitkHH2CQycZu2A74GC1+5paJZ2fXAcWPTZTZ9I eBtkNaJ8Z80CJW3ajdPMn5R5BEiIFNdZXKO5E4KQ05YIsjke7y/uoMnsaJePZEUN8AqJ9p Us0i0/sxE5ApYvWl9lnEFyDKQfD5C+P73w4wtIMqCOh+QMC2qwbVPDNsBx9tGqyot9ifjj l9vKObcYeAxHKKP3XvtmfMx3bLTH65CnZa3RQEOc9X6fhWXL1BX/Tg9hDe8YaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744702939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOWKwDVz8pJMMjCsjY2nFbubTAL9rYcRHgouUIyx664=; b=KcEjy0nZ2ytMcoFybVKxVMGz1jNdk//D0mms68wWm6ErVd7OEfDxyeWctEBmLoLH0d6eTE BbbAl8e/3gn8ywPWV9ihK9RvCty9q1Fd15cD9hDrKkKwR/tEXPTUR0oAG9lTE7/DT6bIFB BYmi0pv5uDbazJNQbbhmWsT/8Z22O+oojQPiHtAWR4W3z+XUcbR6irQHTiu8Z/j6ipFDmI 7PiHdyOVT03JqEacOVrcoUPFuO34exOC0CIVS5v0e0srL9LLTBCWw3tELLWxWJSDiMiMFf tpLn2dw1JK1qf4bFJp6v/Ci+SoIFY+B7I+mJIhrvIi8/axbIov9O/9UezBL24Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcGMb2ypcz87d; Tue, 15 Apr 2025 07:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53F7gJYZ015165; Tue, 15 Apr 2025 07:42:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53F7gJ9e015162; Tue, 15 Apr 2025 07:42:19 GMT (envelope-from git) Date: Tue, 15 Apr 2025 07:42:19 GMT Message-Id: <202504150742.53F7gJ9e015162@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: 168d873ae41f - main - pfctl: fix crash on "pfctl -a '*' -vvsr" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 168d873ae41fd8bd40555322a79c9f215cb4cb9c Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=168d873ae41fd8bd40555322a79c9f215cb4cb9c commit 168d873ae41fd8bd40555322a79c9f215cb4cb9c Author: Kristof Provost AuthorDate: 2025-04-14 16:41:00 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 05:39:35 +0000 pfctl: fix crash on "pfctl -a '*' -vvsr" When printing a nat anchor we don't have rule information, or rule counters. Do not attempt to print them. The information is nonsensical anyway, and this can cause a crash converting the timestamp to a string, as years in the very distant future use more digits, and we exceed the 30 byte buffer allocated for this. MFC after: 2 weeks Sponsored by: Orange Business Services --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 1c5b7f5e1fc0..b4318159b4ec 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1490,7 +1490,6 @@ pfctl_show_nat(int dev, const char *path, int opts, char *anchorname, int depth, errc(1, ret, "DIOCGETRULESETS"); } - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { if ((ret = pfctl_get_ruleset(pfh, npath, nr, &prs)) != 0) errc(1, ret, "DIOCGETRULESET"); From nobody Tue Apr 15 12:26:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcNgc1JYXz5t4Bq; Tue, 15 Apr 2025 12:26: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 4ZcNgc0gWbz3NHB; Tue, 15 Apr 2025 12:26:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744719996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HDt6cjJ8jPLcElumbGY9dLHKaWXKZN/LY87B7qPxCNA=; b=xm/1emDXlYmi1ebAI76ayeJF4vKR4H/d3/lY1XDL2lTApolbJu7YkM7C8asDCiBokarSIj 1q+5o0YEsmmkGT0KPBQgtJjscBVTzJIws6KT6krBGqonyqm9JjbtvA9RMCKnFtEFG85IXt /cw0oO6lhVNYat5epz2bnZAaRkgwNuTbW4HcOR6EjMq5LNrVnaNq8TkipQVlGKOf9yeQpe KlLmzzw+C9+Ws+Q/G0esmO6BrSblhqScKh8UP2jUh4DrCuet7r4FDko+JLMr/6UIr50gAR uSLWkLKoWBBRat+a62kloRDfV+ThqZ75OfBoSXeJsFDohOC7I0emVrHjceZB4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744719996; a=rsa-sha256; cv=none; b=t6msgqIPc9bbKHED30cJEOFqWtdBZ0vUoim0vmW6aE8DLKjwo7MTvMU/zBn9LHyOg69Zak IAM42vrEGrg+DMxx7WsCiIJG5mCfKPPr3Glnvl1q/MF7niWvqLW6r7VVZL/ifTi96hvalC C6DnpgmgAl8sWnv6sbl3An61piBG/rUODUDBsBZBB+nu2ku2pOyESSRmtTdXsG0RQhW2QA vE4EvA1JCVsORErSOO1srpB/J4dgHeGZksfT62mOytAkAr7iyL+0cRUnineSGvT2zytWPK Q29CYMeuNiIzqAuPRfXRJgTSA6543utLUqs44Fw+ZTYgqSwPPZzE5zRdykLzjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744719996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HDt6cjJ8jPLcElumbGY9dLHKaWXKZN/LY87B7qPxCNA=; b=sOzk5/0lDG5qYTXQhFGrGHbY+9AMw7VXS3lbmgNe++cP1D7kJXfjr9RI3P83CmK/wgeLrk 0XP5j/Wo2wDxa2bxE3xk0N+qpnoqfnmf3V8dp1EwqnDJ1tR4iooy5SnIW3MxXX0I+gvLMS nn3WbdDXuoXz/d5KxqET2pajDCPBzHdVwse+DfypxgA0iqkjgc3UVDjylfgjG8cNYsVKD0 f9epc2+CvolQ0R3WkpwdSuDgIs5APTJZhv3M/7Qvb3veDTGYUR+pIL3jaVP3Z4sG3SgTeY X8PeZfgQmJuG3cjZ8RjUKwJbAu+v6fnwcOpJcw7/RRyK5sOBkhcg0GSCFb8pFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcNgb6pvBzZfB; Tue, 15 Apr 2025 12:26: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 53FCQZnP040988; Tue, 15 Apr 2025 12:26:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FCQZJ9040985; Tue, 15 Apr 2025 12:26:35 GMT (envelope-from git) Date: Tue, 15 Apr 2025 12:26:35 GMT Message-Id: <202504151226.53FCQZJ9040985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 1463d5ff1316 - stable/14 - if_ovpn: fix use-after-free of mbuf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1463d5ff13164362f0825c4613dcb4eb42a7396c Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1463d5ff13164362f0825c4613dcb4eb42a7396c commit 1463d5ff13164362f0825c4613dcb4eb42a7396c Author: Kristof Provost AuthorDate: 2025-04-01 13:19:26 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 07:27:09 +0000 if_ovpn: fix use-after-free of mbuf m_unshare() can return a new mbuf pointer. We update the 'm' pointer in ovpn_udp_input(), but if we decide to pass on the packet (e.g. because it's for an unknown peer) the caller (udp_append()) continues with the old 'm' pointer, eventually resulting in a use-after-free. Re-order operations in ovpn_udp_input() so that we don't modify the 'm' pointer until we're committed to keeping the packet. PR: 283426 Test case by: takahiro.kurosawa@gmail.com MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 04a7134c1e92c7752ffdc665f99ae26db70866c0) --- sys/net/if_ovpn.c | 12 +++--- tests/sys/net/if_ovpn/if_ovpn.sh | 81 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 6 deletions(-) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index 6309d1f365cf..879cc0636db7 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -2255,12 +2255,6 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, M_ASSERTPKTHDR(m); - m = m_unshare(m, M_NOWAIT); - if (m == NULL) { - OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); - return (true); - } - OVPN_COUNTER_ADD(sc, transport_bytes_received, m->m_pkthdr.len - off); ohdrlen = sizeof(*ohdr) - sizeof(ohdr->auth_tag); @@ -2288,6 +2282,12 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, return (false); } + m = m_unshare(m, M_NOWAIT); + if (m == NULL) { + OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + return (true); + } + m = m_pullup(m, off + sizeof(*uhdr) + ohdrlen); if (m == NULL) { OVPN_RUNLOCK(sc); diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 3623f57115ac..b0967c992b5d 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -106,6 +106,86 @@ atf_test_case "4in4" "cleanup" ovpn_cleanup } +atf_test_case "bz283426" "cleanup" +bz283426_head() +{ + atf_set descr 'FreeBSD Bugzilla 283426' + atf_set require.user root + atf_set require.progs openvpn python3 +} + +bz283426_body() +{ + ovpn_init + + l=$(vnet_mkepair) + + vnet_mkjail a ${l}a + jexec a ifconfig ${l}a 192.0.2.1/24 up + vnet_mkjail b ${l}b + jexec b ifconfig ${l}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore jexec a ping -c 1 192.0.2.2 + + ovpn_start a " + dev ovpn0 + dev-type tun + proto udp4 + + cipher AES-256-GCM + auth SHA256 + + bind 0.0.0.0:1194 + server 198.51.100.0 255.255.255.0 + ca $(atf_get_srcdir)/ca.crt + cert $(atf_get_srcdir)/server.crt + key $(atf_get_srcdir)/server.key + dh $(atf_get_srcdir)/dh.pem + + mode server + script-security 2 + auth-user-pass-verify /usr/bin/true via-env + topology subnet + + keepalive 100 600 + " + ovpn_start b " + dev tun0 + dev-type tun + + client + + remote 192.0.2.1 + auth-user-pass $(atf_get_srcdir)/user.pass + + ca $(atf_get_srcdir)/ca.crt + cert $(atf_get_srcdir)/client.crt + key $(atf_get_srcdir)/client.key + dh $(atf_get_srcdir)/dh.pem + + keepalive 100 600 + " + + # Give the tunnel time to come up + sleep 10 + + atf_check -s exit:0 -o ignore jexec b ping -c 1 198.51.100.1 + + # Send a broadcast packet in the outer link. + echo "import socket as sk +s = sk.socket(sk.AF_INET, sk.SOCK_DGRAM) +s.setsockopt(sk.SOL_SOCKET, sk.SO_BROADCAST, 1) +s.sendto(b'x' * 1000, ('192.0.2.255', 1194))" | jexec b python3 + + atf_check -s exit:0 -o ignore jexec b ping -c 3 198.51.100.1 +} + +bz283426_cleanup() +{ + ovpn_cleanup +} + atf_test_case "4mapped" "cleanup" 4mapped_head() { @@ -1033,6 +1113,7 @@ gcm_128_cleanup() atf_init_test_cases() { atf_add_test_case "4in4" + atf_add_test_case "bz283426" atf_add_test_case "4mapped" atf_add_test_case "6in4" atf_add_test_case "6in6" From nobody Tue Apr 15 12:46:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcP6f4RJ1z5t5tc; Tue, 15 Apr 2025 12:46: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 4ZcP6f37sFz3WLV; Tue, 15 Apr 2025 12:46:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cWz0Yv+wLwlJ6zmzptNjadGdeYYnlT4OvpKVW6cv/vw=; b=yp9maWLyLlWxn3ZZ3v6dX/qEgKIJL548FR0iaJmRCZnTcFbF1bcNYsar8l0Suh6ScSZQiS L7G8qLxb4VseWHpCx0sr5QvYk1dmnpBwHwiZHUJXtWWxNLFsmoLKA5RoUfMbpB7MadUTw8 1lW250WnAiQc/FYo1Q3LDU47vhvLhPMugDmOu+2gVh8TJxM7PN95WmOIC6a8N98zGKu2Py +prXiVROxBOmSWEdlmWt29hgzcjUTCv9TlaMQ1aLIX54wmJcKIptS1q/cOJP1MR0ipHfVa 3BdUv/XXv8Uwq5AtJ29/oP4JguMBksyjCOoq3bWAOhtFxaOqKOn/BfXOLdm/iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744721194; a=rsa-sha256; cv=none; b=P2wcAwSsuNMdQUSDFUrVj7cwZiFjNOEMn4G4EQsIbxLMFOl/y7bUf7Rg3+gZVQyOIfKJN8 Ic6BRyOAXbCcdVw+9FmkpVsR8Y4bGrufTD7PDo1DIqBzqtGBpisWO8lAz2S8waxqrDA4W1 lnUAoMcfB0tx9j/1HrcqUcPN0J/iKu3DAWHHDQYzkWwRrIx8PVBEd6FXH8ld2BhZYTdbAe Lp24HeHahGG/2S+IHi5e/28JqRNPejrmZWQTw2QYe7e6nLv4/dc7RPAjsYFyULpBGEkxUK QwMvQwd8fjqxfEX0YqcVM/p22P4MFlubU+IOylWNEhsTegN3YBITbev2qyAPMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cWz0Yv+wLwlJ6zmzptNjadGdeYYnlT4OvpKVW6cv/vw=; b=n6ozViVxce93HK+w7LRBJrPXjZ2N/ZT6A+JBHvvJTUisTNySFs7lb6P+WXTCh6CtrYIL5U y53w4VBWSy6LKXIjkz42EV7IB04sVoK7vWVV4CHD17n9FEoWB4R7jvIAVmIcMoZ795X0DZ 2XuIgCs8eJXwDzdJ9Pns2hGwVWqKIwoM8kmNtK2BI1Hj2wYHxhnk/Bhw4ZiwaP+k+Wbo+r qBFaxSc7+CO78IISfukvEBO0sENijlQCVZSvg+aBJU/jStvi8OLdztqqeoa/29CJM5Q4KC c4hfkXnz2fz3WP1t5DtyckMBjPMYaZDgqFv5wBhl0K8K7P73hqyzdoYUREYRow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcP6f277tzbBh; Tue, 15 Apr 2025 12:46: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 53FCkYJR078266; Tue, 15 Apr 2025 12:46:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FCkYSt078263; Tue, 15 Apr 2025 12:46:34 GMT (envelope-from git) Date: Tue, 15 Apr 2025 12:46:34 GMT Message-Id: <202504151246.53FCkYSt078263@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: 9c68e37d96b9 - main - pf: share reason between pf_test() and pf_test_rule() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9c68e37d96b932612f2819232c8a934eaeebb557 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9c68e37d96b932612f2819232c8a934eaeebb557 commit 9c68e37d96b932612f2819232c8a934eaeebb557 Author: Kristof Provost AuthorDate: 2025-04-10 08:33:07 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 07:47:47 +0000 pf: share reason between pf_test() and pf_test_rule() pass a pointer to pf_test()'s reason to pf_test_rule instead of using a local one. While we always intended to keep the logging in pf_test_rule and pf_test so seperate that we don't end up with a wrong reason, this is just too fragile and I can't even convince myself that it still is right. pointed out by markus, ok bluhm benno Obtained from: OpenBSD, henning , f25274e4c5 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index fdd412a92135..9d965d583629 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -342,7 +342,7 @@ static int pf_test_eth_rule(int, struct pfi_kkif *, struct mbuf **); static int pf_test_rule(struct pf_krule **, struct pf_kstate **, struct pf_pdesc *, struct pf_krule **, - struct pf_kruleset **, struct inpcb *); + struct pf_kruleset **, u_short *, struct inpcb *); static int pf_create_state(struct pf_krule *, struct pf_krule *, struct pf_krule *, struct pf_pdesc *, struct pf_state_key *, struct pf_state_key *, int *, @@ -5478,7 +5478,7 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) static int pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pf_pdesc *pd, struct pf_krule **am, - struct pf_kruleset **rsm, struct inpcb *inp) + struct pf_kruleset **rsm, u_short *reason, struct inpcb *inp) { struct pf_krule *nr = NULL; struct pf_krule *r, *a = NULL; @@ -5487,7 +5487,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pf_krule_item *ri; struct tcphdr *th = &pd->hdr.tcp; struct pf_state_key *sk = NULL, *nk = NULL; - u_short reason, transerror; + u_short transerror; int rewrite = 0; int tag = -1; int asd = 0; @@ -5575,7 +5575,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, switch (transerror) { default: /* A translation error occurred. */ - REASON_SET(&reason, transerror); + REASON_SET(reason, transerror); goto cleanup; case PFRES_MAX: /* No match. */ @@ -5859,7 +5859,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (r->action == PF_MATCH) { ri = malloc(sizeof(struct pf_krule_item), M_PF_RULE_ITEM, M_NOWAIT | M_ZERO); if (ri == NULL) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(reason, PFRES_MEMORY); goto cleanup; } ri->r = r; @@ -5873,7 +5873,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_TRANSLATE); + REASON_SET(reason, PFRES_TRANSLATE); goto cleanup; } } @@ -5903,7 +5903,7 @@ nextrule: a = *am; ruleset = *rsm; - REASON_SET(&reason, PFRES_MATCH); + REASON_SET(reason, PFRES_MATCH); /* apply actions for last matching pass/block rule */ pf_rule_to_actions(r, &pd->act); @@ -5911,7 +5911,7 @@ nextrule: pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_TRANSLATE); + REASON_SET(reason, PFRES_TRANSLATE); goto cleanup; } } @@ -5919,7 +5919,7 @@ nextrule: if (r->log) { if (rewrite) m_copyback(pd->m, pd->off, pd->hdrlen, pd->hdr.any); - PFLOG_PACKET(r->action, reason, r, a, ruleset, pd, 1, NULL); + PFLOG_PACKET(r->action, *reason, r, a, ruleset, pd, 1, NULL); } if (pd->act.log & PF_LOG_MATCHES) pf_log_matches(pd, r, a, ruleset, &match_rules); @@ -5929,14 +5929,14 @@ nextrule: (r->rule_flag & PFRULE_RETURNICMP) || (r->rule_flag & PFRULE_RETURN))) { pf_return(r, nr, pd, th, bproto_sum, - bip_sum, &reason, r->rtableid); + bip_sum, reason, r->rtableid); } if (r->action == PF_DROP) goto cleanup; if (tag > 0 && pf_tag_packet(pd, tag)) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(reason, PFRES_MEMORY); goto cleanup; } if (pd->act.rtableid >= 0) @@ -5957,9 +5957,9 @@ nextrule: */ pd->act.rt = r->rt; /* Don't use REASON_SET, pf_map_addr increases the reason counters */ - reason = pf_map_addr_sn(pd->af, r, pd->src, &pd->act.rt_addr, + *reason = pf_map_addr_sn(pd->af, r, pd->src, &pd->act.rt_addr, &pd->act.rt_kif, NULL, &sn, &snh, pool, PF_SN_ROUTE); - if (reason != 0) + if (*reason != 0) goto cleanup; } @@ -5978,7 +5978,7 @@ nextrule: if (action == PF_DROP && (r->rule_flag & PFRULE_RETURN)) pf_return(r, nr, pd, th, - bproto_sum, bip_sum, &reason, + bproto_sum, bip_sum, reason, pd->act.rtableid); return (action); } @@ -7279,6 +7279,7 @@ pf_sctp_multihome_delayed(struct pf_pdesc *pd, struct pfi_kkif *kif, struct pf_krule *ra = NULL; struct pf_krule *r = &V_pf_default_rule; struct pf_kruleset *rs = NULL; + u_short reason; bool do_extra = true; PF_RULES_RLOCK_TRACKER; @@ -7319,7 +7320,7 @@ again: j->pd.related_rule = s->rule; } ret = pf_test_rule(&r, &sm, - &j->pd, &ra, &rs, NULL); + &j->pd, &ra, &rs, &reason, NULL); PF_RULES_RUNLOCK(); SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->pd.m, ret); if (ret != PF_DROP && sm != NULL) { @@ -10367,7 +10368,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 action = PF_DROP; else action = pf_test_rule(&r, &s, &pd, &a, - &ruleset, inp); + &ruleset, &reason, inp); if (action != PF_PASS) REASON_SET(&reason, PFRES_FRAG); break; @@ -10425,7 +10426,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 break; } else { action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); + &a, &ruleset, &reason, inp); } } break; @@ -10446,7 +10447,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 a = s->anchor; } else if (s == NULL) { action = pf_test_rule(&r, &s, - &pd, &a, &ruleset, inp); + &pd, &a, &ruleset, &reason, inp); } break; @@ -10474,7 +10475,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 a = s->anchor; } else if (s == NULL) action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); + &a, &ruleset, &reason, inp); break; } From nobody Tue Apr 15 12:46:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcP6g5St2z5t5wv; Tue, 15 Apr 2025 12:46: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 4ZcP6g3YPHz3W50; Tue, 15 Apr 2025 12:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mDjFRpsjsazLluADaJaon6sR/4ddQDfl3MHKIqJB3Q4=; b=DSeF/KL2P9/mmM9ozCbFwj4pjZ9R6M0d3hqe6nMKqDdNNoFDbfV44ELOogmtwobw7gXJAA P4Y3IHyO8WvOlhcCV0K1gZp/2JDddeWehInEtUvAFJd8cY3w8UiR8Qec92m2XMDmGArRoA XjLlD4qVk4wLFm922AOieJ9/wLB1tAt+NOFNjyCm4/XrtXmsaqCevgwgzlBgql43H3RDI5 DCQ9KX4JhMYhchjM7rWw1uHAkkTgsudaAX5QZ99i0/3mFBS9jaF2qXvFxgXzjR5D37AoSa 2zQ0t4NAbf6V49Yiyr5i9vUXFJ7P7TXtVFM8/JvBNemYVsQA/ITTyRgdC6JSCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744721195; a=rsa-sha256; cv=none; b=QmI/ThWI60bg6+v2SdypRmbvyOFtKlsZp9wuZLNkOP7MnTrjYGwG1Ey9X3wqOBPs5OQ0dU OaWJRMlFX0w0/PG34CNHbXkaitJ+N6D4aauqBLM2Ccda7/D02BewpSH1Uyfmq3M0BIVGuq iP7P4iYAwsU0pyoS/WtXCllN1x+4Gy1uL+ONeSoRnzDeW743W3Cr1zym74uHgSqqtiQhwr 2H5VTIvsOL+w+j5hQpS6I6Vxytz86wooRcZGDQTjvn6AAKKQMg+fYdOJEkjE7Rlw2Kg+DB DNsrk9OcRrQJ1YTNH8+YEoaSsQwPpmOGL5ovXmNbGCC3zKndsjNwS4cz7S5trg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mDjFRpsjsazLluADaJaon6sR/4ddQDfl3MHKIqJB3Q4=; b=bf0HDmCznXlfdw9xfmZp5NJIe4AVwpXVKiMUeOophJwVW2nA7VLe7VEcOgW3zDgOF4Ofjo KaXb1JRhDHcx4GGxnTCquw3sRKlv3MzcLqBGRlY4iREcQyl0BA63cVuM2lMVg5c4mRRAhk OjMEiw5hT5rhd303OBi7ddXreukXYx/u2z9bh++hqcZDubhsaMtRN98rTKjX4EXiFql+ST ZTgSgm4BjTqKqJ4UBzKoqfuwbJUdDqges3JyOouW6UhWdWYXP2RM56bmP3ttC/1xRCQ3RZ zfGbrmGdTbZx4Ag7qPHRuL4J/HocntK+rg/pE7noNU/rf76c4GbR2xsFqybzsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcP6g37HjzbHD; Tue, 15 Apr 2025 12:46: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 53FCkZun078300; Tue, 15 Apr 2025 12:46:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FCkZRR078297; Tue, 15 Apr 2025 12:46:35 GMT (envelope-from git) Date: Tue, 15 Apr 2025 12:46:35 GMT Message-Id: <202504151246.53FCkZRR078297@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: 29273f6a2582 - main - pf: add SDT on REASON_SET() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 29273f6a258264ebc053da8e1a20e85d620b68aa Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=29273f6a258264ebc053da8e1a20e85d620b68aa commit 29273f6a258264ebc053da8e1a20e85d620b68aa Author: Kristof Provost AuthorDate: 2025-04-14 11:41:30 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 07:47:48 +0000 pf: add SDT on REASON_SET() Add a probe point in the REASON_SET macro. This can be halpful during debugging, letting us figure out exactly where PF made a decision. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 2 ++ sys/netpfil/pf/pf.c | 1 + 2 files changed, 3 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index e3a8412bde73..22b902532743 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -330,6 +330,7 @@ MALLOC_DECLARE(M_PFHASH); MALLOC_DECLARE(M_PF_RULE_ITEM); SDT_PROVIDER_DECLARE(pf); +SDT_PROBE_DECLARE(pf, , test, reason_set); struct pfi_dynaddr { TAILQ_ENTRY(pfi_dynaddr) entry; @@ -1759,6 +1760,7 @@ struct pf_sctp_multihome_job { #define REASON_SET(a, x) \ do { \ + SDT_PROBE2(pf, , test, reason_set, x, __LINE__); \ if ((a) != NULL) \ *(a) = (x); \ if (x < PFRES_MAX) \ diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9d965d583629..8c4b5a7ea2da 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -120,6 +120,7 @@ #define DPFPRINTF(n, x) if (V_pf_status.debug >= (n)) printf x SDT_PROVIDER_DEFINE(pf); +SDT_PROBE_DEFINE2(pf, , test, reason_set, "int", "int"); SDT_PROBE_DEFINE4(pf, ip, test, done, "int", "int", "struct pf_krule *", "struct pf_kstate *"); SDT_PROBE_DEFINE5(pf, ip, state, lookup, "struct pfi_kkif *", From nobody Tue Apr 15 12:46:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcP6j1qzCz5t5m1; Tue, 15 Apr 2025 12:46: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 4ZcP6h4jQrz3WCl; Tue, 15 Apr 2025 12:46:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b7Q6GrPA6z9voPw4FJeSMyYVtjLdiBl3A1tkJ0NgOkQ=; b=yMgB0Tk8HRyvnULb38ZvhOpTdMZEsqZ7mcGJS6WLkkr/9qpUfDNytRUl51FGES6hMQAW2Q OyeURoGjbYPWFJFQPCsX3D19BojktzedPzrHN98HqVyDCdFWCtbHDHd/tFuTquN0+7qOQT BlH+ufknKRmd0mVXhO88QwOoNc7DPW2O2L4wPr5uW2GUUXpx7rdjIPU9i5jS8egQW7iSz/ XgvbpGgr1TLq064at+POaSJk5r20RJwTQ8f6H3nqcSspmWYZXeU+7rQVI/UhQitJb5uHVU 3sOcw9f9s8ItK5LFjdEMZdBFClZ4lxlIKRno3QzKsRKwuyELEBT5c2zO6+2iyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744721196; a=rsa-sha256; cv=none; b=R2eose+sy9pH9tAQ7Lqlt8M3JDw0zqWliRIPruG7JIoQvDeNe/dPFOI+P5l/i4O/WxKXep FnljtS4fIrdyI4sIJDh5kAhyT3lbVIAuuNYxy00CTDLS5MipMVP1XHA9Y+2DSueMtHgd3w 2zfoqcYndxnx4BC40zqYQ8dwk4wYvcBj0wB2ME8CJ2fhXm4zCJ7eJAJI6Q/1Lyv5mcDIrX bsE3//cyv8sDI4yDNHnd7TEuZdu39nFBEqWgJjcVM8tVZyiU/MRcaeVobbUyHOTPH4+Bhq u2Rt0HI0cEdxWx+9arwngPAprzk9x/lWl7B6Ncf7fpB68aeELZ3pN5FpM5EcGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b7Q6GrPA6z9voPw4FJeSMyYVtjLdiBl3A1tkJ0NgOkQ=; b=BjrJ+u33Cycxntd0ozPi80n9SNYa0Loe4vtNd8hBh0d2hZ7yH92yH5H6nrUiFid7nvXxO/ R4bWrzAGC18oEkiQgcjIIRxMyQfRWLXOMsKAmbY7IL7rdjlW8CXN70R7ItsBTe2k9E4BkK WZkwxdxv8MXDzFnWjrfa2wDxXmqMAE0HXmh8gAfbLhnSLsDWCzJ7TqZxW4/1GEi2M4oLKr vMA6FJUDnVYZqODSoedZlQuP9seNqFh2g8YC74yrHxxt0SyNxwFRhOOF6y+QGsuv2kk549 cdUFzmCg4TWtmKTWNntULejhmKI/3FCYwtriq14X8Ng1Z7vIvgiHarhli99lcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcP6h47R2zZlt; Tue, 15 Apr 2025 12:46: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 53FCkaZA078341; Tue, 15 Apr 2025 12:46:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FCkaH9078335; Tue, 15 Apr 2025 12:46:36 GMT (envelope-from git) Date: Tue, 15 Apr 2025 12:46:36 GMT Message-Id: <202504151246.53FCkaH9078335@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: 4e5657ab346c - main - pf: pass struct pf_pdesc to pf_change_ap() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4e5657ab346c958ca4bdf0a4afcf86a7b3b8b2b7 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4e5657ab346c958ca4bdf0a4afcf86a7b3b8b2b7 commit 4e5657ab346c958ca4bdf0a4afcf86a7b3b8b2b7 Author: Kristof Provost AuthorDate: 2025-04-14 13:01:00 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 07:47:48 +0000 pf: pass struct pf_pdesc to pf_change_ap() Rather than passing the mbuf pass the struct pf_pdesc pointer. This also contains the mbuf, as well as other fields (e.g. af, naf) we can use rather than having to pass them as an argument. We'll make that change in the next commit. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 85 +++++++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 8c4b5a7ea2da..9c41bf80fec4 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -308,7 +308,7 @@ static void pf_init_threshold(struct pf_threshold *, u_int32_t, static void pf_add_threshold(struct pf_threshold *); static int pf_check_threshold(struct pf_threshold *); -static void pf_change_ap(struct mbuf *, struct pf_addr *, u_int16_t *, +static void pf_change_ap(struct pf_pdesc *, struct pf_addr *, u_int16_t *, u_int16_t *, u_int16_t *, struct pf_addr *, u_int16_t, u_int8_t, sa_family_t, sa_family_t); static int pf_modulate_sack(struct pf_pdesc *, @@ -402,8 +402,8 @@ static u_int pf_purge_expired_states(u_int, int); static void pf_purge_unlinked_rules(void); static int pf_mtag_uminit(void *, int, int); static void pf_mtag_free(struct m_tag *); -static void pf_packet_rework_nat(struct mbuf *, struct pf_pdesc *, - int, struct pf_state_key *); +static void pf_packet_rework_nat(struct pf_pdesc *, int, + struct pf_state_key *); #ifdef INET static void pf_route(struct mbuf **, struct pf_krule *, struct ifnet *, struct pf_kstate *, @@ -425,14 +425,14 @@ extern struct proc *pf_purge_proc; VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); -#define PACKET_UNDO_NAT(_m, _pd, _off, _s) \ +#define PACKET_UNDO_NAT(_pd, _off, _s) \ do { \ struct pf_state_key *nk; \ - if ((pd->dir) == PF_OUT) \ + if ((pd->dir) == PF_OUT) \ nk = (_s)->key[PF_SK_STACK]; \ else \ nk = (_s)->key[PF_SK_WIRE]; \ - pf_packet_rework_nat(_m, _pd, _off, nk); \ + pf_packet_rework_nat(_pd, _off, nk); \ } while (0) #define PACKET_LOOPED(pd) ((pd)->pf_mtag && \ @@ -624,8 +624,7 @@ pf_is_loopback(sa_family_t af, struct pf_addr *addr) } static void -pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, - struct pf_state_key *nk) +pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) { switch (pd->proto) { @@ -633,28 +632,28 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, struct tcphdr *th = &pd->hdr.tcp; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) - pf_change_ap(m, pd->src, &th->th_sport, pd->ip_sum, + pf_change_ap(pd, pd->src, &th->th_sport, pd->ip_sum, &th->th_sum, &nk->addr[pd->sidx], nk->port[pd->sidx], 0, pd->af, pd->naf); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) - pf_change_ap(m, pd->dst, &th->th_dport, pd->ip_sum, + pf_change_ap(pd, pd->dst, &th->th_dport, pd->ip_sum, &th->th_sum, &nk->addr[pd->didx], nk->port[pd->didx], 0, pd->af, pd->naf); - m_copyback(m, off, sizeof(*th), (caddr_t)th); + m_copyback(pd->m, off, sizeof(*th), (caddr_t)th); break; } case IPPROTO_UDP: { struct udphdr *uh = &pd->hdr.udp; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) - pf_change_ap(m, pd->src, &uh->uh_sport, pd->ip_sum, + pf_change_ap(pd, pd->src, &uh->uh_sport, pd->ip_sum, &uh->uh_sum, &nk->addr[pd->sidx], nk->port[pd->sidx], 1, pd->af, pd->naf); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) - pf_change_ap(m, pd->dst, &uh->uh_dport, pd->ip_sum, + pf_change_ap(pd, pd->dst, &uh->uh_dport, pd->ip_sum, &uh->uh_sum, &nk->addr[pd->didx], nk->port[pd->didx], 1, pd->af, pd->naf); - m_copyback(m, off, sizeof(*uh), (caddr_t)uh); + m_copyback(pd->m, off, sizeof(*uh), (caddr_t)uh); break; } case IPPROTO_SCTP: { @@ -662,12 +661,12 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, uint16_t checksum = 0; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) { - pf_change_ap(m, pd->src, &sh->src_port, pd->ip_sum, + pf_change_ap(pd, pd->src, &sh->src_port, pd->ip_sum, &checksum, &nk->addr[pd->sidx], nk->port[pd->sidx], 1, pd->af, pd->naf); } if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) { - pf_change_ap(m, pd->dst, &sh->dest_port, pd->ip_sum, + pf_change_ap(pd, pd->dst, &sh->dest_port, pd->ip_sum, &checksum, &nk->addr[pd->didx], nk->port[pd->didx], 1, pd->af, pd->naf); } @@ -684,7 +683,7 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, ih->icmp_id = nk->port[pd->sidx]; pd->sport = &ih->icmp_id; - m_copyback(m, off, ICMP_MINLEN, (caddr_t)ih); + m_copyback(pd->m, off, ICMP_MINLEN, (caddr_t)ih); } /* FALLTHROUGH */ } @@ -3262,7 +3261,7 @@ pf_proto_cksum_fixup(struct mbuf *m, u_int16_t cksum, u_int16_t old, } static void -pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, +pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, u_int16_t *pc, struct pf_addr *an, u_int16_t pn, u_int8_t u, sa_family_t af, sa_family_t naf) { @@ -3273,7 +3272,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, if (af == naf) PF_ACPY(a, an, af); - if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) + if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) *pc = ~*pc; if (p == NULL) /* no port -> done. no cksum to worry about. */ @@ -3295,7 +3294,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u); - *pc = pf_proto_cksum_fixup(m, *pc, po, pn, u); + *pc = pf_proto_cksum_fixup(pd->m, *pc, po, pn, u); break; #ifdef INET6 case AF_INET6: @@ -3352,7 +3351,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, ao.addr16[6], an->addr16[6], u), ao.addr16[7], an->addr16[7], u); - *pc = pf_proto_cksum_fixup(m, *pc, po, pn, u); + *pc = pf_proto_cksum_fixup(pd->m, *pc, po, pn, u); break; } break; @@ -3361,7 +3360,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, unhandled_af(af); } - if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | + if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) { *pc = ~*pc; if (! *pc) @@ -5599,7 +5598,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->nsaddr, &nk->addr[pd->sidx], pd->af) || nk->port[pd->sidx] != pd->nsport) { - pf_change_ap(pd->m, pd->src, &th->th_sport, + pf_change_ap(pd, pd->src, &th->th_sport, pd->ip_sum, &th->th_sum, &nk->addr[pd->sidx], nk->port[pd->sidx], 0, pd->af, pd->naf); pd->sport = &th->th_sport; @@ -5609,7 +5608,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->ndaddr, &nk->addr[pd->didx], pd->af) || nk->port[pd->didx] != pd->ndport) { - pf_change_ap(pd->m, pd->dst, &th->th_dport, + pf_change_ap(pd, pd->dst, &th->th_dport, pd->ip_sum, &th->th_sum, &nk->addr[pd->didx], nk->port[pd->didx], 0, pd->af, pd->naf); pd->dport = &th->th_dport; @@ -5623,7 +5622,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->nsaddr, &nk->addr[pd->sidx], pd->af) || nk->port[pd->sidx] != pd->nsport) { - pf_change_ap(pd->m, pd->src, + pf_change_ap(pd, pd->src, &pd->hdr.udp.uh_sport, pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->sidx], @@ -5635,7 +5634,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->ndaddr, &nk->addr[pd->didx], pd->af) || nk->port[pd->didx] != pd->ndport) { - pf_change_ap(pd->m, pd->dst, + pf_change_ap(pd, pd->dst, &pd->hdr.udp.uh_dport, pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->didx], @@ -5651,7 +5650,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->nsaddr, &nk->addr[pd->sidx], pd->af) || nk->port[pd->sidx] != pd->nsport) { - pf_change_ap(pd->m, pd->src, + pf_change_ap(pd, pd->src, &pd->hdr.sctp.src_port, pd->ip_sum, &checksum, &nk->addr[pd->sidx], nk->port[pd->sidx], 1, pd->af, pd->naf); @@ -5661,7 +5660,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, } if (PF_ANEQ(&pd->ndaddr, &nk->addr[pd->didx], pd->af) || nk->port[pd->didx] != pd->ndport) { - pf_change_ap(pd->m, pd->dst, + pf_change_ap(pd, pd->dst, &pd->hdr.sctp.dest_port, pd->ip_sum, &checksum, &nk->addr[pd->didx], nk->port[pd->didx], 1, pd->af, pd->naf); @@ -6333,12 +6332,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, switch (pd->proto) { case IPPROTO_TCP: if (afto || *pd->sport != sport) { - pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, &pd->hdr.tcp.th_sum, + pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.tcp.th_sum, saddr, sport, 0, pd->af, pd->naf); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.tcp.th_sum, + pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.tcp.th_sum, daddr, dport, 0, pd->af, pd->naf); rewrite = 1; } @@ -6346,12 +6345,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, case IPPROTO_UDP: if (afto || *pd->sport != sport) { - pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, &pd->hdr.udp.uh_sum, + pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.udp.uh_sum, saddr, sport, 1, pd->af, pd->naf); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.udp.uh_sum, + pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.udp.uh_sum, daddr, dport, 1, pd->af, pd->naf); rewrite = 1; } @@ -6360,12 +6359,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, case IPPROTO_SCTP: { uint16_t checksum = 0; if (afto || *pd->sport != sport) { - pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, &checksum, + pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &checksum, saddr, sport, 1, pd->af, pd->naf); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, &checksum, + pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &checksum, daddr, dport, 1, pd->af, pd->naf); rewrite = 1; } @@ -7108,14 +7107,14 @@ pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || nk->port[sidx] != pd->osport) - pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, + pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, pd->pcksum, &nk->addr[sidx], nk->port[sidx], pd->virtual_proto == IPPROTO_UDP, pd->af, nk->af); if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || nk->port[didx] != pd->odport) - pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, + pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, pd->pcksum, &nk->addr[didx], nk->port[didx], pd->virtual_proto == IPPROTO_UDP, pd->af, nk->af); @@ -8028,10 +8027,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd->m, pd2.src, &th.th_sport, + pf_change_ap(pd, pd2.src, &th.th_sport, pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], nk->port[sidx], 1, pd->af, nk->af); - pf_change_ap(pd->m, pd2.dst, &th.th_dport, + pf_change_ap(pd, pd2.dst, &th.th_dport, pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], nk->port[didx], 1, pd->af, nk->af); m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); @@ -8161,10 +8160,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd->m, pd2.src, &uh.uh_sport, + pf_change_ap(pd, pd2.src, &uh.uh_sport, pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.sidx], nk->port[sidx], 1, pd->af, nk->af); - pf_change_ap(pd->m, pd2.dst, &uh.uh_dport, + pf_change_ap(pd, pd2.dst, &uh.uh_dport, pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.didx], nk->port[didx], 1, pd->af, nk->af); m_copyback(pd2.m, pd2.off, sizeof(uh), @@ -9003,7 +9002,8 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, KMOD_IPSTAT_INC(ips_cantfrag); if (pd->act.rt != PF_DUPTO) { if (s && s->nat_rule != NULL) - PACKET_UNDO_NAT(m0, pd, + MPASS(m0 == pd->m); + PACKET_UNDO_NAT(pd, (ip->ip_hl << 2) + (ip_off & IP_OFFMASK), s); @@ -9288,7 +9288,8 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, in6_ifstat_inc(ifp, ifs6_in_toobig); if (pd->act.rt != PF_DUPTO) { if (s && s->nat_rule != NULL) - PACKET_UNDO_NAT(m0, pd, + MPASS(m0 == pd->m); + PACKET_UNDO_NAT(pd, ((caddr_t)ip6 - m0->m_data) + sizeof(struct ip6_hdr), s); From nobody Tue Apr 15 12:46:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcP6k2QjSz5t62m; Tue, 15 Apr 2025 12:46: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 4ZcP6j695gz3WFq; Tue, 15 Apr 2025 12:46:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BnAzoGX25aDJyD3MJ8qJpCw3EQofBYiekDmxhz0KpWU=; b=BFL5Fz5YLn4544qdyOZzVib822vMtcR4trXVmFlY0zdwVGdADggjzMVV7XuPotXdMroYpx BPlC6bW4KdMY5da7voEb2+BLZU09WQ5p8tArTnnRcQ6C1dJGlTyJtGUJVdWMFGe5XFjDF4 zjEQDh/LVARtwQ32VpbO+SarC71ZBuDtVu53O5n8PSHLaddi++NBgdddlXtzB792gkMwH/ 7tjemwWtQht8VX+n12/avmVDXUIx7naOmKZW7ljsbDCX7drzmlphjBKKlEn6l+c/DlyUTg +ceMsJHazc7lt4Rwy4ARnC5x/FaFkjlqF3kjuGeQDn0b15WBwUXKadZCReyfqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744721197; a=rsa-sha256; cv=none; b=lSs+TzHaP3oBX9szAW+cEi+yY5f/cAzl/+xypYF0R7qxqbfVJDJWiCYSZsxJbEckYBjbzJ F1X3ccVlQHkOoNqScXohtoKLQCnbOccnI3QD2PbCpZZAp8PYRnZ3q43C+gtO1Y5vlljiGK 1tGQ+BoeHDrJ4IqvhcoPi9o8/JVKmG6hSDjFwcHmNUpdCQhZ5zv8JCbJcN47gS3f0AmKDd /TM4XNmwWpMauzJpCig42mdwIADtTUHz84NNac3O86cz3C7QzO+4sU8gm/CSXp49qHeLKl D61HtlyT1LoKrvax779cEzPgIRkBXSD2skRzXPybuy8V3LT+r67OANY+lHk4fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744721197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BnAzoGX25aDJyD3MJ8qJpCw3EQofBYiekDmxhz0KpWU=; b=A7+cQ3RiWjLXH2g+kErgMMsmtn5MXE4ok+r+HH1UpLHxK+ZKjeXbtV8Y4y3LoWtj9DuKvC hlowrZe8XDV21REmgIV5e069J7s1A7npjH7GFei//fyTCoILkuJyLa6w43Oi/WiMcDaCjw m40t+Hnd9fSGWlGN+P8Ihh/sWmVM6mCstRwELmf9z43krqFZBfaXEUmkmUbLN9I9Rk0LEs hGXQWqAswe9vQXvfPtlKr365OqzUY3cQnbE3RoxJyzygS6ECPEAQy/EbLYTdTJyCCmW+Wm wTGxzAXZqh7QIYXGjt1ZBC+X7KO1YKg55tv72apSIc4sjCsYQXDRuFksPEx8bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcP6j55fkzbHF; Tue, 15 Apr 2025 12:46: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 53FCkbRK078382; Tue, 15 Apr 2025 12:46:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FCkbFu078379; Tue, 15 Apr 2025 12:46:37 GMT (envelope-from git) Date: Tue, 15 Apr 2025 12:46:37 GMT Message-Id: <202504151246.53FCkbFu078379@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: 0fc3c29fb3dd - main - pfctl: also remove incorrect counter print for rule anchors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0fc3c29fb3dd6ab6436a78c502544ebf2cf63ee2 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0fc3c29fb3dd6ab6436a78c502544ebf2cf63ee2 commit 0fc3c29fb3dd6ab6436a78c502544ebf2cf63ee2 Author: Kristof Provost AuthorDate: 2025-04-15 11:13:50 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 11:13:50 +0000 pfctl: also remove incorrect counter print for rule anchors Just as for nat anchors we can't print counters for rule anchors. Remove the incorrect print call. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index b4318159b4ec..a9fc33525dd6 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1269,7 +1269,6 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, errc(1, ret, "DIOCGETRULESETS"); } - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { if ((ret = pfctl_get_ruleset(pfh, npath, nr, &prs)) != 0) errc(1, ret, "DIOCGETRULESET"); From nobody Tue Apr 15 16:43:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcVN35HGBz5tQ5j; Tue, 15 Apr 2025 16:43: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 4ZcVN32sSHz3DMQ; Tue, 15 Apr 2025 16:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744735411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+yOGPcZEZ0mnLZMY4fnKhXnOm+wNj5Kgu9MwFc/v5Co=; b=uKy9tfWVTvQz9uIiTGdA3lcVcBL6ts3nGmCeNzGvPMezWEPiiduQlOp9VEP1LkpXYDoYJL x4+qMLkE4Yw+eojJ8KSylu9wrjXzvWy5vGMrtfSFu75P68Q52VyTKKhMdsz17KKVYYOfdB 6vNtDWNORpwebv7mS/1Yk3TeBbxYkvUdNcHSpkCRuZfyDdipjbqsiYQKt9YovQyP+1lUbw jP3hXaz0/waAaXGKFyrq6+AtjB+68vqCFLghCVlwiEcKGehpjmat0YpjgLizbl/13oAfO7 rdGjvvlWEzdUKluepU8qO3xaP2YKQVGhAwCjcAuGj2qWiSf2jOgVgsJZSYsJgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744735411; a=rsa-sha256; cv=none; b=oS11R3TTRxg81iLWRqE7mGjq08p+KLC2ALl9Ws29CYA7+WitqWh9BZg377GkV2zrhDvuYR 6K97NRzGHG/AA9hC6Xx0ScHiXP/QlN4M34Zy+CgcM99GGzXJ6L7qVwU6IMQEi6QdXErIWg 6rGK9QTaoih6lErhaHapkbba7+e1wLt0AhCfCmzT6ct2i1dDQz8x+MSl8a0Of4WpyJ1RCJ MgAqArgbxX0mNvkEf6TEhEPT7BbR2lBYogpYVjIYLWxEqtSaDo+YdhV3ck/Qa//FkmBOuT lnRaYRJnClaD9E6G9xOoG4nqkO0STvYkNX+W1gpfSi09pgN9EC0ClwrgLPJbvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744735411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+yOGPcZEZ0mnLZMY4fnKhXnOm+wNj5Kgu9MwFc/v5Co=; b=nfWdnLjwntDJYVz8Pq6v8oeQfUzj7QUFKNg1G6ddpoRyb+yUcvKhWDEnXO+u+7feKwFyes bLhrrWsP793noAh+i6ggNEtxpT9zXMBZMNYAAOz4EC2+4PaDx+UOEHU91vvhkmIbA43FC6 t0mf1XSGorMlSra3K8a8o17i4YPVF74RLf5PdmRUxxN6StnA5MTGnfZgMSNQp3//26WBZF J1+DA3PdAv4dc/3TQb850BUxjRo9pCizywdMLs/eC4U2kUW6R4+yUXl6mBg4CjnDRutNK9 C3lI8/gLDBYTIGMDAhjUC6LEqcgW1CSW0Vs3QclH0VFJr3xf0VfWp4wTs11//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 4ZcVN32SDrzj6D; Tue, 15 Apr 2025 16:43: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 53FGhVVn027315; Tue, 15 Apr 2025 16:43:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FGhVCO027312; Tue, 15 Apr 2025 16:43:31 GMT (envelope-from git) Date: Tue, 15 Apr 2025 16:43:31 GMT Message-Id: <202504151643.53FGhVCO027312@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: adc33d3288e5 - main - vm_kern: in unback, init cursor while unlocked List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: adc33d3288e59f9f2f6ee5cffe49b0fd57ce0d70 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=adc33d3288e59f9f2f6ee5cffe49b0fd57ce0d70 commit adc33d3288e59f9f2f6ee5cffe49b0fd57ce0d70 Author: Doug Moore AuthorDate: 2025-04-15 16:42:06 +0000 Commit: Doug Moore CommitDate: 2025-04-15 16:42:06 +0000 vm_kern: in unback, init cursor while unlocked In kmem_unback(), take one small bit of code out of the region where the write lock is held. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49834 --- sys/vm/vm_kern.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 2aa5588a7588..d13dfb1bc953 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -650,8 +650,8 @@ _kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size) pmap_remove(kernel_pmap, addr, addr + size); offset = addr - VM_MIN_KERNEL_ADDRESS; end = offset + size; - VM_OBJECT_WLOCK(object); vm_page_iter_init(&pages, object); + VM_OBJECT_WLOCK(object); m = vm_radix_iter_lookup(&pages, atop(offset)); domain = vm_page_domain(m); if (__predict_true((m->oflags & VPO_KMEM_EXEC) == 0)) From nobody Tue Apr 15 17:58:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcX2H2mjnz5tXlT; Tue, 15 Apr 2025 17:58: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 4ZcX2H1rDrz3k7Q; Tue, 15 Apr 2025 17:58:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744739895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=65quv4J9o/qXuOt9mDtd7S7EPrbci+eE7zTLX0Q/CQE=; b=rdw0/A4CmTV5Y+npl30xqahXsosuSi9xBmZCL6mci0NAzxOiW8FG23/G8D8/fRVfmioSMB M8FswK7/husCnjMmeOebPk0xfGi2qykMMSAGhYrFtjNIUKolb0apRsXmX2g13h77OTSpLO xJqrI9rn2xW2yCX6ylFT3tVCYUQhMtVHMJmG+i7oN0usGk2XYyZFKaBv6gEUN011jnieWg G0jZ4SQsV4JIJ7TwKBQXaZufvKYoixJik/B+uGhKxo2ErGZaCCRk1A6jrOH+m2NugnR7c7 kUav9x3nJ0G8aj6K/eSzDug3G7iNevhQ4l0++tf1ZQY6/xH9GxT7NsHuZliQHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744739895; a=rsa-sha256; cv=none; b=A182P4S2qhNgRbBYVuyulnrv4az76DlYUCzHKvp4r3fE09TDPXFQQCSd0MzelGjzW637JY XSoyhUhfYaMX/nZIpVvhMkbgu1mqf+pzrGU4Z2S/9Uz7ot+4MV0sZLAZ1QcE/dS2oSuamY jJ8ffd+hz/AIH7ZA1OEEEsDNE0FOdFZA6MVxySkUmZsdMLOVliMkcU6F6nyn9SAxKSGxpL yFX+x82GyMI9ObVbveXV9YN8+gMSn/gNKRJaTRf4YVlAhH8Kwa1H5QCPk2+o8kiVGB/ZHe XHOh/iK2/6Anv6wh3oWjZW8lvJZ+UyR3S63bKIKp2J0yii3jtpGCimirF3Cvig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744739895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=65quv4J9o/qXuOt9mDtd7S7EPrbci+eE7zTLX0Q/CQE=; b=aXbublVl5HpVBDsm7wDOo1JcvsHAmxGwhpXR4meWKWmEBHYyJ5ndSmQ5iLm2KFKYBwgPmo qf97YWdEs0ZmHHYC1qVtHF0c51DNU69OxM/Ujsk+Jza8iHgo7d3dBg+ddOHF/KnwGpdzU3 8Q1xrVSsfDV3mwCk1VVpYaoiKq79fV9/ChqAtuXIZ8IJIx8qCgaqOvCzmdaXriwpJXjWmd V8MrsnBWEtB2FXbke2DRlVg1cK/w+8zXf1+hquH5sgmRQVRFeDDnwDyy5MvTSXSy6PQnqT ZEirNcuPOaDn1Gmu0ZHh7QXNj/AuPFxeRDBf8K3EpLOlbXGnPOWeTtcINqUPVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcX2H17QGzksn; Tue, 15 Apr 2025 17:58: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 53FHwEOq059369; Tue, 15 Apr 2025 17:58:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FHwEPu059366; Tue, 15 Apr 2025 17:58:14 GMT (envelope-from git) Date: Tue, 15 Apr 2025 17:58:14 GMT Message-Id: <202504151758.53FHwEPu059366@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: 7622e2d21a22 - main - cp: Improve error messages. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 7622e2d21a22f7af65a7145f91ef34179bb6ee03 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7622e2d21a22f7af65a7145f91ef34179bb6ee03 commit 7622e2d21a22f7af65a7145f91ef34179bb6ee03 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-15 17:57:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-15 17:57:38 +0000 cp: Improve error messages. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D49841 --- bin/cp/cp.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 823376964bd1..2b9c7531e4ca 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -214,7 +214,7 @@ main(int argc, char *argv[]) * Case (1). Target is not a directory. */ if (argc > 1) - errx(1, "%s is not a directory", to.p_path); + errc(1, ENOTDIR, "%s", to.p_path); /* * Need to detect the case: @@ -237,17 +237,17 @@ main(int argc, char *argv[]) type = FILE_TO_FILE; if (have_trailing_slash && type == FILE_TO_FILE) { - if (r == -1) { - errx(1, "directory %s does not exist", - to.p_path); - } else - errx(1, "%s is not a directory", to.p_path); + if (r == -1) + errc(1, ENOENT, "%s", to.p_path); + else + errc(1, ENOTDIR, "%s", to.p_path); } - } else + } else { /* * Case (2). Target is a directory. */ type = FILE_TO_DIR; + } /* * For DIR_TO_DNE, we could provide copy() with the to_stat we've @@ -339,8 +339,8 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) base = (p == NULL) ? 0 : (int)(p - curr->fts_path + 1); - if (!strcmp(&curr->fts_path[base], - "..")) + if (strcmp(curr->fts_path + base, "..") + == 0) base += 1; } else base = curr->fts_pathlen; From nobody Tue Apr 15 17:58:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcX2J6Qyqz5tXqv; Tue, 15 Apr 2025 17:58:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcX2J1NpSz3k61; Tue, 15 Apr 2025 17:58:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744739896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3b7fxY4i7dN2fhrACMeEhGfiASpTXYbGIPyWI/ahF4=; b=iwDZqSqmnyTWf7xckTYvUPyy3WQmfySMN29lt4tudpYuhhe4OcRJpoJZLCzKU7Kn+Eond5 95P7GF2uCfZdemK0P8mAWuwlwM1/4bdtVrWrO6SQg5EnS7F3bGgT4amT15P7tGK/IuPGvT SjKZXzxU8YqdhWVvLPV1qF5ITDSRljlyzIzVgTnyx67TKfgeVGLKUOkJDINtbquyxq/X3n XI9A+XVfmxH94gZiHOaiL9i6oQGf8e9bdWsEJfLVOYlREMayNShhnyGiJ9rfmOwzginWzV DfEQnXqZdumMs74cTpePynOrYI8YKMsrKTvnzt16YD0AnBjPu4USGiZvSm7U6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744739896; a=rsa-sha256; cv=none; b=a3E3+mdpb5QCAsDZZq7+4I2X3ma12QGsxMkgMOd8PRc8XSdGftvlBdd7pyPBGnlsXr5f4a bfV6RF1D7OdL9MIs1Fe9tOLSo1LwkscNgLDuViDbkD8jz5rW4g3pqhphZ8Jd1FZIWTPbY1 XD+tcEBJ768oTu+9+HQTw9zDjUu2kkSJKB1n5rDZBxyC02qK8F9f9usqtoHStvJR15eVnh rC6Z8F7Iis4+Su+FWQGEIctZuPrYmdbvr+9dPDGVcpc8CAfjdj9iSBHVpiPu+ir5Esg3Hm YtPRv92M3ANWYSGIOi6IUsOeRkdvthD+72jEJnD0zmsEl7eP9y+gRcpTLisHcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744739896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3b7fxY4i7dN2fhrACMeEhGfiASpTXYbGIPyWI/ahF4=; b=Nfg6wtF6am7WOZpiGkw39JCUmBnd4PZ3L4BIVhHpyVg3kcfla75rG3cCkV+iTh4Nhp2yH7 JYNvG+l5WMSSMEoc9qJox8JZisg3bYSkBSb5PVKiUCib7qMRmFCXxhJgB3zqp6WsuVWYDZ fphs8u1PvEYQqZ1sih+AvOZvJro9+Px5UIKs7C4mWC7/Uqpy+3ZKSNeOV0nbk3hqhWE8xA BeRB6PsF1ClBCJkSeOMl3fOPp27Y2GkYZMXEhrqm7GATsE1srmBFVBYnzqP/0TodH6dWqb fpdltbNppVLldCeQ80UILKlwZxdxgUbSemOB9F/Bw+e0DZtHI8AwZEuxrWHM5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcX2J0vmKzkqL; Tue, 15 Apr 2025 17:58: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 53FHwGxh059404; Tue, 15 Apr 2025 17:58:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FHwGHk059401; Tue, 15 Apr 2025 17:58:16 GMT (envelope-from git) Date: Tue, 15 Apr 2025 17:58:16 GMT Message-Id: <202504151758.53FHwGHk059401@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: 8ce85300c792 - main - ln: Tweak append logic. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 8ce85300c792ecfcb9a307577e3af96ea9a4544c Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8ce85300c792ecfcb9a307577e3af96ea9a4544c commit 8ce85300c792ecfcb9a307577e3af96ea9a4544c Author: Dag-Erling Smørgrav AuthorDate: 2025-04-15 17:57:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-15 17:57:52 +0000 ln: Tweak append logic. If the target is "." or ends in "/" or "/.", we always want to append the source's basename, even in the Fflag case. MFC after: never Relnotes: yes Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D49842 --- bin/ln/ln.c | 34 +++++++++++++++++++++++++++------- bin/ln/tests/ln_test.sh | 6 +++++- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/bin/ln/ln.c b/bin/ln/ln.c index 6300658effa1..3055c7563cca 100644 --- a/bin/ln/ln.c +++ b/bin/ln/ln.c @@ -212,6 +212,13 @@ samedirent(const char *path1, const char *path2) return sb1.st_dev == sb2.st_dev && sb1.st_ino == sb2.st_ino; } +/* + * Create a link to source. If target is a directory (and some additional + * conditions apply, see comments within) the link will be created within + * target and have the basename of source. Otherwise, the link will be + * named target. If isdir is true, target has already been determined to + * be a directory; otherwise, we will check, if needed. + */ static int linkit(const char *source, const char *target, bool isdir) { @@ -221,7 +228,7 @@ linkit(const char *source, const char *target, bool isdir) struct stat sb; const char *p; int ch, first; - bool exists; + bool append, exists; if (!sflag) { /* If source doesn't exist, quit now. */ @@ -238,14 +245,27 @@ linkit(const char *source, const char *target, bool isdir) } /* - * If the target is a directory (and not a symlink if hflag), - * append the source's name, unless Fflag is set. + * Append a slash and the source's basename if: + * - the target is "." or ends in "/" or "/.", or + * - the target is a directory (and not a symlink if hflag) and + * Fflag is not set */ - if (!Fflag && (isdir || - (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || - (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode)))) { + if ((p = strrchr(target, '/')) == NULL) + p = target; + else + p++; + append = false; + if (p[0] == '\0' || (p[0] == '.' && p[1] == '\0')) { + append = true; + } else if (!Fflag) { + if (isdir || (lstat(target, &sb) == 0 && S_ISDIR(sb.st_mode)) || + (!hflag && stat(target, &sb) == 0 && S_ISDIR(sb.st_mode))) { + append = true; + } + } + if (append) { if (strlcpy(bbuf, source, sizeof(bbuf)) >= sizeof(bbuf) || - (p = basename(bbuf)) == NULL || + (p = basename(bbuf)) == NULL /* can't happen */ || snprintf(path, sizeof(path), "%s/%s", target, p) >= (ssize_t)sizeof(path)) { errno = ENAMETOOLONG; diff --git a/bin/ln/tests/ln_test.sh b/bin/ln/tests/ln_test.sh index 82bc556842d8..78b4074aea18 100644 --- a/bin/ln/tests/ln_test.sh +++ b/bin/ln/tests/ln_test.sh @@ -170,11 +170,15 @@ sfF_flag_head() } sfF_flag_body() { - atf_check mkdir A B C + atf_check mkdir A B C D D/A atf_check ln -sF A C atf_check_symlink_to A C atf_check ln -sfF B C atf_check_symlink_to B C + atf_check ln -sfF A D/ + atf_check_symlink_to A D/A + atf_check ln -sfF ../A . + atf_check_symlink_to ../A A } atf_test_case s_flag From nobody Tue Apr 15 18:16:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcXRt4X56z5tZ7c; Tue, 15 Apr 2025 18:16: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 4ZcXRt3h0rz3rjy; Tue, 15 Apr 2025 18:16:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuJhH3+dSI1BjQ5MyETMMrm+kqFymBMWzRLpbXImU88=; b=CQC76oqP2fslb+NkJqKA2fxTZ6Mw6fDR668REx+p2Z3PiJC8B+nvniQhus4qG7CcmY4szq HvGQrhlEqroNoyfFCkooL1tv3hsAj6rZ6/pP3kQ4E3bM1qx1ctX/4XqDSe+vIyQMkfnemY xgr4TJEYe4/TtxCUTUlAd36C4+4ktKxJmZ8NgoE/9FKESCJoPebv8cGaeXe6uwDUnavHLW ORKhuSAu6QhWtkeBZHHscn1KmM4bC0KfnUqxTIi/MatvWVoGAYWGeR6PPgylaBGvjZV/0N ZV7zAcqzv2YowZ+L4OubouVDG6dAAH8gNbERWSxtgTleKigIE0N0vDMHuARvPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744741018; a=rsa-sha256; cv=none; b=VU+VdEEqOyQSAEwAZob7OG/tkiJMVz/qMsHqRfOZItU4WYiPSZsjYePgfuo0ZBGn6tTwIw TNUflvSJIZQku4OuBtkiuAnJuWyGKpMUXAi8Ttn/H4H1XHOe45mGJzNuTYffJB69q3UoWe GlSN/EIxCSXWdYSMAcSwwuKIv4ezRW6qefV1XQgjwp/a5xK6vLDcM5tZOjZKjqkiJbSxr1 oMoIuxavHPAFGZ8gclQQh9BjQg1vNQzeFyj5fVFm53Z/4EAeMAYvnl0AIv5E6Q6ZqiQg1b KIPlP1fTVsL4R0l0Y0ECoFtSr4jLns4OACyNcdKps20nLYn3Bru6ArXeQf8zSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VuJhH3+dSI1BjQ5MyETMMrm+kqFymBMWzRLpbXImU88=; b=VmebiEDERtGm5LkmAYzZUAXnkxs5Zqv2p8rXVJqzEXae6D65U2p5LPqaE+W7vS2hSMz74O TIEpBMZGJo4jIWJs4wIs/cW4HUTdsBHKHcUWduK+QnkjuQ2lFbVu8n3vDg9YGGX+WQvYxg l+D6cwHVp3y3w02EDTvyfjbGI7Ls3KinsMSy4YFHfJgQEQSZ303vUb6CM4ygwobYyZ4NKb bVePISOdjmck7L30xs+4+lRLL9utAp4vH65nfS6X6TjeR9AqRq0OPbze59LIfPJqS0w7N0 uw2150j+VfM6JPg1KGrly58vLGds4vbhB8nw9bJFVUhpaTtsUriGDp8XQl22Kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcXRt3GfJzlGT; Tue, 15 Apr 2025 18:16:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53FIGwk4097849; Tue, 15 Apr 2025 18:16:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FIGwGU097846; Tue, 15 Apr 2025 18:16:58 GMT (envelope-from git) Date: Tue, 15 Apr 2025 18:16:58 GMT Message-Id: <202504151816.53FIGwGU097846@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: 3dcf2c2cafbc - main - OpenSSH: remove ability to enable DSA support (in configure) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 3dcf2c2cafbcf5d725103e6051e70c81a121eb18 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3dcf2c2cafbcf5d725103e6051e70c81a121eb18 commit 3dcf2c2cafbcf5d725103e6051e70c81a121eb18 Author: Ed Maste AuthorDate: 2025-04-09 15:17:10 +0000 Commit: Ed Maste CommitDate: 2025-04-15 18:12:55 +0000 OpenSSH: remove ability to enable DSA support (in configure) DSA is deprecated and upstream OpenSSH is in the process of removing it. From OpenSSH-portable 10.0, cherry-pick the configure change so that we can independently decide what to merge to stable branches. This change has no direct user-facing impact, as the upstream configure script is not used in the FreeBSD build process. It is worth noting as part of OpenSSH's full removal of DSA support. Reviewed by: jlduran, philip Relnotes: Yes Obtained from: OpenSSH-portable 6c9872faa1c2 Sponsored by: The FreeBSD Foundation --- crypto/openssh/configure.ac | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/crypto/openssh/configure.ac b/crypto/openssh/configure.ac index df05a54b8f63..dbe5b238fb75 100644 --- a/crypto/openssh/configure.ac +++ b/crypto/openssh/configure.ac @@ -2140,16 +2140,6 @@ AC_ARG_WITH([security-key-builtin], [ enable_sk_internal=$withval ] ) -enable_dsa= -AC_ARG_ENABLE([dsa-keys], - [ --enable-dsa-keys enable DSA key support [no]], - [ - if test "x$enableval" != "xno" ; then - enable_dsa=1 - fi - ] -) - AC_SEARCH_LIBS([dlopen], [dl]) AC_CHECK_FUNCS([dlopen]) AC_CHECK_DECL([RTLD_NOW], [], [], [#include ]) @@ -3258,26 +3248,6 @@ if test "x$openssl" = "xyes" ; then AC_MSG_RESULT([no]) ] ) - - openssl_dsa=no - if test ! -z "$enable_dsa" ; then - AC_CHECK_DECLS([OPENSSL_NO_DSA], [], [ - AC_CHECK_DECLS([OPENSSL_IS_BORINGSSL], [], - [ openssl_dsa=yes ], - [ #include ] - ) - ], - [ #include ] - ) - AC_MSG_CHECKING([whether to enable DSA key support]) - if test "x$openssl_dsa" = "xno"; then - AC_MSG_ERROR([DSA requested but not supported by OpenSSL]) - else - AC_MSG_RESULT([yes]) - AC_DEFINE([WITH_DSA], [1], - [DSA keys explicitly enabled]) - fi - fi fi # PKCS11/U2F depend on OpenSSL and dlopen(). From nobody Tue Apr 15 18:16:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcXRw08DRz5tZJg; Tue, 15 Apr 2025 18:17:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcXRv4jFNz3rbM; Tue, 15 Apr 2025 18:16:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6TsYdGEhFm5EzF1W04F9ROfyI+CieI69XfrsSoRAIc0=; b=hp+ZRV6iIZBAwu3SSC7RNtI2vaA7UbdclnoX4LFhGvOSo+xPv8BBmffaBTn0rbQerx6P+b /nY3F45s5TOLfi/xIbHLVJAgxzKy3pY7Pugze6yS68VuQMgx7KyUE3h9XSd/EPnJ6hWHZX llJd7DMR+BKvLXI27Wa6TaRdacuqmkhFySP3Dvt5+uDMr5nQwKqq38KCJmCYfEYkZxd1/X LtLZ+WQ4GIra0TdgX5UtDpbv/DeKaeQ6flPjW3or0g1xqUBFWAhrEzMB8+2tJhYO4MS0/w F9u5EFoVzCKjZ273nFWFSeF7ZrB6YoxnDYf84XRcmfOYIMEO5PAm6sQdRaLSFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744741019; a=rsa-sha256; cv=none; b=vgttmSpybRxnp5WB1R3q5unvDyq/BKF0ZcV3elrXoRM4+ys0SgoUIJ6aQmp95jaWrfVNfo TMMyAKKztywhoTM4MfVZvqwkw1SaRMyNdOYxzeE7BDzjQTSLHn3AD07mvt9XCnL2sQSwWx WHo+16890FMvg7CxucLINttPRRLk2DbivcpDqFlqYhfUIQK7ZT1RPIMDMdH2eJrMN3IgAf SMptQG2yMJJ0O16WWhdKS8wvndRtw85RlmP5gmeOqsSOp6fptoM8GIruPtmkV4MKjMnXi+ bK545bO4yeR0BPL67KxOA+1fdnOwokJQqMIuqDU4USxPPslqc8Yeg+kSFmD1IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6TsYdGEhFm5EzF1W04F9ROfyI+CieI69XfrsSoRAIc0=; b=eSGiDnBaUAEYzEa10qqFsLDjhHdzSIo2pB3RAwlKiGXq+AJynVGXyRXHQ1MIR+dtVJBRxf 95AvT/0NJb4YYuu95w+2Y8/kV1FGRsmoEXxiaDdrcvPT59WoiZ2oliXK7NtEn/aBovVgGy SMPpZUoQWOYNELIUuDJwwblve0oy1qrH5WlU9cNxppckH0YASRGk+s0Ar9z2fqBUToBOja UZzYx2anL1k1G2shw5PwRUJzpZdlwXgYXXNAIkBLsROb3JSW+sH+dfxCuMpqtnfqNMzoLd q5TX/13DQUSJi5YHVaEeYkpiaGwjxGND28cwTmYSkS0xz0UfIATp82NH7IaVGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcXRv49nnzl4W; Tue, 15 Apr 2025 18:16: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 53FIGx8K097890; Tue, 15 Apr 2025 18:16:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FIGxMH097887; Tue, 15 Apr 2025 18:16:59 GMT (envelope-from git) Date: Tue, 15 Apr 2025 18:16:59 GMT Message-Id: <202504151816.53FIGxMH097887@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: 4c76131024be - main - OpenSSH: Regen config.h for DSA retirement List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4c76131024be37d0cbc40621e526b2f6823f433c Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4c76131024be37d0cbc40621e526b2f6823f433c commit 4c76131024be37d0cbc40621e526b2f6823f433c Author: Ed Maste AuthorDate: 2025-04-09 15:21:31 +0000 Commit: Ed Maste CommitDate: 2025-04-15 18:15:33 +0000 OpenSSH: Regen config.h for DSA retirement The net result of this change is the removal of a few comments from config.h; it has no direct user-facing impact as DSA was already disabled as of commit 0b707d5fe8b6 ("ssh: Disable support for DSA keys"). Reviewed by: jlduran, philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49739 --- crypto/openssh/config.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index a8876e853b94..926475f50c99 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -396,14 +396,6 @@ don't. */ #define HAVE_DECL_OFFSETOF 1 -/* Define to 1 if you have the declaration of 'OPENSSL_IS_BORINGSSL', and to 0 - if you don't. */ -/* #undef HAVE_DECL_OPENSSL_IS_BORINGSSL */ - -/* Define to 1 if you have the declaration of 'OPENSSL_NO_DSA', and to 0 if - you don't. */ -/* #undef HAVE_DECL_OPENSSL_NO_DSA */ - /* Define to 1 if you have the declaration of 'O_NONBLOCK', and to 0 if you don't. */ #define HAVE_DECL_O_NONBLOCK 1 @@ -1991,9 +1983,6 @@ /* Define if you want to enable AIX4's authenticate function */ /* #undef WITH_AIXAUTHENTICATE */ -/* DSA keys explicitly enabled */ -/* #undef WITH_DSA */ - /* Define if you have/want arrays (cluster-wide session management, not C arrays) */ /* #undef WITH_IRIX_ARRAY */ From nobody Tue Apr 15 18:27:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcXgg2yLHz5tbBY; Tue, 15 Apr 2025 18:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcXgg2SCQz3wcn; Tue, 15 Apr 2025 18:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hag0s75H7x5qSy2FRV41xCTo5NgD4EBsmq9mWFyqWUQ=; b=IHAh14t+KTzvApGSIgL3tdnIpHfrkiWnUEUwbQwz894Cv4vdZak3olccQ++qQ7unTxsqzt Z/YtPZXEdhxLa8pnpiaB5xJhGhUa2H+V0P9K9kRhfUT0btJjroTtJKcF8oaT7hf4RVrZWX BbZdG2ZbS3U97ISygS65ZAOgwU3Z5oghVa87LevnppJ1cLtFVdrqg3GrZBi+lHCjUfIjD7 Emi8w/3cJdU3bZzC8Zz7LKVZUFTT6RTplHF7VOQtW2l5TSaIjlRCNdQhycny5byqfCqfcV GvDaT0KByEZ7jQ8PXOPw2E4z5B5c1S2q69Oscv9a8BkwBkh+chvge0C1BqNHdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744741631; a=rsa-sha256; cv=none; b=aur/UzkT9wwd3vJQbw0x6GDKRHYwnyhm/aCsP/1cC9cWu7RZ/dDk7V7ZiDLZ+gpXNPqrGj wTQ05KT/y+Xd3g1NkiyV7GTPqfnvkvAJ30lLt8BPOD8Uv1oAOgko+UYapdIvw3i7BuIGzf IKPVEmvGo1ZR4J9Dv9BMET9yCiLwqhHCr7OUVspc3oFWPq+PIb6Fx6YWLfKPJhVdXOMO1A B4QrkY67FJhGzN+dP8Q6QGQwET+kCkamYH2BeHAKL70SyC3ujVwAnVz1/TgbuJZpxz5Lbs VtciLViRnSn8sriAIv1E8lDwpcaBmBnjefkV1nhOUYQgv1iDNfRuepIbrhCN0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744741631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hag0s75H7x5qSy2FRV41xCTo5NgD4EBsmq9mWFyqWUQ=; b=tIKSN5NaAoQ5KQga5L6uf71Dw775LkpyMO/o74qeoYx8a8jQSC5KeL3+X+QbB5LCBfjsGo AnDidXl03DDFa4lHjbM7+tEBCbEYQMCJk4Zhul2xPJxz3Td6irw29RxW8/7Eg8c4aiDulr lSqAj2DWxiItsANTGmqGkyzYY03k5FO9ZmaAa3+zcTuXcWvLGL+RnqH32UmoaCcHtExcPS xt7X/DrozjflO+P8jIXWJmTB/yexIKLjFaUr0hTj4L0LJeA3Wuy2j+Z32m02R4UVitPweD C03W5Hm2SwxhZbB2risqs8x8Ga3Y3vBTCC154N+m8gJhf3uPChTiMmMtkMT0Qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcXgg1lY1zl3l; Tue, 15 Apr 2025 18:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53FIRB4i016277; Tue, 15 Apr 2025 18:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FIRBS0016274; Tue, 15 Apr 2025 18:27:11 GMT (envelope-from git) Date: Tue, 15 Apr 2025 18:27:11 GMT Message-Id: <202504151827.53FIRBS0016274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1bb8b1d7e190 - main - libdtrace: Fix formatting of messages about drops List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1bb8b1d7e190d75597d31ab87364a058e8ef8c5b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1bb8b1d7e190d75597d31ab87364a058e8ef8c5b commit 1bb8b1d7e190d75597d31ab87364a058e8ef8c5b Author: Mark Johnston AuthorDate: 2025-04-15 14:03:47 +0000 Commit: Mark Johnston CommitDate: 2025-04-15 18:26:59 +0000 libdtrace: Fix formatting of messages about drops dt_oformat_drop() should only be called when in structured output mode. Reviewed by: Domagoj Stolfa Fixes: 93f27766a7e1 ("dtrace: Add the 'oformat' libdtrace option") --- .../opensolaris/lib/libdtrace/common/dt_aggregate.c | 16 ++++++++++------ .../opensolaris/lib/libdtrace/common/dt_consume.c | 19 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c index 1c3131e74cb0..e5d10ad5ac0a 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c @@ -472,14 +472,18 @@ dt_aggregate_snap_cpu(dtrace_hdl_t *dtp, processorid_t cpu) } if (buf->dtbd_drops != 0) { - xo_open_instance("probes"); - dt_oformat_drop(dtp, cpu); - if (dt_handle_cpudrop(dtp, cpu, - DTRACEDROP_AGGREGATION, buf->dtbd_drops) == -1) { + int error; + + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, cpu); + } + error = dt_handle_cpudrop(dtp, cpu, DTRACEDROP_AGGREGATION, + buf->dtbd_drops); + if (dtp->dt_oformat) xo_close_instance("probes"); + if (error != 0) return (-1); - } - xo_close_instance("probes"); } if (buf->dtbd_size == 0) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c index a760642c33bb..385c9d78bdfc 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c @@ -3678,10 +3678,13 @@ nextepid: */ buf->dtbd_drops = 0; - xo_open_instance("probes"); - dt_oformat_drop(dtp, cpu); + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, cpu); + } rval = dt_handle_cpudrop(dtp, cpu, DTRACEDROP_PRINCIPAL, drops); - xo_close_instance("probes"); + if (dtp->dt_oformat) + xo_close_instance("probes"); return (rval); } @@ -4187,11 +4190,15 @@ dtrace_consume(dtrace_hdl_t *dtp, FILE *fp, for (i = 0; i < max_ncpus; i++) { if (drops[i] != 0) { int error; - xo_open_instance("probes"); - dt_oformat_drop(dtp, i); + + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, i); + } error = dt_handle_cpudrop(dtp, i, DTRACEDROP_PRINCIPAL, drops[i]); - xo_close_instance("probes"); + if (dtp->dt_oformat) + xo_close_instance("probes"); if (error != 0) return (error); } From nobody Tue Apr 15 19:44:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcZNw4T0Jz5th06; Tue, 15 Apr 2025 19:44:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcZNw2Gcyz3bWs; Tue, 15 Apr 2025 19:44:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744746272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ur+jTN3U2sk/xTEpK8wRSk2D3s+sZRpuNWSl5A+Myvg=; b=A/15TyZZkJQsBe5aboSBEMLtUXhDFARWzP2vkltBK3lOfAS/py0eh5HYB9QZ6PB3Blg4sI veQg5T1qKErSRzv5xnX3o4vD2rVHlVILTP/aaovkWv1L84DGgWExbVpEM8oKp+JfF9NnJh rdZB5Tfh3optwaodXTJHyOIyGNX7ifOcvxEHlkfoarrbVVnEiJUiFJqySRboTTqTijvtvV MgZWqgxmlnR4bmCDs9rwjU+WkiWCFN4YtWoCTkUc/M9XI+i4hTsUwgpXChd93p7RO30Y64 Ru6dKrn+OEPZWkqrfYdzDSAVbYGGL58Y5XBdyRyfKMql865yXqqL4DSbZdQnog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744746272; a=rsa-sha256; cv=none; b=gjzzuOL65IxEcUXCiqZgC/pkTUnh3wwFKDXemVlqNgS++E/GwGK4v91oOZIBCA8Zn4pCja C12ysAqYfHNTxXMn5z9u0ibEL2YFhWvqJ43N7CxYSLdAtzi91ZUnIxCjc8FxLaHaGzfCDv n6RuNvY1TWZiZSax3mXjhJU7bNyRhDuld8PA7jzdJCccNMjNtpnZMA3rZldxNAHIN+C8Bt YltWrk0OOpN69HeNe/YuDrSNXEhAyuSQsZvTEwYShkjPtyBQoBS6b4g2XwgjDMCqq/z+RH CmedoqQMgUkQfLox4kBn6eEh7KDubCCLCaYwApH7V3o2PTSsUV2JcsKMoO9HYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744746272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ur+jTN3U2sk/xTEpK8wRSk2D3s+sZRpuNWSl5A+Myvg=; b=UBLJnBrpfmotryh1e8wyvGXywNFjnJgYEAUN7emLFQbpUcEBbX2+CAA8kFQC2AIoIsYHnX jUtCp8gBvPrjDSnJqTqcO69vGyv8EoqWNDXyDB0yA9DpChfzj+4NKgvK5xiY9TizNvbmz0 u5EWo5x5+A17Q/k0xb9z+ke5BMkqja2/xpsVthEPpYMZG/daJWwUSJWjVjVoSblgq+Q1Pm xKasjBB92yceGmWqU/WDrijxR4JJm2h5l6KwqkvXSkFH1gCDLDiJHStju0tzysOxnUERYu Lwxq4+4ukR4te/cBQlU8OhI+ljN+ld60xKnLkil0YCDYneWL8AawYCPDi3VSgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcZNw1s5SznbP; Tue, 15 Apr 2025 19:44:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53FJiWf1063924; Tue, 15 Apr 2025 19:44:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FJiWNG063921; Tue, 15 Apr 2025 19:44:32 GMT (envelope-from git) Date: Tue, 15 Apr 2025 19:44:32 GMT Message-Id: <202504151944.53FJiWNG063921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: fca3395674d4 - stable/14 - cred: fix struct credbatch to use long for refcount List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: fca3395674d41fded108e493c6b5695bb6dcd077 Auto-Submitted: auto-generated The branch stable/14 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fca3395674d41fded108e493c6b5695bb6dcd077 commit fca3395674d41fded108e493c6b5695bb6dcd077 Author: Gleb Smirnoff AuthorDate: 2025-03-29 22:09:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-04-15 19:40:02 +0000 cred: fix struct credbatch to use long for refcount This structure collects count from multiple cred structures. Of course it can't use a smaller type. PR: 283747 Reviewed by: olce, mjg, markj Differential Revision: https://reviews.freebsd.org/D49562 Fixes: 37337709d3334f32650ba3a7c529fa013ed5e1f2 (cherry picked from commit cd46e980134f6fc765b28ee9c8bf41e8fc1b0261) --- sys/kern/kern_prot.c | 2 +- sys/sys/ucred.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 31652a338e8e..d0f4c8cd6992 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2365,7 +2365,7 @@ crunuse(struct thread *td) } static void -crunusebatch(struct ucred *cr, int users, int ref) +crunusebatch(struct ucred *cr, u_int users, long ref) { KASSERT(users > 0, ("%s: passed users %d not > 0 ; cred %p", diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index be7d5bab1d19..f43e3bb12414 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -195,8 +195,8 @@ struct proc; struct credbatch { struct ucred *cred; - int users; - int ref; + u_int users; + long ref; }; static inline void From nobody Tue Apr 15 21:43:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zcd2F30ppz5tr1f; Tue, 15 Apr 2025 21:43:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zcd2F2M4Gz3DcT; Tue, 15 Apr 2025 21:43:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744753413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMGVDJNyfEvPJSxCsMEBSlHU1jmO+906zFTTq8ZSPmI=; b=mikEkQjExshB5iMdRkmBpGrV9vmn4I/hmWuVFDf8Jg2iTlUksfUeUoCej/uhAchjFHTho0 uty2IuoaJ9pV9szzGt8cX4IrPMIZJuT/N7C7iBhZdZ9dAAoO0os67sBQprcShQWx11tUl0 TETDmfBBc0vaV1UksxfsCG1pRzRMaOAxdRNrlkSDgA6bKaDnvFCPUIEPxP1xtOE+0ItW8B xAy3hjgRUhGzFFMQUWCYrnWHIUjg4iySMjIx2Hy/qjiskTXC1Iv58uLuQWIVsKr7SDNFGl YhhrUawm7gMJOTXqZkWqCqGaxOTIHo1lY+N70tY/K5xRBdp35HcOOONGwDi/3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744753413; a=rsa-sha256; cv=none; b=LjzMWrg5Sg5HouvvI5tL0NNQ7Ex3H6/AzOdUXO6vmtuzzPbl3gBu42ycKd8aBqJ2gONwNU u0bW6MdpMxpLIR5QxCjSF+ZuvtjPsKV+PzIfRhbk7LU2GaJ1PpgQj7OkSfULIIGJ6eLc5x LVufc5qbIo9wxcsxMIWiFqnYWYtlKsWOB7IOH/kvCpMcV8Mlya9QjQxCS+Y+328F7x4npa csC/ZTqRGfWFcGcVPhe9hhdd8v5nGyj718bw0py1ywaDlC82op8WoRCtiyyksJ2pJJAmBn PKF7M9lQxtq7pw1dQ2ZhqPHtuSuVWWbLcyRMX6kYfbLq4aSdythSSltSctB6ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744753413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMGVDJNyfEvPJSxCsMEBSlHU1jmO+906zFTTq8ZSPmI=; b=ZV1AjLXWR3J4mAHF19mJ/KNJePbxTvjNzPrfomYjpxD/zX+UVNccq51dpkHs41M8A6M/hp loCEQ9zWgRBBcazrw2pHfi3Nds0ckVZcyYCf2VX/tky02dbwoFekuJ6RqDA3GM0C4+Zm69 LUtcMtnk/q8QhlYlPl0yZBd24HUDx2yZnJSOqUd7nsb9jvrtiebqQD5sZW6/E8+LO3ABL9 VU8FoTgxxsEUaVwbeZgM5zUHZAKRUWNr5pIdu9VN5+BeMu3U5TMneaTNprGnSKFrSSBule meM0AcManZf32rj1gTWTy1OHOerqB8qC3Q9R0mh8nCcIJ3CWfwYB3OvTdtxtVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zcd2F1gxSzrd2; Tue, 15 Apr 2025 21:43: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 53FLhXnB088175; Tue, 15 Apr 2025 21:43:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FLhXbr088172; Tue, 15 Apr 2025 21:43:33 GMT (envelope-from git) Date: Tue, 15 Apr 2025 21:43:33 GMT Message-Id: <202504152143.53FLhXbr088172@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: 96f830456fd4 - main - sys/net: add a new ether_vlanid_t type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 96f830456fd449c4cb5a7df8a2f6c3c96993b43e Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=96f830456fd449c4cb5a7df8a2f6c3c96993b43e commit 96f830456fd449c4cb5a7df8a2f6c3c96993b43e Author: Lexi Winter AuthorDate: 2025-04-15 16:13:23 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 21:42:59 +0000 sys/net: add a new ether_vlanid_t type ether_vlanid_t is a type to represent a VLAN ID, for example inside a .1q tag. since this is specific to Ethernet, put it in net/ethernet.h. change bridge to use the new type instead of uint{16,32}_t. Reviewed by: adrian, kp Differential Revision: https://reviews.freebsd.org/D49836 --- sys/net/ethernet.h | 5 +++++ sys/net/if_bridge.c | 28 ++++++++++++++++------------ sys/net/if_bridgevar.h | 2 +- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index cf92145eea8f..6eefedba8775 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -80,6 +80,11 @@ struct ether_addr { (((addr)[0] | (addr)[1] | (addr)[2] | \ (addr)[3] | (addr)[4] | (addr)[5]) == 0x00) +/* + * This is the type of the VLAN ID inside the tag, not the tag itself. + */ +typedef uint16_t ether_vlanid_t; + /* * 802.1q Virtual LAN header. */ diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 0dd261e6529b..c587f0d0f70a 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -266,7 +266,7 @@ struct bridge_rtnode { unsigned long brt_expire; /* expiration time */ uint8_t brt_flags; /* address flags */ uint8_t brt_addr[ETHER_ADDR_LEN]; - uint16_t brt_vlan; /* vlan id */ + ether_vlanid_t brt_vlan; /* vlan id */ struct vnet *brt_vnet; struct epoch_context brt_epoch_ctx; }; @@ -344,21 +344,21 @@ static void bridge_broadcast(struct bridge_softc *, struct ifnet *, static void bridge_span(struct bridge_softc *, struct mbuf *); static int bridge_rtupdate(struct bridge_softc *, const uint8_t *, - uint16_t, struct bridge_iflist *, int, uint8_t); + ether_vlanid_t, struct bridge_iflist *, int, uint8_t); static struct ifnet *bridge_rtlookup(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rttrim(struct bridge_softc *); static void bridge_rtage(struct bridge_softc *); static void bridge_rtflush(struct bridge_softc *, int); static int bridge_rtdaddr(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rtable_init(struct bridge_softc *); static void bridge_rtable_fini(struct bridge_softc *); static int bridge_rtnode_addr_cmp(const uint8_t *, const uint8_t *); static struct bridge_rtnode *bridge_rtnode_lookup(struct bridge_softc *, - const uint8_t *, uint16_t); + const uint8_t *, ether_vlanid_t); static int bridge_rtnode_insert(struct bridge_softc *, struct bridge_rtnode *); static void bridge_rtnode_destroy(struct bridge_softc *, @@ -2220,7 +2220,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, struct bridge_iflist *sbif; struct ifnet *bifp, *dst_if; struct bridge_softc *sc; - uint16_t vlan; + ether_vlanid_t vlan; NET_EPOCH_ASSERT(); @@ -2552,7 +2552,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) struct ifnet *bifp; struct ether_header *eh; struct mbuf *mc, *mc2; - uint16_t vlan; + ether_vlanid_t vlan; int error; NET_EPOCH_ASSERT(); @@ -2916,8 +2916,9 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) * Add a bridge routing entry. */ static int -bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, - struct bridge_iflist *bif, int setflags, uint8_t flags) +bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, + ether_vlanid_t vlan, struct bridge_iflist *bif, + int setflags, uint8_t flags) { struct bridge_rtnode *brt; struct bridge_iflist *obif; @@ -3024,7 +3025,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, * Lookup the destination interface for an address. */ static struct ifnet * -bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; @@ -3135,7 +3137,8 @@ bridge_rtflush(struct bridge_softc *sc, int full) * Remove an address from the table. */ static int -bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; int found = 0; @@ -3264,7 +3267,8 @@ bridge_rtnode_addr_cmp(const uint8_t *a, const uint8_t *b) * vlan id or if zero then just return the first match. */ static struct bridge_rtnode * -bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; uint32_t hash; diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 048d9fb1a18f..a77ac21c5d1d 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -188,7 +188,7 @@ struct ifbareq { unsigned long ifba_expire; /* address expire time */ uint8_t ifba_flags; /* address flags */ uint8_t ifba_dst[ETHER_ADDR_LEN];/* destination address */ - uint16_t ifba_vlan; /* vlan id */ + ether_vlanid_t ifba_vlan; /* vlan id */ }; #define IFBAF_TYPEMASK 0x03 /* address type mask */ From nobody Tue Apr 15 21:43:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zcd2G5t5wz5sMrc; Tue, 15 Apr 2025 21:43: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 4Zcd2G369Wz3DtR; Tue, 15 Apr 2025 21:43:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744753414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bewd4Dro8dJibosYRifjhiabQdldsR2PrsLvmxHopYY=; b=H0+JSz2jW3iKRotlXn3vE4fbB+TMpOs07kwiSFk9au0KuHxwXgK30FIgVnlbYyDsb4Nqbz DJhInh3GTc/0luTfEN0oqe7ApLdxH/eH7/csgUtRbEQK1FgoA80AD4bWeNS3u12KwqWRvO ADjSq9lYq1P46lmk0q2K4gakcByGF4a3gc+K3jVHbeaSwrb6B2oOg+srhA4E0WtKn20Hnu bVzfttmtJRHHvH+R4iDDxI8dREWUVDQrLbX7ThjgSoqrzgpg1wkkuZwYDzSZ6WVPlu0guS +3dVefIS5xga1SM4zzQ+VfZaonX+Z9AWUUvVXwr8ECJVHagBIrIoXVy/ydKTQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744753414; a=rsa-sha256; cv=none; b=lsbpLUuYXvTlXlhBBODg4JZj6OEoOeb6CW2atI9reKFxTQCJUOWR0P4lJ/HSp0uaDxGkCo KS+EdlxT5wBj7EMpYHWPlXQZZ5zxxpMUl1QBeaqDCUVPXXy69XuxwL37xPVXMXn7MBnHKT MfpaHP+ObwTBN0W47g3Rvzhl4a470tw/sK2nDdFwHoSQZgY4TxtM1SGLNGufhLxD6xcy+a 5a2E3ZVtezi7yg/IKLvNLbm56W5ilcJFwmiIuijHOuETrKN80QtCYnrFCtJXy2LFgl9naD YRwJ+H94ydUyge8H5DbeQwP28wXvJbCODsb++SXd8gikr2jBxe2JvuNXXMMh1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744753414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bewd4Dro8dJibosYRifjhiabQdldsR2PrsLvmxHopYY=; b=oO7qHWK492/+uS3qutKTUwpi3rSWQE1J6YsiyfiVNYkxxwbuUpuMAqodO5WIMMCmbVut1t brfs7KlFut+oGKJtnopQB80opTU4MNnoXPrjKYXA/pGjJ2b0vdbzL6aComYNGt33NPIHjc yHL2NZhPrI/jgrj++g5Plv6J5Kv1EPubrK2ImNPVplRybWbZyhUg3nckKDqgHHOramPeOi 9Eti6ySxycy8+Gy1Db0IeRvHzYPcbEYtn2stJiBt94OpTyCnK2OWSD4PUDItUU4O0kG3xK 9I2fnvpfVcGlRtjyzZBFoOTvIhs3A9ZnBS+OwlnazVDvydiX3cAKaVavG+/yUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zcd2G2bDyzrd3; Tue, 15 Apr 2025 21:43: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 53FLhYS1088209; Tue, 15 Apr 2025 21:43:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FLhYea088206; Tue, 15 Apr 2025 21:43:34 GMT (envelope-from git) Date: Tue, 15 Apr 2025 21:43:34 GMT Message-Id: <202504152143.53FLhYea088206@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: c59492025073 - main - sys/net: add DOT1Q_VID_{MIN,MAX} List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c59492025073bd57c7dc3bb5bd843ab0a1391c7a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c59492025073bd57c7dc3bb5bd843ab0a1391c7a commit c59492025073bd57c7dc3bb5bd843ab0a1391c7a Author: Lexi Winter AuthorDate: 2025-04-15 16:13:33 +0000 Commit: Kristof Provost CommitDate: 2025-04-15 21:42:59 +0000 sys/net: add DOT1Q_VID_{MIN,MAX} add a new typedef in if_vlan_var.h to represent the lowest (1) and highest (4095) valid VLAN IDs in a .1q tag. change if_vlan to use DOT1Q_VID_MAX instead of a magic number. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D49837 --- sys/net/if_vlan.c | 2 +- sys/net/if_vlan_var.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 774298d4a53a..a37a9d41fc53 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1273,7 +1273,7 @@ vlan_clone_create_nl(struct if_clone *ifc, char *name, size_t len, error = nl_parse_nested(lattrs->ifla_idata, &vlan_parser, npt, &attrs); if (error != 0) return (error); - if (attrs.vlan_id > 4095) { + if (attrs.vlan_id > DOT1Q_VID_MAX) { nlmsg_report_err_msg(npt, "Invalid VID: %d", attrs.vlan_id); return (EINVAL); } diff --git a/sys/net/if_vlan_var.h b/sys/net/if_vlan_var.h index b86ff2efac60..e7171974289b 100644 --- a/sys/net/if_vlan_var.h +++ b/sys/net/if_vlan_var.h @@ -130,6 +130,8 @@ struct vlanreq { #define DOT1Q_VID_DEF_PVID 0x1 #define DOT1Q_VID_DEF_SR_PVID 0x2 #define DOT1Q_VID_RSVD_IMPL 0xfff +#define DOT1Q_VID_MIN 1 /* minimum valid vlan id */ +#define DOT1Q_VID_MAX 4095 /* maximum valid vlan id */ /* * 802.1q full tag. Proto and vid are stored in host byte order. From nobody Tue Apr 15 22:02:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcdSF4mxBz5sPYB; Tue, 15 Apr 2025 22:02: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 4ZcdSF1Ms4z3M6g; Tue, 15 Apr 2025 22:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744754557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VS6lg31/rluxNEM0yRPUghApZU3I3m//+teJNktS7Fs=; b=lmYgleoqAX15vT95TZ3tnKLvYg6QmcKDlQlVIC7J4o2A2zvFNjSy3ulilVWMXO54Je76Ux k5NmorwfHwzIatqYBH0ls76rssbCCekQD1LTnmL1+qFHh31F44jIqezk26wO4rkyseObqa QoFu7rYhV02N9d0ISbKYEexLP1R3pFI8jCqUi9LwqRTnWCI92widDHnSamadRZvryf1cL8 xrpiO0ZYilkHz2AvBmIkva7RxIeZG+4OHVpPKFUgbXy99NRqXHc/KuqI70tdTVYcmmBt0a PCtKVkBGtmpSArSFNj7WyeIJ2xqWtf8Di1hkHWlYdr60qFPrQ5XSrSD1219oAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744754557; a=rsa-sha256; cv=none; b=UYyYijuG5Mar/sqSTltWirNL8K4iXMlnWFulosMYtM5g/AwRTzIFpHdBRhIk1NqlbGqc2v OwfwIl+1fxKG3u66hlK59fSBfH3I0lLK5H8RW2T215xfhbQ7K8W6hF3EB7eIYuzbk+bqEJ DPAGQI+z0zlH7G1K/0VochX4QpftpSegLQGZ8FszbHaNubwYDNCcqEzi71GBCOjG4EVR2y qsesml7v6ipUPz4lZAyKmRxyEGnFiWAn0RSoGP8sY/T80QANz82H9YErB1ncfIw8tiQUdF 5aTKycNbx2JTRqxaHpRM6J/Vc9Hdhp4rDsGGYPjfcyh0Igbk32MFUpk3moF65Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744754557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VS6lg31/rluxNEM0yRPUghApZU3I3m//+teJNktS7Fs=; b=U5QfTWI9FD0GbDSijrHGWZfkLlgkO77GCA0jhWh15IQ1WO9H3c7mHcOcfBClv1av/H/OVI ysgo5Z+XFFhQNKPPCQ0bjNyRGLMlxth6bcfSXufrVnhwqWeDaUIkm2HruVWIc3p0AJSxVY A4gSksjTnL+mizCRlsZwpn7XcrDtm0b8Iij1WSWCC7SDXZ5/kXyRRDrTVnPjoaphuaa8in GBR4dzxE9kd/LrQ5Zl9yMhxZTT+t3UkqpXqOuiV/z5Zc1+/ud8WYsYTz0rHw0HhEN8HzZp oCycI6hp94MMBowowL4TReyGBulWK1QT0K5/cRfw8PMII2asB5kMOT4yX0okWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcdSF05GFzsGF; Tue, 15 Apr 2025 22:02: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 53FM2aW3026531; Tue, 15 Apr 2025 22:02:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FM2a31026528; Tue, 15 Apr 2025 22:02:36 GMT (envelope-from git) Date: Tue, 15 Apr 2025 22:02:36 GMT Message-Id: <202504152202.53FM2a31026528@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: 3a79ca65531a - main - release: avoid sparse-file handling for container image layers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 3a79ca65531adf9fc8799b39407fe4d1b51906f6 Auto-Submitted: auto-generated The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=3a79ca65531adf9fc8799b39407fe4d1b51906f6 commit 3a79ca65531adf9fc8799b39407fe4d1b51906f6 Author: Doug Rabson AuthorDate: 2025-04-15 22:00:50 +0000 Commit: Dave Cottlehuber CommitDate: 2025-04-15 22:01:45 +0000 release: avoid sparse-file handling for container image layers This improves compatiblity with Podman. See https://github.com/containers/podman/issues/25270 for details. Differential Revision: https://reviews.freebsd.org/D49821 --- release/scripts/make-oci-image.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh index 0fd64602b403..cc599c76bd51 100644 --- a/release/scripts/make-oci-image.sh +++ b/release/scripts/make-oci-image.sh @@ -95,8 +95,13 @@ commit_container() { local image=$1; shift local output=$1; shift - # Note: the diff_id (needed for image config) is the hash of the uncompressed tar - tar -C ${workdir}/rootfs --strip-components 1 -cf ${workdir}/rootfs.tar . + # Note: the diff_id (needed for image config) is the hash of the + # uncompressed tar. + # + # For compatibility with Podman, we must disable sparse-file + # handling. See https://github.com/containers/podman/issues/25270 for + # more details. + tar -C ${workdir}/rootfs --strip-components 1 --no-read-sparse -cf ${workdir}/rootfs.tar . local diff_id=$(sha256 -q < ${workdir}/rootfs.tar) gzip -f ${workdir}/rootfs.tar local create_time=$(date -u +%Y-%m-%dT%TZ) From nobody Tue Apr 15 22:10:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcddQ0dRBz5sPmS; Tue, 15 Apr 2025 22:10: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 4ZcddQ0BfSz3Q4V; Tue, 15 Apr 2025 22:10:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744755034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w9z1nj4hhXZZRsvLZ+y61gvANFV1YOzmWggYzMxHHXc=; b=qa8WN1T+gfwqM9sXS6jbeFLj/MB8Tx6GL7X6q4IbRln6eIb74w8ZTOT3c/Gj+Xmh72LpA8 eQrXFMxMShz9hZkhQpSmvhy9PZkTcvei7LS/yA4yIv/PJo9tmMVvvniRpcwkrhkP6hnTGM kLRsbfM0zeSVnSe0VZFEzLsVd7rHCkhaokxXYHblUE7eYbmwjwma8tKE5hyvjHHOiAjaZd fqZaMi8pN6a5UEAh6FUORDctT6TbHXgxV7hhN1vimAKqBu86iMOLOUYFe0PuQvqZHTR5yk VzCw15aKzpRPuNFL28Kcii3yQwDp0SIpvzD51t3/iuOBLPA6PqKRcAWbXDJjOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744755034; a=rsa-sha256; cv=none; b=wrO7o41HAFebLry6c3Ako610Lb7y9epvdIKlVy38Wd1D7rsp8meAta2pTQK+irIn0cdhtl /A7M161wCHcu2WJLT0up7/afA0PZ0PSntQRicm9wJ4S9Wf9JDcGvBPmIMcT3ITJsXA2JGV Ui7QOo5FDkDsFAQtpTp8kUpvcm9ij5NFsFq67g0xYoTLlZIxkwIQz/IN42Q9HyG36gERr/ zDsm0b/jTcdHhQq07D9W5rxw4YbhblUX3SJseNxMh6zML8cJeHbChdkZV1GivKzA+ozubd aasvcdjcNsv6gTQSp6hJmsDL7pDQpBaxm8LuwJwZOIbsoPoN5glRE6lLaCEAwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744755034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w9z1nj4hhXZZRsvLZ+y61gvANFV1YOzmWggYzMxHHXc=; b=qEt14Wy+6qcK4sLaK+DvMwMWTGnQ/QL1iMw/62u7vuWDmRDwAjtiF5AY2c/kHGeE229RH6 bK0+TFErdKFPmfnYjDnCxNevXNZowGOnBBny9cmETw0lPYspxf4pY/poIglWUzoPPz+9WT fgzy4FDQAIHOWFeHlydXskYU7+45lyp3fpc366i9NtSpHkT5oKTWIg8xcDVEeMCmALxSpT Ix5z1mS14oU460rF3+ihh4kJ3/f/5YHGTMjyEAffpVn2rpdiqw0gHAcAXSLWyQy1Wgye/i H7hMKw7kEui22OL8tKDU/rHlKVBodHIoA7mf3EbWSCpV3YMW+WuNXihMAL3RPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcddP6cKxzrfS; Tue, 15 Apr 2025 22:10: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 53FMAXL4037791; Tue, 15 Apr 2025 22:10:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53FMAXfY037788; Tue, 15 Apr 2025 22:10:33 GMT (envelope-from git) Date: Tue, 15 Apr 2025 22:10:33 GMT Message-Id: <202504152210.53FMAXfY037788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 4317d0aa8c21 - stable/14 - release: avoid sparse-file handling for container image layers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4317d0aa8c21f19764dabcd0bea3d1d92fea19c3 Auto-Submitted: auto-generated The branch stable/14 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=4317d0aa8c21f19764dabcd0bea3d1d92fea19c3 commit 4317d0aa8c21f19764dabcd0bea3d1d92fea19c3 Author: Doug Rabson AuthorDate: 2025-04-15 22:00:50 +0000 Commit: Dave Cottlehuber CommitDate: 2025-04-15 22:09:29 +0000 release: avoid sparse-file handling for container image layers This improves compatiblity with Podman. See https://github.com/containers/podman/issues/25270 for details. Differential Revision: https://reviews.freebsd.org/D49821 (cherry picked from commit 3a79ca65531adf9fc8799b39407fe4d1b51906f6) --- release/scripts/make-oci-image.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh index 0fd64602b403..cc599c76bd51 100644 --- a/release/scripts/make-oci-image.sh +++ b/release/scripts/make-oci-image.sh @@ -95,8 +95,13 @@ commit_container() { local image=$1; shift local output=$1; shift - # Note: the diff_id (needed for image config) is the hash of the uncompressed tar - tar -C ${workdir}/rootfs --strip-components 1 -cf ${workdir}/rootfs.tar . + # Note: the diff_id (needed for image config) is the hash of the + # uncompressed tar. + # + # For compatibility with Podman, we must disable sparse-file + # handling. See https://github.com/containers/podman/issues/25270 for + # more details. + tar -C ${workdir}/rootfs --strip-components 1 --no-read-sparse -cf ${workdir}/rootfs.tar . local diff_id=$(sha256 -q < ${workdir}/rootfs.tar) gzip -f ${workdir}/rootfs.tar local create_time=$(date -u +%Y-%m-%dT%TZ) From nobody Tue Apr 15 23:15:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zcg403Tksz5sWnr; Tue, 15 Apr 2025 23:15: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 4Zcg400yG4z3tbf; Tue, 15 Apr 2025 23: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=1744758912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZir93X8LwBN3zL7JScNSI+y1EbjTKtk7H6a7RoUx7Q=; b=ScJ/NxiGMHhw838pMOYEKLy8vHoJHECE84ne2Z7je7K1zjnv3VOSV1ZxnAk5wDq+3R+tQF g42cUxC8xi31693eU6qUiXrqEVtzI3arW6XAiMt9eQQ4fsy8PTW6syYV5wRnNdHWnsX0jx /ZoPQqGuRdb0yTQzrpdjTVZZEBjTAOMq8Zj1Jk8/J7kOgWNS/7Ku6lqVVTUOpxYuNJ4Et8 YSAZURMbE2cdoNOfIXlZmpw44HBkLcrEVSCScnCKvDF7n+9jFa69QsssAbnQ/FZ4eMm5FR XVXX89pHqlx9KW4hlfUbh0+PWZ4W7SuD+lIRyQ6uw0m99YdHRJDYjlt1p9lvNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744758912; a=rsa-sha256; cv=none; b=uexvkzAwuh86yz/VMdthSpQgtt5LlIPtDj+kAwfGs0OzSP7jdnEFpwsbILKNB5NoLCf2XT AJDMR7yaiUr/62Yqh3RM0BmL27JQAW7eNbVSa41sgbPdMVdHmhSrSHXDtoePtUx/iAy9L8 9A3KrykLNg8wyT3AKLPl80brziuCwpzLkthiiPta74FvPJI8AZWKkbKVTy0Lj7FisgRbMN IGGmdGtfBLLKYH47bkaA9/kfN7extXzIBnI+dsw27oT/ZFJ+SlJ3MEKPFR8gLBAHWWgQu3 nalpZQzGuArQz6KjQ5fVu7//AB8UOBvG03+CSdnE4ErcZuLsi8CP9K1hPtNfVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744758912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZir93X8LwBN3zL7JScNSI+y1EbjTKtk7H6a7RoUx7Q=; b=JVvMaArfaQdV+ohMFhlpmAUW760zDDMebpMDy6axShHRP3g6paZuNXBFt1v4P7etNd6m/q V+WDK37VIGTSzOCrumaL6QFXwtNVYwW3BUISBd1zGkg8LXc5vOxoYq+aJA+/X+WJG3IIjU YMvJHzRsGoiyy8AKhhmTrA9WdgmRnU91nYsG0KrBBnBtU0wtol+sq8X3h9HmQMr30YkBsz qxO2+G6M2b8GEq6QL43N/QnJB/wpKdF2/nkKVXN2BdGBCrRE89aBIXHF0lQf89WsCr9h73 kjMJG5tiUTVnVM9IXYH5QYW5rvuBWdwJ2+yK0kG8wUmv4S8ylO3PcSJjZkR5Fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zcg400WH5zv2Y; Tue, 15 Apr 2025 23: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 53FNFCec058794; Tue, 15 Apr 2025 23: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 53FNFCp4058791; Tue, 15 Apr 2025 23:15:12 GMT (envelope-from git) Date: Tue, 15 Apr 2025 23:15:12 GMT Message-Id: <202504152315.53FNFCp4058791@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: b7f71ffe0fe6 - main - full-test.sh: Add lib/libtinfow.so.9 to image List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b7f71ffe0fe615e75d88472a7e1a4de0b4710a05 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b7f71ffe0fe615e75d88472a7e1a4de0b4710a05 commit b7f71ffe0fe615e75d88472a7e1a4de0b4710a05 Author: Warner Losh AuthorDate: 2025-04-15 23:12:23 +0000 Commit: Warner Losh CommitDate: 2025-04-15 23:14:47 +0000 full-test.sh: Add lib/libtinfow.so.9 to image libedit.so.8 needs libtinfow.so.9 too, starting in stable/14. so add it here. With this I have an image that boots the minimal 'echo success' test for LinuxBoot on amd64... Though changes for that aren't upstreamed just yet. They need to be cleaned up a little before I do that. Stay tuned. Sponsored by: Netflix --- tools/boot/full-test.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/boot/full-test.sh b/tools/boot/full-test.sh index c8669cf3f6ec..0a1a6fad4ef3 100644 --- a/tools/boot/full-test.sh +++ b/tools/boot/full-test.sh @@ -160,8 +160,7 @@ make_minimal_freebsd_tree() ln -s . ${dir}/usr # snag the binaries for my simple /etc/rc file tar -C ${dir} -xf ${CACHE}/$file sbin/fastboot sbin/reboot sbin/halt sbin/init bin/sh sbin/sysctl \ - lib/libncursesw.so.9 lib/libc.so.7 lib/libedit.so.8 libexec/ld-elf.so.1 - + lib/libtinfow.so.9 lib/libncursesw.so.9 lib/libc.so.7 lib/libedit.so.8 libexec/ld-elf.so.1 # My simple etc/rc cat > ${dir}/etc/rc < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: b836c229aa5a - main - ip6: leave room for link headers in UDP List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b836c229aa5ac345114f5986b6034ad3ed760da1 Auto-Submitted: auto-generated The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=b836c229aa5ac345114f5986b6034ad3ed760da1 commit b836c229aa5ac345114f5986b6034ad3ed760da1 Author: Andrew Gallatin AuthorDate: 2025-04-15 23:37:06 +0000 Commit: Andrew Gallatin CommitDate: 2025-04-15 23:44:56 +0000 ip6: leave room for link headers in UDP UDP over IPv6 was not leaving space for link headers, resulting in the ethernet header being placed in its own mbuf at the front of the mbuf chain sent down to the NIC driver. This is inefficient, in terms of allocating 2x as many header mbufs as needed, and its also confusing for drivers which may expect to find ether/ip/l4 headers together in the same mbuf. Reviewed by: glebius, rrs, tuexen Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D49840 This is a port of e6ccd7093618, which was done by Robert Watson in 2004 for IP4 --- sys/netinet6/udp6_usrreq.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index c44510e3b65f..c8f91fff2b76 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -860,14 +860,18 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, hlen = sizeof(struct ip6_hdr); /* - * Calculate data length and get a mbuf - * for UDP and IP6 headers. + * Calculate data length and get a mbuf for UDP, IP6, and possible + * link-layer headers. Immediate slide the data pointer back forward + * since we won't use that space at this layer. */ - M_PREPEND(m, hlen + sizeof(struct udphdr), M_NOWAIT); + M_PREPEND(m, hlen + sizeof(struct udphdr) + max_linkhdr, M_NOWAIT); if (m == NULL) { error = ENOBUFS; goto release; } + m->m_data += max_linkhdr; + m->m_len -= max_linkhdr; + m->m_pkthdr.len -= max_linkhdr; /* * Stuff checksum and output datagram. From nobody Wed Apr 16 01:39:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZckG470wVz5slDh; Wed, 16 Apr 2025 01:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZckG46R8yz46Jb; Wed, 16 Apr 2025 01:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KMG2AHpEyPZE6iLvZ93O35mwjzhI7VM4+b5wS3hJqE=; b=xSHGkHNt5sQflpbAvyKEKH5yui1bNoLGNLYnzsscHdfiNJZDsFam/YC6rfnYsmTNJjC501 Jq0xl3nPkfG7xdPV+FvW96w6xEOG0OerGut66qsubOwpo+MOrwJXp357AlPHt0vUrcUbIO kRI8BMnSOCvD2u2tylTuViEOjwOPpApmoqMazzrEZBWWamjEZNDlVWVdmDmhOFYpCL6n95 c511FT6uBN2wgb1cVcgyfJMAhCWRjAbTvF/2PnQIkmkFPWkzEYpFunESKQVf6nlFNz9qhA zFJlo3jT6HH5+AeUuzo+sbVjAQ29VFao+wk+RYdkyUq631nYDi1qtsEVTB0vRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744767548; a=rsa-sha256; cv=none; b=TWLrVMeMpomweE7p7wd6RqL69UhZ4FOD72xIkTscoMvhtdAw1IrvOirf0+c6dg9X4R3VrO QnObCT8zNS5H8+hTnC9RcRMEvkjaJ6Gz37LV0/pQuA3S45F6kPW0Iwr2vgDN/VUcdJZ1MW aiQVHsltNiYmMk329THPYg2sLStNJz9a4o0/mXxgicBAiu8Js6aOPGdFhFhQq11mUUmFJl sPUdLXNCTkp2iRaURcuytGRsII11vIQ4r9DE5UfDgiv5pAW4n9EQC8ShpeySGnAh3kntjI Yj6DG6MnBCR+XK64NfunCq0Dgx1yC+J2IFBmFnn5J69SU+IzaJcUbCBsjaOs4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KMG2AHpEyPZE6iLvZ93O35mwjzhI7VM4+b5wS3hJqE=; b=dNoP0vkJ+U2EkbnFTsT2Kr6eCgFLsJs7YuIJef+9V6LkUIq/mllgIIa5IpFMtTHgYGuAkU FEmWntso7EbBS7TcdHdLr61pwQlKEeu3/JHO2XK0O8mwX9bL+aqRZ3wq/JBaBezoSB3jeK S8fSe+R2s5QWWq4+GPsPjyOU3ADdYjEe7b7NWo1O5hJf4xspSamn0b/dRQTikdV4+8aVGg rjbnCF5FjWQ/k2foCezFIvMyUfw0ZA4nuMPEM6DMg6lZr8JrGmBCsNQcrTxaC8hliyWt3Z 4c3RtVCAiXhpk4QO48YYdAPA+pL6/OyPKxT1qoZZUHeUdEccKuF1LTw7mlpJpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZckG45kDRzyV4; Wed, 16 Apr 2025 01:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53G1d8sa019971; Wed, 16 Apr 2025 01:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G1d8xE019968; Wed, 16 Apr 2025 01:39:08 GMT (envelope-from git) Date: Wed, 16 Apr 2025 01:39:08 GMT Message-Id: <202504160139.53G1d8xE019968@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ab259b19bd81 - stable/14 - amd64: also limit printings of EFIRT page faults List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ab259b19bd8105d779ec79a0cc00cf7f1feaf434 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ab259b19bd8105d779ec79a0cc00cf7f1feaf434 commit ab259b19bd8105d779ec79a0cc00cf7f1feaf434 Author: Konstantin Belousov AuthorDate: 2025-04-09 07:35:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-16 01:38:33 +0000 amd64: also limit printings of EFIRT page faults PR: 285797 (cherry picked from commit 99332926f6fc6d1e4bb850a2b26744b948b14014) --- sys/amd64/amd64/trap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 692491ecfc5a..1877aedee17a 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -895,8 +895,13 @@ after_vmfault: if (td->td_intr_nesting_level == 0 && curpcb->pcb_onfault != NULL) { if ((td->td_pflags2 & TDP2_EFIRT) != 0) { - trap_diag(frame, eva); - printf("EFI RT page fault\n"); + u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); + + if ((print_efirt_faults == 1 && cnt == 1) || + print_efirt_faults == 2) { + trap_diag(frame, eva); + printf("EFI RT page fault\n"); + } } frame->tf_rip = (long)curpcb->pcb_onfault; return (0); From nobody Wed Apr 16 01:39:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZckG62gwvz5sl68; Wed, 16 Apr 2025 01:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZckG56TBGz46Wq; Wed, 16 Apr 2025 01:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tFVxTnNXqFlHu+412wWRxL3HmJ0TDpnmNgauiOMkrzg=; b=cjzlTYG7D2e3AmGWotGAchA7Qn8/wHiKEkPLgxFbY3tfOuuijsnwfv5EN3mKR3ETPSVcqD osmxVo6o1HLBLAjuCyIpE95rCPB5Y6sQAy5CC1xdWrHvNxh4+55yYDkUF3azWWf4VmunEC zZMZ4F06WNL3nNKaV2J0qCHtQUtT+cTF10Naht8+XQL+3GuXo8g/FRMZw00fE9TCj8qCV+ kEvxcNwc342nBdzT14cXQ/fEvwZDlsRfguHyoEqqENzTYxrtVeh81ln8cCuQwdDHBfdS5j vE0iy1CgtKlzxU/aN89wgOueJNti+8wcAdf7TkH1hXrRuchcL5XR1GXFerve/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744767549; a=rsa-sha256; cv=none; b=GxgqOvNNvzpED577bHn1/SssX4Ayd3kxAkpSniwV3nOF3fkTqWU5cBouFYfb72bFwKniwS HGTFjtJy1m9DoOyJP8Pb8jXs2iWSHH4aeDRU0SR7Z8RBxYL9j+cx28zjQBy9YjQPHSbpy+ 88bKHObAqaumfkXbXdtOmZlGrcseBN4WJ94BGWgdk5D0D7Jp3Gm9JoO1VtI4nuXYQc0zFG 4BlwpbsFS9FKRfODfUR0D4Lif0CZCRCtHBVHvDlqUlznaR2AxSDg6heoTugNdNMw8TTzkL F3deM0ZuULy8FXmMYJ/4xEO1ZRjSc3IY/Cc87a9iuuq6iLGWTqmJ8Pu3JEk+AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tFVxTnNXqFlHu+412wWRxL3HmJ0TDpnmNgauiOMkrzg=; b=xJ1TPMwf7PyfPklGRUxCJ7dwgzm30FKcEzaKc+BSbHgWHPUhNiRxM9xn2AU6LvIGkNWHbm oy29A10/dMjp2xxdoWHp66hV7tGv3oWRm5MPnztNdtgZ5LkV2FAUc+SMKMGFZxgqcB3xeb qQLnEc/XV0YRG2NKit0KugxvZ6V+e+yCuNZLQ45er7UvDjW5AQbDBt3RfgpiKBc7IcmTFn ilGPu3WUMCYINIw9bsir73Jdc0d/Q4sZVx48/Nm3+wlTp3WgQIQCSR4geazlwm7pVN6SXF aoJICAUSFV1XCguh+eo8asSVqP4NcZsX3op4tqzQL5F0reveQKBZOjQAZFkrqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZckG563ttzy3Z; Wed, 16 Apr 2025 01:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53G1d9Mv020007; Wed, 16 Apr 2025 01:39:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G1d9Gu020003; Wed, 16 Apr 2025 01:39:09 GMT (envelope-from git) Date: Wed, 16 Apr 2025 01:39:09 GMT Message-Id: <202504160139.53G1d9Gu020003@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b9a015bd0a19 - stable/14 - amd64: print limited EFIRT fault messages on first fault, not second List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: b9a015bd0a19dcc87a6d229e4918fdbb15a65f8b Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b9a015bd0a19dcc87a6d229e4918fdbb15a65f8b commit b9a015bd0a19dcc87a6d229e4918fdbb15a65f8b Author: Konstantin Belousov AuthorDate: 2025-04-09 23:54:23 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-16 01:38:33 +0000 amd64: print limited EFIRT fault messages on first fault, not second (cherry picked from commit 9227ecea6f4d4fc8a0ac9830a63eac6d79b5ce57) --- sys/amd64/amd64/trap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 1877aedee17a..2c3b8f0b4dd8 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -458,7 +458,7 @@ trap(struct trapframe *frame) curpcb->pcb_onfault != NULL && type != T_PAGEFLT) { u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - if ((print_efirt_faults == 1 && cnt == 1) || + if ((print_efirt_faults == 1 && cnt == 0) || print_efirt_faults == 2) { trap_diag(frame, 0); printf("EFI RT fault %s\n", @@ -897,7 +897,7 @@ after_vmfault: if ((td->td_pflags2 & TDP2_EFIRT) != 0) { u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - if ((print_efirt_faults == 1 && cnt == 1) || + if ((print_efirt_faults == 1 && cnt == 0) || print_efirt_faults == 2) { trap_diag(frame, eva); printf("EFI RT page fault\n"); From nobody Wed Apr 16 01:42:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZckLC11c3z5slky; Wed, 16 Apr 2025 01:42: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 4ZckLB3Jgsz49V7; Wed, 16 Apr 2025 01:42:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CzdAIYLZL8sUaSn1rtbYCbradkH6rsPs0BQqq7vM3+s=; b=F8hHQV0oU0Vk5tdvdKNGkS3CMSqmP+bqIhzyCn3ZonQ3dz0gvNbh7qN9keYQcO+nKYjP+a MVy7RQ4A0c8MJKhI6psGtJDdR7GWqBhvm7UrJgLJ7dPVdyq3zmAdSbxLZrlqkdNvootHSd NmYY+Xd+Dg5ydcHJhobrYXK3dVNB1rsiqnu8yz6oCQq+6hJy2T/gH4HON+mS5AzEgM71je 4CeAHgCaVJtEBSaBnTFDr1hnUd66+/ag3BAUc27eDNmtycLjBCmq8kcofb+fIJe+/cDLw4 hEjKMSOVzq978TFr4h1Hb6Hu3Ii3SkuEnE0QRp0Nihb4I0W3kgJX+2xIoJ6V8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744767762; a=rsa-sha256; cv=none; b=TBQhHspCzxE0pCG3GsAuW/xIRGH2Cu+sQcs3ybRlndE5Ea1LlLpPUw13fIHt96/rMYkRmq 3fyoDLQaiy/JQdiYPM2kqSCs5Pe2+mUBze/GD8XdbZV5XALfcRtQ+O2MMOUqjfzOKLt2jl QdgdPx3OPqRN+RoTVBlCN8So19QqBRdrffBGpPIf3re8ypw27o9XQwhev3HDmt0AKvCXRx 40YCdBkGFqQLS1SkTryBaUtaitbzcWf1mB/JcZLe4+9Lzwqi+WIAh6j9N35Q+/ccTAyJKg O6wB3EelYwsJ4BHQwrHDUOQb+KbJKCyLTLFu0ywBzmAR32F4bz6qNVfrT+xIHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744767762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CzdAIYLZL8sUaSn1rtbYCbradkH6rsPs0BQqq7vM3+s=; b=TpwMR9kwNMX0Q5bRX5i10co9DXBfMsLZyfHFeWq5sYwDDxTW45y0GncS3RVjeebXDpGGt3 8p4wF1DugAK/wOlKwqiEKe2uAtYio21HyZTkxe8si0RfVAiny7txjDQlN5SpomRO7FtMqh 4I9/Pmyr9PxAuHmoCy6j0rtk1mFkQ2U77O0cQP9gggqe+DTo8dgzEKIBy1DaBRizujM5IW Iv+bqv7qpV+J1sPnxCOioIu7C13dcuBBfCQoeSQrEiCOT5EdlU3OeIs0/X/IZkH6Eopfl9 wSPqs8t6JZ9xDDw45CAeaIstBERzNbsfYWmA76UmAiy4Ovc5/1qOAmRGkbyaCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZckLB2h3lzyk0; Wed, 16 Apr 2025 01:42: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 53G1ggEO037000; Wed, 16 Apr 2025 01:42:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G1ggHx036997; Wed, 16 Apr 2025 01:42:42 GMT (envelope-from git) Date: Wed, 16 Apr 2025 01:42:42 GMT Message-Id: <202504160142.53G1ggHx036997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 63697ff85a3a - stable/14 - mlx5en: Use connector type instead of cable type for media detection List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 63697ff85a3a8db4da800cc797f72272797a8da8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=63697ff85a3a8db4da800cc797f72272797a8da8 commit 63697ff85a3a8db4da800cc797f72272797a8da8 Author: Ariel Ehrenberg AuthorDate: 2025-03-25 12:40:58 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-16 01:41:49 +0000 mlx5en: Use connector type instead of cable type for media detection (cherry picked from commit 89e0e3814e8ca205db7523f6ce6c63cebe4bfb0d) --- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 98 +++++++++++++++++-------------------- sys/dev/mlx5/port.h | 13 +++++ 2 files changed, 57 insertions(+), 54 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index 058923be5769..81af98082311 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -164,186 +164,186 @@ static const struct media mlx5e_mode_table[MLX5E_LINK_SPEEDS_NUMBER] = }, }; -static const struct media mlx5e_ext_mode_table[MLX5E_EXT_LINK_SPEEDS_NUMBER][MLX5E_CABLE_TYPE_NUMBER] = +static const struct media mlx5e_ext_mode_table[MLX5E_EXT_LINK_SPEEDS_NUMBER][MLX5E_CONNECTOR_TYPE_NUMBER] = { /**/ - [MLX5E_SGMII_100M][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_SGMII_100M][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_100_SGMII, .baudrate = IF_Mbps(100), }, /**/ - [MLX5E_1000BASE_X_SGMII][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_1000BASE_X_SGMII][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_1000_CX, .baudrate = IF_Mbps(1000), }, - [MLX5E_1000BASE_X_SGMII][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_1000BASE_X_SGMII][MLX5E_PORT_FIBRE] = { .subtype = IFM_1000_SX, .baudrate = IF_Mbps(1000), }, /**/ - [MLX5E_5GBASE_R][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_5GBASE_R][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_5000_KR, .baudrate = IF_Mbps(5000), }, - [MLX5E_5GBASE_R][MLX5E_CABLE_TYPE_TWISTED_PAIR] = { + [MLX5E_5GBASE_R][MLX5E_PORT_TP] = { .subtype = IFM_5000_T, .baudrate = IF_Mbps(5000), }, /**/ - [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_10G_KR, .baudrate = IF_Gbps(10ULL), }, - [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_PORT_DA] = { .subtype = IFM_10G_CR1, .baudrate = IF_Gbps(10ULL), }, - [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_10GBASE_XFI_XAUI_1][MLX5E_PORT_FIBRE] = { .subtype = IFM_10G_SR, .baudrate = IF_Gbps(10ULL), }, /**/ - [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_40G_KR4, .baudrate = IF_Gbps(40ULL), }, - [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_PORT_DA] = { .subtype = IFM_40G_CR4, .baudrate = IF_Gbps(40ULL), }, - [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_40GBASE_XLAUI_4_XLPPI_4][MLX5E_PORT_FIBRE] = { .subtype = IFM_40G_SR4, .baudrate = IF_Gbps(40ULL), }, /**/ - [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_25G_KR, .baudrate = IF_Gbps(25ULL), }, - [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_PORT_DA] = { .subtype = IFM_25G_CR, .baudrate = IF_Gbps(25ULL), }, - [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_PORT_FIBRE] = { .subtype = IFM_25G_SR, .baudrate = IF_Gbps(25ULL), }, - [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_CABLE_TYPE_TWISTED_PAIR] = { + [MLX5E_25GAUI_1_25GBASE_CR_KR][MLX5E_PORT_TP] = { .subtype = IFM_25G_T, .baudrate = IF_Gbps(25ULL), }, /**/ - [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_50G_KR2, .baudrate = IF_Gbps(50ULL), }, - [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_PORT_DA] = { .subtype = IFM_50G_CR2, .baudrate = IF_Gbps(50ULL), }, - [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_50GAUI_2_LAUI_2_50GBASE_CR2_KR2][MLX5E_PORT_FIBRE] = { .subtype = IFM_50G_SR2, .baudrate = IF_Gbps(50ULL), }, /**/ - [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_50G_KR_PAM4, .baudrate = IF_Gbps(50ULL), }, - [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_PORT_DA] = { .subtype = IFM_50G_CP, .baudrate = IF_Gbps(50ULL), }, - [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_50GAUI_1_LAUI_1_50GBASE_CR_KR][MLX5E_PORT_FIBRE] = { .subtype = IFM_50G_SR, .baudrate = IF_Gbps(50ULL), }, /**/ - [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_100G_KR4, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_PORT_DA] = { .subtype = IFM_100G_CR4, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_CAUI_4_100GBASE_CR4_KR4][MLX5E_PORT_FIBRE] = { .subtype = IFM_100G_SR4, .baudrate = IF_Gbps(100ULL), }, /**/ - [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_100G_KR_PAM4, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_PORT_DA] = { .subtype = IFM_100G_CR_PAM4, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_100GAUI_1_100GBASE_CR_KR][MLX5E_PORT_FIBRE] = { .subtype = IFM_100G_SR2, /* XXX */ .baudrate = IF_Gbps(100ULL), }, /**/ - [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_100G_KR4, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_PORT_DA] = { .subtype = IFM_100G_CP2, .baudrate = IF_Gbps(100ULL), }, - [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_100GAUI_2_100GBASE_CR2_KR2][MLX5E_PORT_FIBRE] = { .subtype = IFM_100G_SR2, .baudrate = IF_Gbps(100ULL), }, /**/ - [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_200G_KR4_PAM4, /* XXX */ .baudrate = IF_Gbps(200ULL), }, - [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_PORT_DA] = { .subtype = IFM_200G_CR4_PAM4, /* XXX */ .baudrate = IF_Gbps(200ULL), }, - [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_200GAUI_2_200GBASE_CR2_KR2][MLX5E_PORT_FIBRE] = { .subtype = IFM_200G_SR4, /* XXX */ .baudrate = IF_Gbps(200ULL), }, /**/ - [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_200G_KR4_PAM4, .baudrate = IF_Gbps(200ULL), }, - [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_CABLE_TYPE_PASSIVE_COPPER] = { + [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_PORT_DA] = { .subtype = IFM_200G_CR4_PAM4, .baudrate = IF_Gbps(200ULL), }, - [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_CABLE_TYPE_OPTICAL_MODULE] = { + [MLX5E_200GAUI_4_200GBASE_CR4_KR4][MLX5E_PORT_FIBRE] = { .subtype = IFM_200G_SR4, .baudrate = IF_Gbps(200ULL), }, /**/ - [MLX5E_400GAUI_8][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_400GAUI_8][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_400G_LR8, /* XXX */ .baudrate = IF_Gbps(400ULL), }, /**/ - [MLX5E_400GAUI_4_400GBASE_CR4_KR4][MLX5E_CABLE_TYPE_UNKNOWN] = { + [MLX5E_400GAUI_4_400GBASE_CR4_KR4][MLX5E_PORT_UNKNOWN] = { .subtype = IFM_400G_LR8, /* XXX */ .baudrate = IF_Gbps(400ULL), }, @@ -367,7 +367,7 @@ mlx5e_update_carrier(struct mlx5e_priv *priv) u32 eth_proto_oper; int error; u8 i; - u8 cable_type; + u8 connector_type; u8 port_state; u8 is_er_type; bool ext; @@ -398,24 +398,14 @@ mlx5e_update_carrier(struct mlx5e_priv *priv) ext = MLX5_CAP_PCAM_FEATURE(mdev, ptys_extended_ethernet); eth_proto_oper = MLX5_GET_ETH_PROTO(ptys_reg, out, ext, eth_proto_oper); - + connector_type = MLX5_GET(ptys_reg, out, connector_type); i = ilog2(eth_proto_oper); if (ext) { - error = mlx5_query_pddr_cable_type(mdev, 1, &cable_type); - if (error != 0) { - /* use fallback entry */ - media_entry = mlx5e_ext_mode_table[i][MLX5E_CABLE_TYPE_UNKNOWN]; - - mlx5_en_err(priv->ifp, - "query port pddr failed: %d\n", error); - } else { - media_entry = mlx5e_ext_mode_table[i][cable_type]; - + media_entry = mlx5e_ext_mode_table[i][connector_type]; /* check if we should use fallback entry */ - if (media_entry.subtype == 0) - media_entry = mlx5e_ext_mode_table[i][MLX5E_CABLE_TYPE_UNKNOWN]; - } + if (media_entry.subtype == 0) + media_entry = mlx5e_ext_mode_table[i][MLX5E_PORT_UNKNOWN]; } else { media_entry = mlx5e_mode_table[i]; } diff --git a/sys/dev/mlx5/port.h b/sys/dev/mlx5/port.h index bfbc721139d3..a35265852ae4 100644 --- a/sys/dev/mlx5/port.h +++ b/sys/dev/mlx5/port.h @@ -128,6 +128,19 @@ enum mlx5e_ext_link_speed { MLX5E_EXT_LINK_SPEEDS_NUMBER = 32, }; +enum mlx5e_connector_type { + MLX5E_PORT_UNKNOWN = 0, + MLX5E_PORT_NONE = 1, + MLX5E_PORT_TP = 2, + MLX5E_PORT_AUI = 3, + MLX5E_PORT_BNC = 4, + MLX5E_PORT_MII = 5, + MLX5E_PORT_FIBRE = 6, + MLX5E_PORT_DA = 7, + MLX5E_PORT_OTHER = 8, + MLX5E_CONNECTOR_TYPE_NUMBER = 9, +}; + enum mlx5e_cable_type { MLX5E_CABLE_TYPE_UNKNOWN = 0, MLX5E_CABLE_TYPE_ACTIVE_CABLE = 1, From nobody Wed Apr 16 03:18:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcmTF6RD4z5str7; Wed, 16 Apr 2025 03:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcmTF5hN7z3wck; Wed, 16 Apr 2025 03:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+trbHeRjzvzv9SdYIulAsx5sd+zIUyu45VJNXsuS0o=; b=mzyK1svdeZvhzXFLRtTUY+zVsCtfv9ieC404pv0Ga0S1CDqvm039cURfDZgrIf/o8dUcZX QDdu5EZ4DBYqsWTV/Ybe4mPu1SMIvhzMi05NzSUNMNvnntszD2mkdwj/1x/6yQ0sLQh3Jm mm5yndCmRXPTbNhJ2lj6smbNPbJqvtaSI3w+t6RydEQQEAz7AE9fbQ/7OhPOtagVJqtJdi Tq2FhTAaCK5LgIINlrcre9jTUsxL/gv1833lprK8QPqcbAYqyxfhS7obZt2nLAoqL+kmjr Jeopg3VA10JYnxoCph4ONRfTbTGJyUKZprvLZfaMrmuZF/3vPrkQLhauyrmnuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744773537; a=rsa-sha256; cv=none; b=CEwMcdlNto4QDcqBK338TFH2jcz36VCBO3Mce9aNIZO8L8LxqXXXc+CE/ktmO3yFNVZT9R kr/chNUCK3sB2C88mThT5mcDMV3anAG4HCesHO3olTwKDKu/BdzXCyC+QwEbn12Gq6q2or Gof08U0VQo39nd2OuAUisLOzYN99RW5hcZIpIyA1hCaIZvybTwkMJEkIIA6A+4JEhPV+2H UNfXxPnCHK90F1e1Qbzzr0Ga1FI9WsPoygb95MfuaPOeWc+GYmsE/Rb4ax628pPt+9I1Qr MdLC2p+2dLMnZR2Tf0vrMsG7tstbShHxJRHhmTwLLBmLhxnriudu89Q22CMi6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+trbHeRjzvzv9SdYIulAsx5sd+zIUyu45VJNXsuS0o=; b=oWvWSVaN/iPUtOF/QUuogFsL3CryrjwxQ0Tx7RJiJzfaIXSExYidNruzViW9dd22vUpaJA aHXl7Xvi4XV5YcWAD2uVXxSBKH1XrcSDxl3+JhyJ3pY6w9dt6IY7RIBs6ktPyN4T6bDMvr ceVpAUs4uae+HDcKp619FhzI1GSMNUkxPVUKy2+5G1yPXYSn3fphi3t9mluX+Pbos3eu3K ShsqOe7f3wyXFfgo6ZseWRrJwUswgdzIMAfi/smxkZ+HpTrMTHTor3CDmoqQr2zpEWeajo 8i8rOw+SLYHhvZ+G7frqOhJhokRf5X7IDhEi7ZvYWj7qvxUEPdYh7PaOTHPABg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcmTF4zSCz11rT; Wed, 16 Apr 2025 03:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53G3IvsB009095; Wed, 16 Apr 2025 03:18:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G3Iv6T009092; Wed, 16 Apr 2025 03:18:57 GMT (envelope-from git) Date: Wed, 16 Apr 2025 03:18:57 GMT Message-Id: <202504160318.53G3Iv6T009092@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 1bd29261b9d0 - stable/14 - Correct CTLTYPE of SYSCTL_SBINTIME_MSEC etc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1bd29261b9d0a1f64faa45bac531c62a4709dda9 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1bd29261b9d0a1f64faa45bac531c62a4709dda9 commit 1bd29261b9d0a1f64faa45bac531c62a4709dda9 Author: Colin Percival AuthorDate: 2025-03-31 04:05:33 +0000 Commit: Colin Percival CommitDate: 2025-04-16 03:13:13 +0000 Correct CTLTYPE of SYSCTL_SBINTIME_MSEC etc These should be CTLTYPE_S64, not CTLTYPE_INT, since they handle 64-bit values. Reviewed by: imp Fixes: 003ffd57fee1 ("Add sysctl_usec_to_sbintime [...]") MFC after: 2 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49584 (cherry picked from commit e85aaed60eb061f31b2f1e5dc92b0ff0419b5fbf) --- sys/sys/sysctl.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index 5955b704b7f9..5fce4b8e1713 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -866,7 +866,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); /* OID expressing a sbintime_t as microseconds */ #define SYSCTL_SBINTIME_USEC(parent, nbr, name, access, ptr, descr) \ SYSCTL_OID(parent, nbr, name, \ - CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ + CTLTYPE_S64 | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ (ptr), 0, sysctl_usec_to_sbintime, "Q", descr); \ CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64) @@ -876,7 +876,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64); \ sysctl_add_oid(ctx, parent, nbr, name, \ - CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ + CTLTYPE_S64 | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ __ptr, 0, sysctl_usec_to_sbintime, "Q", __DESCR(descr), \ NULL); \ }) @@ -884,7 +884,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); /* OID expressing a sbintime_t as milliseconds */ #define SYSCTL_SBINTIME_MSEC(parent, nbr, name, access, ptr, descr) \ SYSCTL_OID(parent, nbr, name, \ - CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ + CTLTYPE_S64 | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ (ptr), 0, sysctl_msec_to_sbintime, "Q", descr); \ CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64) @@ -894,7 +894,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64); \ sysctl_add_oid(ctx, parent, nbr, name, \ - CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ + CTLTYPE_S64 | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \ __ptr, 0, sysctl_msec_to_sbintime, "Q", __DESCR(descr), \ NULL); \ }) From nobody Wed Apr 16 03:18:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcmTH1l7qz5str8; Wed, 16 Apr 2025 03:18: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 4ZcmTG5dZ5z3wfc; Wed, 16 Apr 2025 03:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1eKPib/ofg1SYqSM4a3L68D1SHEo9kBombE1k4ElAM=; b=Ioq+EW+mxJaXjJQf287GtDySrOXWNzxAKQMpjEzA7tg4/P5VkPO1zkhQBVl/FKOap/rqz0 O/mJSlyQboTkJgP5qfOkpj6PYPsnrtDdMqh2VUyIGox3pss7HEYWltvaJEFHs0Bv9JH0GQ dmGfFkxFOCKpO99tlB6HJ0+WZDC1LYVYcFqHf/rzvg6fJZXQ9xYtwxXmK3MnrUBtCErs6G WIX63alBGXuMy3JbM8YVENOMvParxmyK/MDvWQIv8XMr8bCXj3STxceXgjb97gtziLU+4c LEWFfCVReFYyAWtvb3POFejzAOqEknFxDMwTkb9/KLKgDwFoWJOhDLkx/NzfZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744773538; a=rsa-sha256; cv=none; b=yo0S/JuZJIKjhrN6oSOsGt8phefnwv0+h46eYawBGe5loYz6Q5GSVwsrvJr9UT6PgFXvnY dy9sj34JY0PoGspklDLVfRWs0+wDojiaYEYT47ImODvXqM2vFpyq0aUAxwmc6TZQH8ltnM F+2Sb/t5SGzmgxKFY3PTfFNiGZZzIFm+wf6upmeKflH02jeqzpb799eAfyOGaX6GhlkDgi Ndyy8qcqo0FNv9ZKvgcD9C8A6I++dXwtZc9E4+jYZG1QJxHNGSVw/qLiBCSFH6H2UJlnKd mkmoAgkG6ARBNNqDFsjREgM1QTs5NYZIF8Lg1osgBX4asRMl+bfB+00FaHXf5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1eKPib/ofg1SYqSM4a3L68D1SHEo9kBombE1k4ElAM=; b=LdAzSzfaKKwJizFGIHlyjsXojQ4X9bf3SJtvH6+SEFZDbilzWhi0aNT+5nSCmZ+H6u8AtG O/k0AnqYADJSMAbO4iPkBXuVVT2XDgo7MTsxLnvXmm7PHXb83UxCMjOh1ZvQ4vuRs5OWZE JkSOWx/31mWODoGmF/wlVIGm8ytei+v+E0bYTT2ufX5iMxdgoeUPaQiej528XZ4IWLU130 pEBCB+qdIww+tqVwWM7tnBpuhBUjiZRvZX82Y295nL/CbDoViT847pPxFABLXB5RzY7ekF 6wKQ6ihCO0Uzh7RVk4Z3XHuq+/tFNVhdY2m6ymW2kTaiQXTsgSe2tLC9vXZVrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcmTG59bdz11WR; Wed, 16 Apr 2025 03:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53G3IwVL009133; Wed, 16 Apr 2025 03:18:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G3Iw0F009130; Wed, 16 Apr 2025 03:18:58 GMT (envelope-from git) Date: Wed, 16 Apr 2025 03:18:58 GMT Message-Id: <202504160318.53G3Iw0F009130@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 217fce137713 - stable/14 - pci: Make PCIe Eject timeout configurable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 217fce137713ab7f44783c28681ebd4cfcd1465d Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=217fce137713ab7f44783c28681ebd4cfcd1465d commit 217fce137713ab7f44783c28681ebd4cfcd1465d Author: Colin Percival AuthorDate: 2025-03-31 04:08:44 +0000 Commit: Colin Percival CommitDate: 2025-04-16 03:15:00 +0000 pci: Make PCIe Eject timeout configurable PCIe mandates a 5 second delay between when the "Attention Button" is pressed and when the associated device is detached; this is to allow for the button to be pressed a second time to cancel the ejection. On some systems this 5 second delay may not be desireable; so introduce a hw.pci.pcie_hp_detach_timeout sysctl (which can also be set as a loader tunable) which specifies the timeout in milliseconds (default 5000). If set to zero, the device is detached immediately. Reviewed by: jhb MFC after: 2 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49585 (cherry picked from commit 9be42ee6c9c741052bdc49f13bc953bf88a24423) --- sys/dev/pci/pci_pci.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 06e8c2bc8433..a9567b3e2c4c 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -951,6 +951,11 @@ SYSCTL_INT(_hw_pci, OID_AUTO, enable_pcie_hp, CTLFLAG_RDTUN, &pci_enable_pcie_hp, 0, "Enable support for native PCI-express HotPlug."); +static sbintime_t pcie_hp_detach_timeout = 5 * SBT_1S; +SYSCTL_SBINTIME_MSEC(_hw_pci, OID_AUTO, pcie_hp_detach_timeout, CTLFLAG_RWTUN, + &pcie_hp_detach_timeout, + "Attention Button delay for PCI-express Eject."); + TASKQUEUE_DEFINE_THREAD(pci_hp); static void @@ -1221,11 +1226,17 @@ pcib_pcie_intr_hotplug(void *arg) &sc->pcie_ab_task, NULL); } else if (old_slot_sta & PCIEM_SLOT_STA_PDS) { /* Only initiate detach sequence if device present. */ - device_printf(dev, - "Attention Button Pressed: Detaching in 5 seconds\n"); - sc->flags |= PCIB_DETACH_PENDING; - taskqueue_enqueue_timeout(taskqueue_pci_hp, - &sc->pcie_ab_task, 5 * hz); + if (pcie_hp_detach_timeout != 0) { + device_printf(dev, + "Attention Button Pressed: Detaching in %ld ms\n", + (long)(pcie_hp_detach_timeout / SBT_1MS)); + sc->flags |= PCIB_DETACH_PENDING; + taskqueue_enqueue_timeout_sbt(taskqueue_pci_hp, + &sc->pcie_ab_task, pcie_hp_detach_timeout, + SBT_1S, 0); + } else { + sc->flags |= PCIB_DETACHING; + } } } if (sc->pcie_slot_sta & PCIEM_SLOT_STA_PFD) From nobody Wed Apr 16 03:18:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZcmTJ14Whz5stV4; Wed, 16 Apr 2025 03:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZcmTH6W7lz3wZs; Wed, 16 Apr 2025 03:18:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PC6Afv2AQnw/zKAPCSFKu4U+MpPxMB5yji5MpXAUock=; b=Y/oCW4Fspr92vQ7TcDJQdAV8V8tjzSC5sxVbl0w2zPAQVvh66195IW7pYpD24W+6aiz9cJ Tz42xCKDf2umoh1lSuC0bxzTL4r2VnzEzvygoEZ0o6sFhrorf3vnwnPUjnq7DvdbhjQBfb H/KPNO9CiQ/dx7neDkr8LWLxWtWPTZ8qZOGx4Ynn3M8kL4Ly0toKBjGvMPT+k6kzPCpgUu 0taCqoxNOeAN8Scti7yfXbSuoVXQS+s2PrD31n6DcqzRQd0zCEBBQsMmSKYp0UWk5EPd2V zulaZG4kRhQN5lFxXNFuPzwXR1IShKeMi7JT+iOKwPi8FJZ8awhNm5BNa0H0mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744773539; a=rsa-sha256; cv=none; b=czTMOQ47piDs8JiN4qf5WeuwPlrMUjAFIzLAk/XW4x/3SnBfsAYsGZZOZ1lbGF8SX+QCib /RSOBXknRvZTNLdvvLOg9qaigHJUUECs4fornw2NZb5mn0i1mxUCdDefe6D/B3nsv6d6jU 3hDmzvlDoA2dWVfHWX7qduOVKgSJ7gUZo4vyFPwe3d5d5SNNk17k4z+Qotu54M7TZyBiup syfjBj7+uIUlPDyXT3X2EEir2hT0fJKNfLmVapPwpcb+/2BxNlm818xTlMgjCevUYxvLJ7 UsoK+pzoQ3L+S6JNXPx/aOuhafpvKIfFvsyNoAPL6BnW7DolWK7+4Xuu3Y8maQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744773539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PC6Afv2AQnw/zKAPCSFKu4U+MpPxMB5yji5MpXAUock=; b=TE3hksIuviSuZ9kJP/kGrz3VD23z02ywj0vUP2m/hMdgA68TVm2d+3XEYprEL2NMxK/7BK AoDmZM9SocZ+W6t9jeKmDdE2igAd7SJlf/r7zjJhZJG7eynNpEWrx7TVgbbcEDcyxMXTEq J2sYUIn0a84jnULwZyRydyjuW1SF9asK0PyDocE+XcM4ARQwQ+GjvLM7VGWkQ5eNst2E9/ WRKTZuR+wl4upDXPaVKmkt5nHjD6JHaUEBjxXO12mwq4N1U/iZz1aZC3pIc7ud/Em/h6nz dpfNByFQc8P7n1xDxcYHjmkAtf1U3Z0ezbcL3TCTHJmsmNcfo+jr/qcrFz+4Tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZcmTH67B7z11WS; Wed, 16 Apr 2025 03:18: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 53G3IxrU009172; Wed, 16 Apr 2025 03:18:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53G3IxTA009169; Wed, 16 Apr 2025 03:18:59 GMT (envelope-from git) Date: Wed, 16 Apr 2025 03:18:59 GMT Message-Id: <202504160318.53G3IxTA009169@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: f852f4f7b6f1 - stable/14 - EC2: Set PCIe eject timeout to 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f852f4f7b6f1666b09b16dba4aaab7acdb49980d Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f852f4f7b6f1666b09b16dba4aaab7acdb49980d commit f852f4f7b6f1666b09b16dba4aaab7acdb49980d Author: Colin Percival AuthorDate: 2025-03-31 04:11:23 +0000 Commit: Colin Percival CommitDate: 2025-04-16 03:18:03 +0000 EC2: Set PCIe eject timeout to 0 Since PCIe device detaching is done via API, there is no opportunity to "press the attention button a second time" and thus the 5 second timeout mandated by PCIe serves no purpose. MFC after: 2 weeks Sponsored by: Amazon (cherry picked from commit 80febaa1714e897d67a8217edc305a0e81498a6f) --- release/tools/ec2.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 3675736ab986..2856068459c3 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -79,6 +79,12 @@ ec2_common() { # historical "nvd" driver. echo 'hw.nvme.use_nvd="0"' >> ${DESTDIR}/boot/loader.conf + # Reduce the timeout for PCIe Eject ("hotunplug") requests. PCIe + # mandates a 5 second timeout to allow someone to cancel the eject + # by pressing the "Attention button" a second time, but in the EC2 + # environment this delay serves no purpose. + echo 'hw.pci.pcie_hp_detach_timeout="0"' >> ${DESTDIR}/boot/loader.conf + # Disable KbdInteractiveAuthentication according to EC2 requirements. sed -i '' -e \ 's/^#KbdInteractiveAuthentication yes/KbdInteractiveAuthentication no/' \ From nobody Wed Apr 16 13:41:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2J03gMkz5shX7; Wed, 16 Apr 2025 13:41: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 4Zd2J034LJz3cSl; Wed, 16 Apr 2025 13:41:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744810912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=psN5vFxX9lV2VZpRZAOs4HIq8th43ipr0+VwuVSHtQc=; b=RbSY40GBUv96tSWRDfHCLuw/BhLd+nJe7HRfonYAgkibdqiGGyZ0QVJC/bNhVPtUBhr05d odpMmDjC1sYKHNRxahdf4zSpdi4zanb4rrCkrwP0jRWSY/tYD0NzSXBd5pRpfOuSjxhXr3 0fZ8nKan2qF9wfNz9Ttcw7QrKqMVuQFIuLyJf/Vi24A3NcMdEny6ytnNUcXsrUhacjtaYz A8CZyMRc+mRgCgefi+0mYH9/zMROFsZXm/sbhzKDj89KP56z+goyI3i+jPqogaNiZHQBwk 9RfHjqWEn6qc9DBogg7Eu30DztSVBWrEuY1MCHX3BB1+6qiWXmXvttj2tPlPrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744810912; a=rsa-sha256; cv=none; b=CVsHFG/zO0/qpfLdrezgeHxolobvhAXBP3epi7bHtcsbz/1S+Lc5b4T/z/RDr3vtrsCvyA D9w96MBjh1UqhmhI8Z6abrHJTc2iPKUnAeML8QOVCVWXEszy6P0Yj3EzSog79pIS+cWtSm hcJr3FFTRDa1vNEKms+jfWHe/py3LwB7qmeS+0tbsYjYIdfvqsKFnngpgycDaEw6KYOtl1 93vZ6uPPIxfBY4o4RB+Fzrhis8klEg2lc/5YpaMR5HHG6N26iCX6Zn/NjwWM20uJ3BiBme 1NwTI9txvRqqTcMJewG+7WYiOuqYtxI2mf2A1wHn8OGad0g13ozJ6QwmG7PPnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744810912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=psN5vFxX9lV2VZpRZAOs4HIq8th43ipr0+VwuVSHtQc=; b=TM4kn+8EXard1V2/oXCsZ/GOxdACWYntH2TrFW2DOGnUF9sAYXVOFcGZFn3/cetQnE2QRk 5FrS5w/33Jdk4A0welQ12ZLxtAZw0WDiu3yOQ3i9p/UyAymTaBbGjy1OrwZ+hj5KGMm8gS i3qqR8gK4welgA210VSy+4/CFwWvqC+EzCEcAOFjyCWDlthWrUCoYl1E7cOfr08NB2DUmM ygYLya7kD83qZTmqicRfsYiizU4c9f6SpFwcfN7xpOB4oGalffglSWmA0B0xcoZNk7XGLW oTfHUw+kQcR8yOhFKnOBxE6YOzNYE9AYjMOrMdIHEVSpU7wUC04hE1vPvxnigA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd2J02ZGXz1Kn1; Wed, 16 Apr 2025 13:41: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 53GDfqTY084940; Wed, 16 Apr 2025 13:41:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GDfqfA084937; Wed, 16 Apr 2025 13:41:52 GMT (envelope-from git) Date: Wed, 16 Apr 2025 13:41:52 GMT Message-Id: <202504161341.53GDfqfA084937@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: 5737c2ae06e1 - main - telnet: Prevent buffer overflow in the user prompt for SRA List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 5737c2ae06e143e49496df2ab5a64f76d5456012 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5737c2ae06e143e49496df2ab5a64f76d5456012 commit 5737c2ae06e143e49496df2ab5a64f76d5456012 Author: John Baldwin AuthorDate: 2025-04-16 13:41:03 +0000 Commit: John Baldwin CommitDate: 2025-04-16 13:41:03 +0000 telnet: Prevent buffer overflow in the user prompt for SRA The Secure RPC authenticator for telnet prompts the local user for the username to use for authentication. Previously it was using sprintf() into a buffer of 256 bytes, but the username received over the wire can be up to 255 bytes long which would overflow the prompt buffer. Fix this in two ways: First, use snprintf() and check for overflow. If the prompt buffer overflows, fail authentication without prompting the user. Second, add 10 bytes to the buffer size to account for the overhead of the prompt so that a maximally sized username fits. While here, replace a bare 255 in the subsequent telnet_gets call with an expression using sizeof() the relevant buffer. PR: 270263 Reported by: Robert Morris Tested on: CHERI Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49832 --- contrib/telnet/libtelnet/sra.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/contrib/telnet/libtelnet/sra.c b/contrib/telnet/libtelnet/sra.c index abacda12b495..3531c703a3d0 100644 --- a/contrib/telnet/libtelnet/sra.c +++ b/contrib/telnet/libtelnet/sra.c @@ -241,9 +241,10 @@ bad: void sra_reply(Authenticator *ap, unsigned char *data, int cnt) { - char uprompt[256],tuser[256]; + char uprompt[256 + 10]; /* +10 for "User (): " */ + char tuser[256]; Session_Key skey; - size_t i; + size_t i, len; if (cnt-- < 1) return; @@ -266,8 +267,15 @@ sra_reply(Authenticator *ap, unsigned char *data, int cnt) /* encode user */ memset(tuser,0,sizeof(tuser)); - sprintf(uprompt,"User (%s): ",UserNameRequested); - telnet_gets(uprompt,tuser,255,1); + len = snprintf(uprompt, sizeof(uprompt), "User (%s): ", + UserNameRequested); + if (len >= sizeof(uprompt)) { + if (auth_debug_mode) { + printf("SRA user name too long\r\n"); + } + return; + } + telnet_gets(uprompt, tuser, sizeof(tuser) - 1, 1); if (tuser[0] == '\n' || tuser[0] == '\r' ) strcpy(user,UserNameRequested); else { From nobody Wed Apr 16 13:41:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2J1661Mz5shkL; Wed, 16 Apr 2025 13:41: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 4Zd2J13xdSz3cSp; Wed, 16 Apr 2025 13:41:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744810913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLSn8rGWfP1OBScNCvq3CQq99sCw4FCWSOCEQV9qknI=; b=acdGZ0DCx/BZVvsGd7E4OYGBrWe1Im64h/gPwu0Hm386mgBMddSL2kp5pYOPMN1okFHCfW pyPQofnw1iskwUrkboOHYIjU812gjww3qutmDDDuXLt1mNzHAS5/UUcXrfoUdjF6D3rWMs HW9sVVpDFAGTkcADAwU2PEpCj09t2KS07m1H/oHWXtVNj2stlobHXeEO8kmLY9+WrUjdd1 RkNTMVV1i7GKhsr1ouocOCgIpzxfALgg61kQkMbcC0cyP4m0lR7gM+ZuFMtOf/ppoNkBuN +Mq/74PgR6zO/TiKcGReM0Vuq1bUgwgw1xb+Ooy0A19wXRthxvRiJdqJLOv6nQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744810913; a=rsa-sha256; cv=none; b=hA4AHXdcbB+C1xXbJNxavow5ZTCfLP4rCddRsZ2M4PAqh2uGKlofCist7naeG8SPjGYylL Cs8r9HzttIQl660MHrfaH57SkkXf95Md85mCpaT2TRBXZDjfbI8RixMRU1wEXmXmrHRRkL lFTCcYeme9mXioja76oGXn8DPacd/cv8ywQc87203h5Q1XWHywDTQa+5LcbDB7SWpG6/zT Xc9Y/NNejHtC/hctC1DJG4yWNx3+69B+q5bR25+eaNu+1+lGxmQH3Xh8DHh7t5l0YZMvAV zt6OX9+ni6yUqe8VP6DM13fPYEFXCdAAzrVTwisxlX8ZOF2A0X9837oi5xiJUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744810913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLSn8rGWfP1OBScNCvq3CQq99sCw4FCWSOCEQV9qknI=; b=iHaJ6EZs+jQJqUM147XwpsSlky0UI1VHDMgXAydDJ3xYzJoP8wJUZRdrMGzwtANq3nRcEg JBTwbvzCpoAZ7uke6iOSgDkyNKGn1JuLeh5iN4sHdryMQPI1BnNbQ1axH3aoH98qyF4dXo bKlcPGeIWHmMb51s0+IhpVhm1TUtuIBHsSHQcOSGbqG1/+QEkyzuNOGJ9wPcquEW3eclJW DJJcQ2YJkArhRMLMBmJOTVkTlm5ucpfbbjNG4wI7QodlRZN2gaYQZj4qEH2wEHXDlXuVqE ny/6viJ0ql26Y5cVNg5ySAbrKASuvbrG6gdQztqlGmbFBAGlnBkimWamel+yIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd2J13Wh7z1K7p; Wed, 16 Apr 2025 13:41:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GDfrcY084975; Wed, 16 Apr 2025 13:41:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GDfrYF084972; Wed, 16 Apr 2025 13:41:53 GMT (envelope-from git) Date: Wed, 16 Apr 2025 13:41:53 GMT Message-Id: <202504161341.53GDfrYF084972@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: f1a94c5552a2 - main - bsd.sys.mk: Re-enable warnings for C++11 extensions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: f1a94c5552a2c2880a10cf0b121ae56d1b407f0c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f1a94c5552a2c2880a10cf0b121ae56d1b407f0c commit f1a94c5552a2c2880a10cf0b121ae56d1b407f0c Author: John Baldwin AuthorDate: 2025-04-16 13:41:42 +0000 Commit: John Baldwin CommitDate: 2025-04-16 13:41:42 +0000 bsd.sys.mk: Re-enable warnings for C++11 extensions This should no longer be relevant since the default C++ standard is C++17. Reviewed by: imp, asomers, emaste Differential Revision: https://reviews.freebsd.org/D49787 --- share/mk/bsd.sys.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index b8535809e5aa..2134886abcf5 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -293,12 +293,6 @@ CLANG_OPT_SMALL+= -mllvm -simplifycfg-dup-ret .endif CLANG_OPT_SMALL+= -mllvm -enable-load-pre=false CFLAGS.clang+= -Qunused-arguments -# The libc++ headers use c++11 extensions. These are normally silenced because -# they are treated as system headers, but we explicitly disable that warning -# suppression when building the base system to catch bugs in our headers. -# Eventually we'll want to start building the base system C++ code as C++11, -# but not yet. -CXXFLAGS.clang+= -Wno-c++11-extensions # XXX This should be defaulted to 2 when WITH_SSP is in use after further # testing and soak time. From nobody Wed Apr 16 13:48:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2S96Dvrz5sjSg; Wed, 16 Apr 2025 13:48: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 4Zd2S95XJPz3gSR; Wed, 16 Apr 2025 13:48:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744811337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uX9RGmHw/Idault9TdyNIbcxr7fMLO/0DKISUgJZwPA=; b=nEt+C2MGL3BzWugcXmeG6XhOjK7Lb+WlkVzp0onoscu0RUPI5OdZQwxFCgHgoMf0hjtEan w93wrHazvzfUDkFJ8zR1A7mKAsQnDGqYachYg6ybUWAgnIC6ghILN5Zf/eXXukFX+Pcqwn 0Sowu2w/BfhWFZeTiYEhRbq6BOw2+hnlmqTVxrp8vnfCkpKoXIek+RHQltjbY0VN8Y9u3e 9L2fIIiYHLIogWXC81RWYFlIk98X+XuVv3ArpISZS48NgqB6VzT9hePWY3xDhuPfoV/UXf SFVnnm+SKv5ObUNRgETCKqVEkKnvY0Hxfs9tTnfH0+WBV1sDLNUaBequ2anxmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744811337; a=rsa-sha256; cv=none; b=XpqWJ5ZumCHxeuYreWgy8G3C+AVyKAr7iS4s/AEoUdjwufoCFuw/x80t0zhjLWoh27bQ11 TdGjEHP+wWS7excd6sZYEgoGZVSi1ITofQK2xlcoORkHBSR9FY84TlVGQ6wHmy/QPhKNmA zKlwfpwZoFVooqbx8hrEL9QG2ODyZ8RASlvpQvbD1DfeC+I+epgr4F6OAwaX39FbbGBEPM yipN/93HeUpkOOFmKwGcQ551LGsvBnlB2QqFeuYyoXfQ8H4mvq/BJcI6PuP+VtXLB5aJkw aQ8Q5gweADeJ+r16A8ws6EcXbOQPxYICL/Knq/7n/KIn/i4/FKsqC3yhKkQECg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744811337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uX9RGmHw/Idault9TdyNIbcxr7fMLO/0DKISUgJZwPA=; b=ej4DGNHtIIh/1km3e6Na/1aqJY2Gx4jjtGDvgUU/WD9UJOACsii/pHFoVN6wWI3n6ZWtye DB/N10WhB8eLO2Eg0JG1kvQlqJWEPdP/P6NxH6FXdKWjvVBTujhVBpvR61Rh1A973jSjL5 nfF5HEuSfxVvzEnZt/qotNoC+26szuF4t1MIm5YhoA3a/27M8ybTJ82CwmR0R9lJNrJjQx kwr7XPBWskw1epT70HJk93Stm1Gt27fulCCqc8CgY8VukOtzJU4cGYZ8eatEaUPMplCmeX jUIWaU9nkU3Qn2MCdQ6WVP5nqY2t+IQtSVIx2yvJW8HGRvn4ULF0Ur+4X4zK/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 4Zd2S94mvdz1K5R; Wed, 16 Apr 2025 13:48: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 53GDmvLw088129; Wed, 16 Apr 2025 13:48:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GDmvjR088126; Wed, 16 Apr 2025 13:48:57 GMT (envelope-from git) Date: Wed, 16 Apr 2025 13:48:57 GMT Message-Id: <202504161348.53GDmvjR088126@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 0da181786849 - stable/14 - pfctl: fix recursive printing of NAT rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0da181786849d3af346a3f392e9f28ac6c2ecf96 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0da181786849d3af346a3f392e9f28ac6c2ecf96 commit 0da181786849d3af346a3f392e9f28ac6c2ecf96 Author: Kristof Provost AuthorDate: 2025-04-02 16:04:46 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 07:34:56 +0000 pfctl: fix recursive printing of NAT rules pfctl_show_nat() is called recursively to print nat anchors. This passes the anchor path, but this path was modified by pfctl_show_nat(), leading to issues printing the anchors. Make a copy of the path ('npath') before we modify it. Ensure we do this correctly by sprinking in 'const', and add a test case to verify that we do now print things correctly. Reported by: Thomas Pasqualini MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 58164dcb55d62ca73b5e550b8344bf61e2d8a47a) --- sbin/pfctl/pfctl.c | 29 +++++++++++++------------- tests/sys/netpfil/pf/anchor.sh | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 14 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 5b5bfc636807..dfc473f21566 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -93,12 +93,12 @@ int pfctl_load_hostid(struct pfctl *, u_int32_t); int pfctl_load_reassembly(struct pfctl *, u_int32_t); int pfctl_load_syncookies(struct pfctl *, u_int8_t); int pfctl_get_pool(int, struct pfctl_pool *, u_int32_t, u_int32_t, int, - char *); + const char *); void pfctl_print_eth_rule_counters(struct pfctl_eth_rule *, int); void pfctl_print_rule_counters(struct pfctl_rule *, int); int pfctl_show_eth_rules(int, char *, int, enum pfctl_show, char *, int, int); int pfctl_show_rules(int, char *, int, enum pfctl_show, char *, int, int); -int pfctl_show_nat(int, char *, int, char *, int, int); +int pfctl_show_nat(int, const char *, int, char *, int, int); int pfctl_show_src_nodes(int, int); int pfctl_show_states(int, const char *, int); int pfctl_show_status(int, int); @@ -946,7 +946,7 @@ pfctl_id_kill_states(int dev, const char *iface, int opts) int pfctl_get_pool(int dev, struct pfctl_pool *pool, u_int32_t nr, - u_int32_t ticket, int r_action, char *anchorname) + u_int32_t ticket, int r_action, const char *anchorname) { struct pfioc_pooladdr pp; struct pf_pooladdr *pa; @@ -1398,7 +1398,7 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, } int -pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, +pfctl_show_nat(int dev, const char *path, int opts, char *anchorname, int depth, int wildcard) { struct pfctl_rules_info ri; @@ -1421,16 +1421,17 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, p[0] = '\0'; } + if ((npath = calloc(1, MAXPATHLEN)) == NULL) + errx(1, "pfctl_rules: calloc"); + if (anchorname[0] == '/') { - if ((npath = calloc(1, MAXPATHLEN)) == NULL) - errx(1, "pfctl_rules: calloc"); snprintf(npath, MAXPATHLEN, "%s", anchorname); } else { - if (path[0]) - snprintf(&path[len], MAXPATHLEN - len, "/%s", anchorname); + snprintf(npath, MAXPATHLEN, "%s", path); + if (npath[0]) + snprintf(&npath[len], MAXPATHLEN - len, "/%s", anchorname); else - snprintf(&path[len], MAXPATHLEN - len, "%s", anchorname); - npath = path; + snprintf(&npath[len], MAXPATHLEN - len, "%s", anchorname); } /* @@ -1463,12 +1464,12 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, INDENT(depth, !(opts & PF_OPT_VERBOSE)); printf("}\n"); } - path[len] = '\0'; + npath[len] = '\0'; return (0); } for (i = 0; i < 3; i++) { - ret = pfctl_get_rules_info(dev, &ri, nattype[i], path); + ret = pfctl_get_rules_info(dev, &ri, nattype[i], npath); if (ret != 0) { warn("DIOCGETRULES"); return (-1); @@ -1476,13 +1477,13 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, for (nr = 0; nr < ri.nr; ++nr) { INDENT(depth, !(opts & PF_OPT_VERBOSE)); - if (pfctl_get_rule(dev, nr, ri.ticket, path, + if (pfctl_get_rule(dev, nr, ri.ticket, npath, nattype[i], &rule, anchor_call)) { warn("DIOCGETRULE"); return (-1); } if (pfctl_get_pool(dev, &rule.rpool, nr, - ri.ticket, nattype[i], path) != 0) + ri.ticket, nattype[i], npath) != 0) return (-1); if (dotitle) { diff --git a/tests/sys/netpfil/pf/anchor.sh b/tests/sys/netpfil/pf/anchor.sh index eba1ee935930..da4ef3970d18 100644 --- a/tests/sys/netpfil/pf/anchor.sh +++ b/tests/sys/netpfil/pf/anchor.sh @@ -161,10 +161,56 @@ wildcard_cleanup() pft_cleanup } +atf_test_case "nat" "cleanup" +nat_head() +{ + atf_set descr 'Test nested nat anchors' + atf_set require.user root +} + +nat_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}a + + ifconfig ${epair}b 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "nat-anchor \"foo/*\"" \ + "pass" + + echo "nat log on ${epair}a inet from 192.0.2.0/24 to any port = 53 -> 192.0.2.1" \ + | jexec alcatraz pfctl -a "foo/bar" -g -f - + echo "rdr on ${epair}a proto tcp to port echo -> 127.0.0.1 port echo" \ + | jexec alcatraz pfctl -a "foo/baz" -g -f - + + jexec alcatraz pfctl -sn -a "*" + jexec alcatraz pfctl -sn -a "foo/bar" + jexec alcatraz pfctl -sn -a "foo/baz" + + atf_check -s exit:0 -o match:"nat log on epair0a inet from 192.0.2.0/24 to any port = domain -> 192.0.2.1" \ + jexec alcatraz pfctl -sn -a "*" + atf_check -s exit:0 -o match:"rdr on epair0a inet proto tcp from any to any port = echo -> 127.0.0.1 port 7" \ + jexec alcatraz pfctl -sn -a "*" +} + +nat_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "pr183198" atf_add_test_case "pr279225" atf_add_test_case "nested_anchor" atf_add_test_case "wildcard" + atf_add_test_case "nat" } From nobody Wed Apr 16 13:48:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2SB67ZDz5sjbH; Wed, 16 Apr 2025 13:48: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 4Zd2SB4DVmz3gcH; Wed, 16 Apr 2025 13:48:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744811338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMz0hTFDgLquVOvkM0ZjMqhk+C7atUC5p3EoJ/tXdIY=; b=thI9uvxfSGLTElTfoKtIHuOFSQckmYjmvRQb9yVDlWYRUSDhvYpJHaEjncTSmmaYC0CjR2 rLN3R2h2cuGkGGV3Yjcw9CjmV+AaIv7vqcOV8EH3q9q5+fq9Z9L9vwJkm25mnYNBE8PXBR ti9sdHlo3bKoP6cQpHWkozZGMdomM8w37ZSDW8nlOwblMMv3wmzUkqDngLAQflL77XijlU Fq+Co9EmZmF+1mebM58Et4XLgONSp7S75lbgiLpKfRaFLUSg+O4IiECJJlFssnwNoAcgUh XN6wClh/AtXjc2q1/Hr/FXWr8f/h7rTVPZUAn8/0YoMr63QuOY7TswTTDTYgKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744811338; a=rsa-sha256; cv=none; b=k0/V96SHQ8PfbxqZDMSKocSmRf5FI7q7yCqqu970/9cZDCSgILolP+wJKTTcFxf+Yc5AES XKZw0cjwGS+ngR3wgEeQwk4SEfIU1roqekaR2dkR1weNjFuyNT6xiBHJHQ5nEj8X3jy40c NDo2DqBwe6gm4bAC4U2VcC+vJsev8eZUePF/NDHAKe0DCUUWWR4/shMHJwHJbq3ZkquouG 6McGq8NbUPbVUXLQ5RCqwxnQND74md/m762n/eivFLG3H9gYkpS6q+OOcMi7YSzlymIP/f VjlSnqB5A21s72Xpms+jKEhHErK6z2fU7b3CJdGtTxtLWhVGDGYWC1DbTLMRBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744811338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMz0hTFDgLquVOvkM0ZjMqhk+C7atUC5p3EoJ/tXdIY=; b=db8CV0qH8Fp9qYzTEnR69zLWMWn5efV56iRMoOE/1LRkZYm3s0EWneBqU2NioHMtx3PoNj TOtYhPaypiqDeGpi7Esuw2uheOpQWkJ5hd3BHEvFRcMGTPFobgzvaiouoph8O8/eIwFhPZ PMueVu1m2K9HaFOvHAYJ64BwsUtqIr/VRenkqHeguX+azi7aAeFIG7NUoCzEEbTuGJbJpc LbN+Nhf0dDn7oU8rZG38Pbe7Uj8grjJuBfZVtCvqcqvn6yLLOGvQ1q/qjVZR05zMGSxuuq dahd5ep1jRJhPMMxBuUE5UKlnhcWCXGWuuFUPnX12LQ2fYrk4mcR5gVNpF3LuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd2SB3r7Fz1K81; Wed, 16 Apr 2025 13:48:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GDmwCt088223; Wed, 16 Apr 2025 13:48:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GDmwcS088220; Wed, 16 Apr 2025 13:48:58 GMT (envelope-from git) Date: Wed, 16 Apr 2025 13:48:58 GMT Message-Id: <202504161348.53GDmwcS088220@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 9edd1e62ca11 - stable/13 - pfctl: fix recursive printing of NAT rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9edd1e62ca11e2d15bc31db4901da8d2ec44c5d3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9edd1e62ca11e2d15bc31db4901da8d2ec44c5d3 commit 9edd1e62ca11e2d15bc31db4901da8d2ec44c5d3 Author: Kristof Provost AuthorDate: 2025-04-02 16:04:46 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 07:35:42 +0000 pfctl: fix recursive printing of NAT rules pfctl_show_nat() is called recursively to print nat anchors. This passes the anchor path, but this path was modified by pfctl_show_nat(), leading to issues printing the anchors. Make a copy of the path ('npath') before we modify it. Ensure we do this correctly by sprinking in 'const', and add a test case to verify that we do now print things correctly. Reported by: Thomas Pasqualini MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 58164dcb55d62ca73b5e550b8344bf61e2d8a47a) --- sbin/pfctl/pfctl.c | 29 +++++++++++++------------- tests/sys/netpfil/pf/anchor.sh | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 14 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 8399051048b8..b7d5bf9f2819 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -93,10 +93,10 @@ int pfctl_load_logif(struct pfctl *, char *); int pfctl_load_hostid(struct pfctl *, u_int32_t); int pfctl_load_syncookies(struct pfctl *, u_int8_t); int pfctl_get_pool(int, struct pfctl_pool *, u_int32_t, u_int32_t, int, - char *); + const char *); void pfctl_print_rule_counters(struct pfctl_rule *, int); int pfctl_show_rules(int, char *, int, enum pfctl_show, char *, int, int); -int pfctl_show_nat(int, char *, int, char *, int, int); +int pfctl_show_nat(int, const char *, int, char *, int, int); int pfctl_show_src_nodes(int, int); int pfctl_show_states(int, const char *, int); int pfctl_show_status(int, int); @@ -920,7 +920,7 @@ pfctl_id_kill_states(int dev, const char *iface, int opts) int pfctl_get_pool(int dev, struct pfctl_pool *pool, u_int32_t nr, - u_int32_t ticket, int r_action, char *anchorname) + u_int32_t ticket, int r_action, const char *anchorname) { struct pfioc_pooladdr pp; struct pf_pooladdr *pa; @@ -1220,7 +1220,7 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, } int -pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, +pfctl_show_nat(int dev, const char *path, int opts, char *anchorname, int depth, int wildcard) { struct pfctl_rules_info ri; @@ -1243,16 +1243,17 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, p[0] = '\0'; } + if ((npath = calloc(1, MAXPATHLEN)) == NULL) + errx(1, "pfctl_rules: calloc"); + if (anchorname[0] == '/') { - if ((npath = calloc(1, MAXPATHLEN)) == NULL) - errx(1, "pfctl_rules: calloc"); snprintf(npath, MAXPATHLEN, "%s", anchorname); } else { - if (path[0]) - snprintf(&path[len], MAXPATHLEN - len, "/%s", anchorname); + snprintf(npath, MAXPATHLEN, "%s", path); + if (npath[0]) + snprintf(&npath[len], MAXPATHLEN - len, "/%s", anchorname); else - snprintf(&path[len], MAXPATHLEN - len, "%s", anchorname); - npath = path; + snprintf(&npath[len], MAXPATHLEN - len, "%s", anchorname); } /* @@ -1285,12 +1286,12 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, INDENT(depth, !(opts & PF_OPT_VERBOSE)); printf("}\n"); } - path[len] = '\0'; + npath[len] = '\0'; return (0); } for (i = 0; i < 3; i++) { - ret = pfctl_get_rules_info(dev, &ri, nattype[i], path); + ret = pfctl_get_rules_info(dev, &ri, nattype[i], npath); if (ret != 0) { warn("DIOCGETRULES"); return (-1); @@ -1298,13 +1299,13 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth, for (nr = 0; nr < ri.nr; ++nr) { INDENT(depth, !(opts & PF_OPT_VERBOSE)); - if (pfctl_get_rule(dev, nr, ri.ticket, path, + if (pfctl_get_rule(dev, nr, ri.ticket, npath, nattype[i], &rule, anchor_call)) { warn("DIOCGETRULE"); return (-1); } if (pfctl_get_pool(dev, &rule.rpool, nr, - ri.ticket, nattype[i], path) != 0) + ri.ticket, nattype[i], npath) != 0) return (-1); if (dotitle) { diff --git a/tests/sys/netpfil/pf/anchor.sh b/tests/sys/netpfil/pf/anchor.sh index eba1ee935930..da4ef3970d18 100644 --- a/tests/sys/netpfil/pf/anchor.sh +++ b/tests/sys/netpfil/pf/anchor.sh @@ -161,10 +161,56 @@ wildcard_cleanup() pft_cleanup } +atf_test_case "nat" "cleanup" +nat_head() +{ + atf_set descr 'Test nested nat anchors' + atf_set require.user root +} + +nat_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}a + + ifconfig ${epair}b 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "nat-anchor \"foo/*\"" \ + "pass" + + echo "nat log on ${epair}a inet from 192.0.2.0/24 to any port = 53 -> 192.0.2.1" \ + | jexec alcatraz pfctl -a "foo/bar" -g -f - + echo "rdr on ${epair}a proto tcp to port echo -> 127.0.0.1 port echo" \ + | jexec alcatraz pfctl -a "foo/baz" -g -f - + + jexec alcatraz pfctl -sn -a "*" + jexec alcatraz pfctl -sn -a "foo/bar" + jexec alcatraz pfctl -sn -a "foo/baz" + + atf_check -s exit:0 -o match:"nat log on epair0a inet from 192.0.2.0/24 to any port = domain -> 192.0.2.1" \ + jexec alcatraz pfctl -sn -a "*" + atf_check -s exit:0 -o match:"rdr on epair0a inet proto tcp from any to any port = echo -> 127.0.0.1 port 7" \ + jexec alcatraz pfctl -sn -a "*" +} + +nat_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "pr183198" atf_add_test_case "pr279225" atf_add_test_case "nested_anchor" atf_add_test_case "wildcard" + atf_add_test_case "nat" } From nobody Wed Apr 16 14:12:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2yn36w9z5skhZ; Wed, 16 Apr 2025 14:12: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 4Zd2yn2Z18z3rN3; Wed, 16 Apr 2025 14:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744812721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ddqBlpsAqrxr6FdAh7xgQfsBiZXux/BVQF11lDS9VE0=; b=gsDkUJBb0oKa6nE8RM1N2z3rKI5S6Ob18HOTY30xhX/6wVPKdL4aqZOVkiuvMSI4FmI/5Z pghEhsX5ON3wNwOFHhVlauZqyZlQlJlxugeUaPK4IcY/HZ8/Lz0MuSGALEbDJ55OQ/+h+V 1ti52Fuqaa+nHZVPr0brucDPnC/vgWttNrrPYf0ndVVT6cdxnpwbszzjayHSy72mfl3GaT 3I4OpMJKISzJQmh1iPAqIG+SbUd3uBJ+07aSI5tsESAKkxLJDUnWJQYkIVhS0kBuM+oZyz TCqqrEtkLEkg5kVazgPNob4dOfZKLmQxNHrIfzy9JCRSQ3k3FWOITJQWZjG4sA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744812721; a=rsa-sha256; cv=none; b=TPV8ZD1XgskFvd1mz5Q4oZgfQcLiGigffMHrBosD5AVhxOaOzcup8JS4of5g6HP+jo5DcC TZRiAROzHAjH9s1PToS9i4DtRYUDL6g/4S7GvNozjId9fHvsZ4M8dYyoQ+CVr+MuIoEEUA 7w01WKW4ADJbJNvS83w8yEiA41qFqXFMNA/NkJS0NhFuV+WIyYEJ1uTc5KSobnhYkiHg60 8eVZZUNTBluA8tfTLSziuo0YA6erpP1xA0hU1gqiu6USJeHDkec+ZfgVUh/AEPQxumNCBo IClqCOrBzw1n5rP4d/RAnRaScGH4GZFWPa98R21N2c8Fv3T8IjrSXAp8lOE47Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744812721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ddqBlpsAqrxr6FdAh7xgQfsBiZXux/BVQF11lDS9VE0=; b=HwEKBi0IFoSniaJHCwrrRpGvuvZuiDDaBET4CV7/gi3MGEkAr+79QM+vim3rcQjUrHn0R/ moOs7su2TUppjOmwL/ZUKKkxt/HSj/1axkaPV92QtzsWNyw556aHACUg+xwmjscyotoW70 ISwrHUzMLv8qT2bYoyCoPMBEa2UUHx75HkSXVAVh6ORfQV+Y836hv0r0wpqxDIATzR3h+o xbbnN9J3lImYMSUvofCsS0erTuUNGizV4sERI5uXJOJCT1FLrlFXm231h1vZzmh7WO1S6p V30m4tJsB8OQJALlDOwn/ZdrqiVx12KWXxNODEe5NtewQInSh59oO2PBgsSuTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd2yn1x7Tz1LF3; Wed, 16 Apr 2025 14:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GEC1M9043453; Wed, 16 Apr 2025 14:12:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GEC1QZ043450; Wed, 16 Apr 2025 14:12:01 GMT (envelope-from git) Date: Wed, 16 Apr 2025 14:12:01 GMT Message-Id: <202504161412.53GEC1QZ043450@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: 25f2634a1f4b - main - lutok: Switch from std::auto_ptr<> to std::unique_ptr<> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 25f2634a1f4b27c9804b705e85bc104a2eac67b9 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=25f2634a1f4b27c9804b705e85bc104a2eac67b9 commit 25f2634a1f4b27c9804b705e85bc104a2eac67b9 Author: John Baldwin AuthorDate: 2025-04-16 14:09:18 +0000 Commit: John Baldwin CommitDate: 2025-04-16 14:09:18 +0000 lutok: Switch from std::auto_ptr<> to std::unique_ptr<> This mirrors upstream commit bd5904144c9778a07685f3e4efa6ef011a5480ec. Reviewed by: igoro, imp, emaste Differential Revision: https://reviews.freebsd.org/D49788 --- contrib/lutok/stack_cleaner.hpp | 2 +- lib/liblutok/Makefile | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/contrib/lutok/stack_cleaner.hpp b/contrib/lutok/stack_cleaner.hpp index cd3e1468656f..3e3a8edc3b6f 100644 --- a/contrib/lutok/stack_cleaner.hpp +++ b/contrib/lutok/stack_cleaner.hpp @@ -72,7 +72,7 @@ class stack_cleaner { struct impl; /// Pointer to the shared internal implementation. - std::auto_ptr< impl > _pimpl; + std::unique_ptr< impl > _pimpl; /// Disallow copies. stack_cleaner(const stack_cleaner&); diff --git a/lib/liblutok/Makefile b/lib/liblutok/Makefile index abb6ecd13ad4..08737afbb61a 100644 --- a/lib/liblutok/Makefile +++ b/lib/liblutok/Makefile @@ -18,8 +18,4 @@ CFLAGS+= -I${SRCTOP}/contrib/lutok/include \ WARNS?= 3 SHLIB_MAJOR= 0 -# lutok uses auto_ptr -CFLAGS+= -Wno-deprecated-declarations -CXXSTD= c++11 - .include From nobody Wed Apr 16 14:12:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd2yp6bZVz5skWC; Wed, 16 Apr 2025 14:12: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 4Zd2yp3ZBjz3rN5; Wed, 16 Apr 2025 14:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744812722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXbIKY7260mNHQ3Pa3RvvMN5bF6v2rLVg9rxqKG5Kaw=; b=pKhz4WIwSklNTyWhBuJwx5ABXC+ITJN3tH4TZr+PMAldGlmJFv1oWV94BzTvDasMkzHb+l fKtwV5hTc8zudxram0I1EjAAr0idmFOgcF1HjlAjpTkDr61cGg8+6i+MLvEQXe/lWG9NXa FGNE7sC6jy1I/okNv8Y41YjcdUUUE/slGiWPyB2U8QDfAs3drJviUKhn/ZUum21mXbHUbK sqvher/9Zlst6rC1gON7Vfz9yURsDBojH90NvviiK1rnhxHxpptx2xLMRULLLLWEnVugT+ B6bAdiM9rrmbbc0ajuoFb9UEmwTaLCy/8MnlS0cN6T++30KDPr5uULREI9UbMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744812722; a=rsa-sha256; cv=none; b=g5x73QvygII1w56FqucFeBf1iFsKYdawTDTqsM/pTg+tLjVWsiCCA8nMQOb9hsHpbckVIV yr09Wa/XD2X4c1UormHmunsgehajCEpiAMPiZyfoWt0Fx3DpYbu30px0i9NHFB8BFhCFVs /VvJgqgR4F5KJNC6//4Ktz9bXAm2zsqk76P7VR08dEDmXCzQGMfMpOQIx5jtui5RpHPcFm 06fWjf01STYU7sY/fVF9pExHxBDXIbtSsk0wqTwrn/ySw0T9zPZUomzEqb5KWOfM86bEnT ViF+78aQ5eWyKdL9w+ilNRZlphvSxaaTA8k8D1BYWGgdWkSC4j0cG/+x0wTJeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744812722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXbIKY7260mNHQ3Pa3RvvMN5bF6v2rLVg9rxqKG5Kaw=; b=e0Pd1Rxh7wxuGFgLJgcK+9Lvaay5TsZ7qTdmVNAy+n2E6LrOipVPphZ6F6CI62RAb+/0ZY +O8RFCpHpPaWIuE+s61Ltk3h/6a8/SQ0+OOhk7E4E+qS1vj+EgJOfoLf21M2Sr1bRXL+wf 8Km6vaczqhrplzJAk4t+2xkudXZ/BLbY4JCquG4LOCUJ3uJ23VLJApW2HCG9PceZtLXqbZ RmaZ3V0661m94sSTNw4BYXCiFoa8Eb6NwasaxhYngucLwWacWHqEE2psUlhCerQLTim6cl 1q0iruXN8Slw4AYzu6NouFLPrmkXxaYZAfsE0JhNFmd/YXJX5iBtNeQNoigipA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd2yp39dFz1LKg; Wed, 16 Apr 2025 14:12: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 53GEC2iC043487; Wed, 16 Apr 2025 14:12:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GEC27S043484; Wed, 16 Apr 2025 14:12:02 GMT (envelope-from git) Date: Wed, 16 Apr 2025 14:12:02 GMT Message-Id: <202504161412.53GEC27S043484@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: 5e6befdaca51 - main - atf: Switch from std::auto_ptr<> to std::unique_ptr<> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 5e6befdaca5194a8fb91b48d5f678942f22fa8f1 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5e6befdaca5194a8fb91b48d5f678942f22fa8f1 commit 5e6befdaca5194a8fb91b48d5f678942f22fa8f1 Author: John Baldwin AuthorDate: 2025-04-16 14:10:35 +0000 Commit: John Baldwin CommitDate: 2025-04-16 14:10:35 +0000 atf: Switch from std::auto_ptr<> to std::unique_ptr<> This mirrors upstream commit f053ab687f6e27aa264f599ecbfc5ef27ad4e2d3. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49789 --- contrib/atf/atf-c++/check.cpp | 4 ++-- contrib/atf/atf-c++/check.hpp | 4 ++-- contrib/atf/atf-c++/check_test.cpp | 22 +++++++++++----------- contrib/atf/atf-c++/detail/process_test.cpp | 8 ++++---- contrib/atf/atf-sh/atf-check.cpp | 8 ++++---- lib/atf/Makefile.inc | 3 --- lib/atf/libatf-c++/Makefile | 3 --- libexec/atf/atf-check/Makefile | 4 ---- libexec/atf/atf-sh/Makefile | 3 --- share/mk/atf.test.mk | 2 -- 10 files changed, 23 insertions(+), 38 deletions(-) diff --git a/contrib/atf/atf-c++/check.cpp b/contrib/atf/atf-c++/check.cpp index e4d7db4d49a6..5d8580023a15 100644 --- a/contrib/atf/atf-c++/check.cpp +++ b/contrib/atf/atf-c++/check.cpp @@ -141,7 +141,7 @@ impl::build_cxx_o(const std::string& sfile, const std::string& ofile, return success; } -std::auto_ptr< impl::check_result > +std::unique_ptr< impl::check_result > impl::exec(const atf::process::argv_array& argva) { atf_check_result_t result; @@ -150,5 +150,5 @@ impl::exec(const atf::process::argv_array& argva) if (atf_is_error(err)) throw_atf_error(err); - return std::auto_ptr< impl::check_result >(new impl::check_result(&result)); + return std::unique_ptr< impl::check_result >(new impl::check_result(&result)); } diff --git a/contrib/atf/atf-c++/check.hpp b/contrib/atf/atf-c++/check.hpp index 0144dedb2841..4d7f079d1ac1 100644 --- a/contrib/atf/atf-c++/check.hpp +++ b/contrib/atf/atf-c++/check.hpp @@ -71,7 +71,7 @@ class check_result { check_result(const atf_check_result_t* result); friend check_result test_constructor(const char* const*); - friend std::auto_ptr< check_result > exec(const atf::process::argv_array&); + friend std::unique_ptr< check_result > exec(const atf::process::argv_array&); public: //! @@ -120,7 +120,7 @@ bool build_cpp(const std::string&, const std::string&, const atf::process::argv_array&); bool build_cxx_o(const std::string&, const std::string&, const atf::process::argv_array&); -std::auto_ptr< check_result > exec(const atf::process::argv_array&); +std::unique_ptr< check_result > exec(const atf::process::argv_array&); // Useful for testing only. check_result test_constructor(void); diff --git a/contrib/atf/atf-c++/check_test.cpp b/contrib/atf/atf-c++/check_test.cpp index 7baf3fa19692..ecb5a9380e8f 100644 --- a/contrib/atf/atf-c++/check_test.cpp +++ b/contrib/atf/atf-c++/check_test.cpp @@ -52,7 +52,7 @@ extern "C" { // ------------------------------------------------------------------------ static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > do_exec(const atf::tests::tc* tc, const char* helper_name) { std::vector< std::string > argv; @@ -65,7 +65,7 @@ do_exec(const atf::tests::tc* tc, const char* helper_name) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > do_exec(const atf::tests::tc* tc, const char* helper_name, const char *carg2) { std::vector< std::string > argv; @@ -248,11 +248,11 @@ ATF_TEST_CASE_HEAD(exec_cleanup) } ATF_TEST_CASE_BODY(exec_cleanup) { - std::auto_ptr< atf::fs::path > out; - std::auto_ptr< atf::fs::path > err; + std::unique_ptr< atf::fs::path > out; + std::unique_ptr< atf::fs::path > err; { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-success"); out.reset(new atf::fs::path(r->stdout_path())); err.reset(new atf::fs::path(r->stderr_path())); @@ -272,7 +272,7 @@ ATF_TEST_CASE_HEAD(exec_exitstatus) ATF_TEST_CASE_BODY(exec_exitstatus) { { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-success"); ATF_REQUIRE(r->exited()); ATF_REQUIRE(!r->signaled()); @@ -280,7 +280,7 @@ ATF_TEST_CASE_BODY(exec_exitstatus) } { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-failure"); ATF_REQUIRE(r->exited()); ATF_REQUIRE(!r->signaled()); @@ -288,7 +288,7 @@ ATF_TEST_CASE_BODY(exec_exitstatus) } { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-signal"); ATF_REQUIRE(!r->exited()); ATF_REQUIRE(r->signaled()); @@ -321,12 +321,12 @@ ATF_TEST_CASE_HEAD(exec_stdout_stderr) } ATF_TEST_CASE_BODY(exec_stdout_stderr) { - std::auto_ptr< atf::check::check_result > r1 = + std::unique_ptr< atf::check::check_result > r1 = do_exec(this, "stdout-stderr", "result1"); ATF_REQUIRE(r1->exited()); ATF_REQUIRE_EQ(r1->exitcode(), EXIT_SUCCESS); - std::auto_ptr< atf::check::check_result > r2 = + std::unique_ptr< atf::check::check_result > r2 = do_exec(this, "stdout-stderr", "result2"); ATF_REQUIRE(r2->exited()); ATF_REQUIRE_EQ(r2->exitcode(), EXIT_SUCCESS); @@ -372,7 +372,7 @@ ATF_TEST_CASE_BODY(exec_unknown) argv.push_back("/foo/bar/non-existent"); atf::process::argv_array argva(argv); - std::auto_ptr< atf::check::check_result > r = atf::check::exec(argva); + std::unique_ptr< atf::check::check_result > r = atf::check::exec(argva); ATF_REQUIRE(r->exited()); ATF_REQUIRE_EQ(r->exitcode(), 127); } diff --git a/contrib/atf/atf-c++/detail/process_test.cpp b/contrib/atf/atf-c++/detail/process_test.cpp index 0686d2a1911c..97f9a08e2504 100644 --- a/contrib/atf/atf-c++/detail/process_test.cpp +++ b/contrib/atf/atf-c++/detail/process_test.cpp @@ -196,8 +196,8 @@ ATF_TEST_CASE_BODY(argv_array_assign) const char* const carray1[] = { "arg1", NULL }; const char* const carray2[] = { "arg1", "arg2", NULL }; - std::auto_ptr< argv_array > argv1(new argv_array(carray1)); - std::auto_ptr< argv_array > argv2(new argv_array(carray2)); + std::unique_ptr< argv_array > argv1(new argv_array(carray1)); + std::unique_ptr< argv_array > argv2(new argv_array(carray2)); *argv2 = *argv1; ATF_REQUIRE_EQ(argv2->size(), argv1->size()); @@ -226,8 +226,8 @@ ATF_TEST_CASE_BODY(argv_array_copy) const char* const carray[] = { "arg0", NULL }; - std::auto_ptr< argv_array > argv1(new argv_array(carray)); - std::auto_ptr< argv_array > argv2(new argv_array(*argv1)); + std::unique_ptr< argv_array > argv1(new argv_array(carray)); + std::unique_ptr< argv_array > argv2(new argv_array(*argv1)); ATF_REQUIRE_EQ(argv2->size(), argv1->size()); ATF_REQUIRE(std::strcmp((*argv2)[0], (*argv1)[0]) == 0); diff --git a/contrib/atf/atf-sh/atf-check.cpp b/contrib/atf/atf-sh/atf-check.cpp index 4cb1e33a005a..911e004432f3 100644 --- a/contrib/atf/atf-sh/atf-check.cpp +++ b/contrib/atf/atf-sh/atf-check.cpp @@ -108,7 +108,7 @@ struct output_check { }; class temp_file : public std::ostream { - std::auto_ptr< atf::fs::path > m_path; + std::unique_ptr< atf::fs::path > m_path; int m_fd; public: @@ -414,7 +414,7 @@ flatten_argv(char* const* argv) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > execute(const char* const* argv) { // TODO: This should go to stderr... but fixing it now may be hard as test @@ -430,7 +430,7 @@ execute(const char* const* argv) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > execute_with_shell(char* const* argv) { const std::string cmd = flatten_argv(argv); @@ -916,7 +916,7 @@ atf_check::main(void) m_stderr_checks.push_back(output_check(oc_empty, false, "")); do { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = m_xflag ? execute_with_shell(m_argv) : execute(m_argv); if ((run_status_checks(m_status_checks, *r) == false) || diff --git a/lib/atf/Makefile.inc b/lib/atf/Makefile.inc index c776c2f8f84e..f8f329842eb4 100644 --- a/lib/atf/Makefile.inc +++ b/lib/atf/Makefile.inc @@ -27,6 +27,3 @@ CFLAGS+= -DHAVE_CONFIG_H WARNS?= 3 - -# Permit use of auto_ptr for compilers defaulting to C++17 or later -CXXSTD= c++11 diff --git a/lib/atf/libatf-c++/Makefile b/lib/atf/libatf-c++/Makefile index 221a16657c2a..985a79b7dc03 100644 --- a/lib/atf/libatf-c++/Makefile +++ b/lib/atf/libatf-c++/Makefile @@ -48,9 +48,6 @@ CFLAGS+= -I. CFLAGS+= -DHAVE_CONFIG_H -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations - SRCS= application.cpp \ build.cpp \ check.cpp \ diff --git a/libexec/atf/atf-check/Makefile b/libexec/atf/atf-check/Makefile index e1ccdce95ec8..87d7a7cfdada 100644 --- a/libexec/atf/atf-check/Makefile +++ b/libexec/atf/atf-check/Makefile @@ -38,10 +38,6 @@ MAN= atf-check.1 CFLAGS+= -I${ATF} CFLAGS+= -DATF_SHELL='"/bin/sh"' -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations -CXXSTD= c++11 - LIBADD= atf_cxx HAS_TESTS= diff --git a/libexec/atf/atf-sh/Makefile b/libexec/atf/atf-sh/Makefile index 3c06afa446c4..ba949fd3072e 100644 --- a/libexec/atf/atf-sh/Makefile +++ b/libexec/atf/atf-sh/Makefile @@ -65,9 +65,6 @@ CFLAGS+= -DATF_PKGDATADIR='"${SHAREDIR}/atf"' CFLAGS+= -DATF_SHELL='"/bin/sh"' CFLAGS+= -I${ATF} -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations - LIBADD= atf_cxx FILESGROUPS= SUBR diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk index f7696641ffb0..16dc836f5141 100644 --- a/share/mk/atf.test.mk +++ b/share/mk/atf.test.mk @@ -55,8 +55,6 @@ LDADD.${_T}+= ${LIBATF_CXX} ${LIBATF_C} .endif TEST_INTERFACE.${_T}= atf .endfor -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations .endif .if !empty(ATF_TESTS_SH) From nobody Wed Apr 16 14:21:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd3B66XnHz5sktQ; Wed, 16 Apr 2025 14:21: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 4Zd3B65hq4z3vrN; Wed, 16 Apr 2025 14:21:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744813310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CuThrRVImH41MkBIMjeGq9EPnbLlKjEXThhjynMNYV4=; b=agLiuCRizX3lQ1NEzkoDoybkodeZrUISL7rv0UDY1gs39/wirNAsO1r0s2FtHsvm3CHD0p oh5J2LXLVyaKYBB+zY0H7zpFZUM8oYkoC09+fXdzR8G8utpc7mN3o7SNkDTzcwa+nORlyK /DE1oxydsEz9gXJ8m2wGHZVnHbwDQAOr8Lw2Ie7/mCNwtno1GxtAliyBvu0dTzir2AekSs dNBMOwmyfYzHxIxv0M8MKn+wW90hpmluwsYlt5nCqFv2WfoKL1/Y5BeM8sxWFq5erdWbnZ fg5ydX1pj4FjOJhftz5M8akrUcbywwJbinp8t/eZ8pdEcIdIA3MzzNFlDwnxnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744813310; a=rsa-sha256; cv=none; b=DQGhn09HzJLpW0GSTeRMZy9Ga2i7Ns55IrD5alI3Rz3bxix5vvL3yKp/s5WcksbEK+YfL0 9gJt04ZfH75gxgkgyVIj49CjpU8JSFgynkryz5PVliSQuVYqj186ZCRWe08DsinE51KOq+ OCo4xJZ/rTtSz/wslHBXA4hQkLkWnzSNPx8HiRFSyMOc7AzakPcz7inIpsVi3NyHmkcUpD JNySCSLr3iqC78q351mQn5zReZghitxR6+/1Tv26RoN9yqq0vEKBD8VsbtQxzd25A6fXcq bM+C9OXp+N55mjypUmp+qd+WronNvQqazTh8/VTgvG3zY8OQcSBYUqcmbrBt2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744813310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CuThrRVImH41MkBIMjeGq9EPnbLlKjEXThhjynMNYV4=; b=FSPlHJ8CWe6WAdoPKXl4PW3AY2z2Yq6cusxqPSk3meHwHK0rlJHLa1L80hn6TabQggIOGA V185XE6bQmzibrPbk8qw5gHyrRZ3Z7UmXFWHJrneZ37zDjbLtCx+af38/RKk8kcpcf7qLH k3H2Pt1EZkw9Gbbtj3zJZDrmccm24EX91QO1J4nCPOFWAF47Lto0WJ1Va+OiF3/mWp3xi6 ahqKCVOZzwDHoK8FMUl1Yjahm9Pemxizo6mK32kDRXpTR8CN6IxkZysF0zDKbZbQKnHOfq S1m50eSss/U3Kqqt7DeLq+dZTGdUspSogdvQOIAciuu6RcFgzz9yA0Ma40U5iA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd3B65G0dz1LJF; Wed, 16 Apr 2025 14:21: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 53GELo0H059551; Wed, 16 Apr 2025 14:21:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GELoRh059548; Wed, 16 Apr 2025 14:21:50 GMT (envelope-from git) Date: Wed, 16 Apr 2025 14:21:50 GMT Message-Id: <202504161421.53GELoRh059548@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 20e6354fe783 - main - git-arc.1: Clarify argument format for group reviewers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20e6354fe78328494176427aa4fc49357d433460 Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=20e6354fe78328494176427aa4fc49357d433460 commit 20e6354fe78328494176427aa4fc49357d433460 Author: Bojan Novković AuthorDate: 2025-04-08 17:23:15 +0000 Commit: Bojan Novković CommitDate: 2025-04-16 14:18:34 +0000 git-arc.1: Clarify argument format for group reviewers Note that '-r' expects a hashtag instead of a group name. Reviewed by: markj, ziaee Differential Revision: https://reviews.freebsd.org/D49714 --- tools/tools/git/git-arc.1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/tools/git/git-arc.1 b/tools/tools/git/git-arc.1 index 1f1bc2fca130..a056a2223e0e 100644 --- a/tools/tools/git/git-arc.1 +++ b/tools/tools/git/git-arc.1 @@ -83,6 +83,8 @@ and wait for confirmation. .It Fl r Ar reviewer Add one or more reviewers, separated by commas, to revision(s) being created. Each argument must be an existing Phabricator user or group. +Note that group reviewers must be specified using their +hashtag (e.g. #jails for the "Jails" group). .It Fl s Ar subscriber Add one or more subscribers, separated by commas, to revision(s) being created. Each argument must be an existing Phabricator user or group. From nobody Wed Apr 16 14:21:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd3B82fxRz5slCB; Wed, 16 Apr 2025 14:21:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zd3B76vXrz3vrR; Wed, 16 Apr 2025 14:21:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744813312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3yidWfObfzyMzUF3GQz4s+R31SSA3wyKXVIH1AQctEI=; b=hwsd+oryyyZXjcAdxXYZVgMib5PPBkWDetVPce+jxeoXtxewCSF0AWotOmMWeEgZaisKTt +OQL3yb1BIWaLI7Bq9iQzKO1j9H7Z0fy/amP4p5Fz1fkKJV6PKb2E1kh9ZWyG81PwiB5QI 9z7qCG+ykXds5WJ5q8/BEaikHmZa64L9HHjmvbloiGhQv9OTFNw0ixDHkG3xgaEa3vVYDE KIS0pUubEUiEWPbP3n4PAK4h3u+U/riM3JOPG6wSXYVZXejF1/cca02JGuy28ObZd0w94m JDvvSZbnBRlfw9c9xxBR3c7jYJNGxSjnbewHu4OBgyU4OS9B9Ys+TUuDhtFNFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744813312; a=rsa-sha256; cv=none; b=Ad7hYn9wobF8h1UJpIPgduGib7ka0mAK2R4H9mcfz3jPyhEnEG0WS3+balysg50vR0Y2Ct /Xr5dw79nuPHCNL5gwW6lOEOKbwr+lNlAetIgZiTiSRP22tgSD+U9UVbQoxfSuL05iwCUF NfTn8oh3fTWOBJoIe5arFH6+MWoQguEHQLeaIoX35EIpNb+0fLk4Ay0PdMIxUHlY3mI3Pf yVHviZPbfO421jPqGKsWnHNnXpWjO9Dx/IXFBymWDt7UEaekP+PirtD9hC988tu2JeZ1dF kp3ftfw5VaQrXuuksucFN5p3BgVqBm75HUVkgJFj4xgKIJGkaV9eeX95IoA40A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744813312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3yidWfObfzyMzUF3GQz4s+R31SSA3wyKXVIH1AQctEI=; b=uDMFXf7rQQFcjfeBUXZ5E7OF7Ar2mw8HMaxtrGn1i3SMB5czfhO33PfCUauBoB8li2aWiL mLLwfVxW48TD4BhCkmlZBp9Z6SiSAWNr9SHS8TTrw5xHILAvR5opKRRnVTCr22Fr5Um/J5 pPT26c8foEee8Iyj60VJg83jOWfuIYTEU2LYNemEHrvGwanHDrwFe5gN/0qgdNKfWPiz5x h+KrXbCJmzsehTJbNfAFDv/6U+Bh+JGVPb8xycCnmRAVp/n2BU3c0Kxjx9O5UkYnLenbBD j8+eJkRrPLBb0LeHWRpOknyeHgLi5s6an/5UUemr1Ogm/VfqeJXfTSGGV7NSiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd3B76DZ4z1L6l; Wed, 16 Apr 2025 14:21:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GELpSl059589; Wed, 16 Apr 2025 14:21:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GELphv059586; Wed, 16 Apr 2025 14:21:51 GMT (envelope-from git) Date: Wed, 16 Apr 2025 14:21:51 GMT Message-Id: <202504161421.53GELphv059586@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: f1e18f331923 - main - riscv: Exclude OpenSBI memory regions when booting with EFI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1e18f331923041980149fef46cdb2736e61debb Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=f1e18f331923041980149fef46cdb2736e61debb commit f1e18f331923041980149fef46cdb2736e61debb Author: Bojan Novković AuthorDate: 2025-04-15 16:28:05 +0000 Commit: Bojan Novković CommitDate: 2025-04-16 14:20:13 +0000 riscv: Exclude OpenSBI memory regions when booting with EFI OpenSBI uses the first PMP entry to prevent buggy supervisor software from overwriting the firmware [1]. However, this region may not be properly marked as reserved in the EFI map, leading to an access violation exception whenever the kernel attempts to write to a page from that region. Fix this by preemptively excluding first EFI memory map entry if it is marked as "BootServicesData". [1] https://github.com/riscv-non-isa/riscv-sbi-doc/pull/37 Reported by: tuexen Tested by: tuexen Fixes: a2e2178402af Reviewed by: imp, jrtc27 Differential Revision: https://reviews.freebsd.org/D49839 --- sys/riscv/riscv/machdep.c | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 516dbde5ffaa..f253bc9a853b 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -541,6 +541,22 @@ fdt_physmem_exclude_region_cb(const struct mem_region *mr, void *arg __unused) } #endif +static void +efi_exclude_sbi_pmp_cb(struct efi_md *p, void *argp) +{ + bool *first = (bool *)argp; + + if (!*first) + return; + + *first = false; + if (p->md_type == EFI_MD_TYPE_BS_DATA) { + physmem_exclude_region(p->md_phys, + min(p->md_pages * EFI_PAGE_SIZE, L2_SIZE), + EXFLAG_NOALLOC); + } +} + void initriscv(struct riscv_bootparams *rvbp) { @@ -548,6 +564,7 @@ initriscv(struct riscv_bootparams *rvbp) struct pcpu *pcpup; vm_offset_t lastaddr; vm_size_t kernlen; + bool first; char *env; TSRAW(&thread0, TS_ENTER, __func__, NULL); @@ -577,11 +594,22 @@ initriscv(struct riscv_bootparams *rvbp) if (efihdr != NULL) { efi_map_add_entries(efihdr); efi_map_exclude_entries(efihdr); + + /* + * OpenSBI uses the first PMP entry to prevent buggy supervisor + * software from overwriting the firmware. However, this + * region may not be properly marked as reserved, leading + * to an access violation exception whenever the kernel + * attempts to write to a page from that region. + * + * Fix this by excluding first EFI memory map entry + * if it is marked as "BootServicesData". + */ + first = true; + efi_map_foreach_entry(efihdr, efi_exclude_sbi_pmp_cb, &first); } #ifdef FDT else { - bool first; - /* Exclude reserved memory specified by the device tree. */ fdt_foreach_reserved_mem(fdt_physmem_exclude_region_cb, NULL); From nobody Wed Apr 16 14:30:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd3Nw4dprz5sltJ for ; Wed, 16 Apr 2025 14:31:12 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 4Zd3Nw2MD9z416D for ; Wed, 16 Apr 2025 14:31:12 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-43cf0d787eeso79376185e9.3 for ; Wed, 16 Apr 2025 07:31:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744813870; x=1745418670; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7Ytpxd3gnWc/DTEmovQAgIH+CL/w3hZYsBeN8I7323s=; b=OTyN7Yt230SGMfEbjlZKyPULI4nqM2MxPVMneJjCvVwxmo+Kq+K2ph74Hkuld7+EXB FkXJXYCTDZZNgZvbqGw0JAsnLmYC6r392VfKc/c45iF66b6gpwMX8yrHhOC8LPYSZykV P3H+wfELI0CsqC4Eih/GqGVoS77GkcVHhtGnRdq54M1d4Nhzdacqo/oBYv3SXofAtIm1 ryjAA3rhqwxxnhnscgdf9MjjLJkXjpQ2OsxqBOLvhQhLJLgkfmtj5A0CBHWE+iHf7n7d rYAbW8u5xiT7mUdxnx2CuiVHfM3oFnuwvbKTlxHw7ghRyW6FF5RBdZBCjJS/ZJO09nGO dXZw== X-Forwarded-Encrypted: i=1; AJvYcCUdbRFk6SuyrTyg14xWxXjjvEiLMjhltfeXp2kSdedvPSlXsQYfhW008se/alcvncx8yLguYN/Fo+nISNV1PfYdly/R@freebsd.org X-Gm-Message-State: AOJu0YzEetx7z1vzHYb3S8/DMUlU6idR8Xigqd8rpo0sqggbf0p9yaqv W4k/DzKAdiZNL5oJ39+81HX2iKTBR8jZWFPFKijZhI1PJVjTdVob4Ocy0x2XlzQ= X-Gm-Gg: ASbGncujSTbezeGlGszwAN3fEyVN6ZUOqK9X0W+MZxJLEX9sRCBWQGgPmvIg2lWTbC+ AkcisJ4IaK4FjK15aEzndl++NmAMWXBwIWqiZHVqGgHjpoJ9cHEjAzBmhbk/RUWoaKZlc18bO3J +bRgehFbride8vYOYC3ThIAAfb/9ta2ZF+d/R7Y1IdlhA9l66O/dJ4783rY3L9o37tu22Vj4Gek UUUEPFSNZNP89W+UzCnJPcbIycObQNQYxb+1Lsu2l3xVxQqj+mz4d73+yBAeusA1gctsjSCb4EY mEi1O2NuTM0lcytY/RT+vv8o6G0+MCg/mixbYeOKqqfyzZvvftujjtJLndcC8cVCKQ== X-Google-Smtp-Source: AGHT+IGbwbf42ydcQVJbIKFnlyaDcNkxc96uwdHOEOIQapbR/aTKnF0Ci7ed3y0B953S3rV2nBAZ4w== X-Received: by 2002:a05:600c:1e28:b0:43c:e8a5:87a with SMTP id 5b1f17b1804b1-4405d63821cmr27612135e9.16.1744813870299; Wed, 16 Apr 2025 07:31:10 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4405b58cc0csm22763255e9.32.2025.04.16.07.31.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Apr 2025 07:31:09 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: git: f1e18f331923 - main - riscv: Exclude OpenSBI memory regions when booting with EFI From: Jessica Clarke In-Reply-To: <202504161421.53GELphv059586@gitrepo.freebsd.org> Date: Wed, 16 Apr 2025 15:30:59 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <6F9CE6EB-8A7E-48D1-BDE5-AB7D930EC1DE@freebsd.org> References: <202504161421.53GELphv059586@gitrepo.freebsd.org> To: =?utf-8?Q?Bojan_Novkovi=C4=87?= X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4Zd3Nw2MD9z416D X-Spamd-Bar: ---- On 16 Apr 2025, at 15:21, Bojan Novkovi=C4=87 = wrote: >=20 > The branch main has been updated by bnovkov: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Df1e18f331923041980149fef46cdb273= 6e61debb >=20 > commit f1e18f331923041980149fef46cdb2736e61debb > Author: Bojan Novkovi=C4=87 > AuthorDate: 2025-04-15 16:28:05 +0000 > Commit: Bojan Novkovi=C4=87 > CommitDate: 2025-04-16 14:20:13 +0000 >=20 > riscv: Exclude OpenSBI memory regions when booting with EFI >=20 > OpenSBI uses the first PMP entry to prevent buggy supervisor > software from overwriting the firmware [1]. However, this > region may not be properly marked as reserved in the EFI map, = leading > to an access violation exception whenever the kernel > attempts to write to a page from that region. >=20 > Fix this by preemptively excluding first EFI memory map entry > if it is marked as "BootServicesData". >=20 > [1] https://github.com/riscv-non-isa/riscv-sbi-doc/pull/37 >=20 > Reported by: tuexen > Tested by: tuexen > Fixes: a2e2178402af > Reviewed by: imp, jrtc27 No I didn=E2=80=99t, I left a comment saying I didn=E2=80=99t like the = concept. > Differential Revision: https://reviews.freebsd.org/D49839 > --- > sys/riscv/riscv/machdep.c | 32 ++++++++++++++++++++++++++++++-- > 1 file changed, 30 insertions(+), 2 deletions(-) >=20 > diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c > index 516dbde5ffaa..f253bc9a853b 100644 > --- a/sys/riscv/riscv/machdep.c > +++ b/sys/riscv/riscv/machdep.c > @@ -541,6 +541,22 @@ fdt_physmem_exclude_region_cb(const struct = mem_region *mr, void *arg __unused) > } > #endif >=20 > +static void > +efi_exclude_sbi_pmp_cb(struct efi_md *p, void *argp) > +{ > + bool *first =3D (bool *)argp; > + > + if (!*first) > + return; > + > + *first =3D false; > + if (p->md_type =3D=3D EFI_MD_TYPE_BS_DATA) { > + physmem_exclude_region(p->md_phys, > + min(p->md_pages * EFI_PAGE_SIZE, L2_SIZE), > + EXFLAG_NOALLOC); Doesn=E2=80=99t this need EXFLAG_NODUMP like the FDT case? Jess > + } > +} > + > void > initriscv(struct riscv_bootparams *rvbp) > { > @@ -548,6 +564,7 @@ initriscv(struct riscv_bootparams *rvbp) > struct pcpu *pcpup; > vm_offset_t lastaddr; > vm_size_t kernlen; > + bool first; > char *env; >=20 > TSRAW(&thread0, TS_ENTER, __func__, NULL); > @@ -577,11 +594,22 @@ initriscv(struct riscv_bootparams *rvbp) > if (efihdr !=3D NULL) { > efi_map_add_entries(efihdr); > efi_map_exclude_entries(efihdr); > + > + /* > + * OpenSBI uses the first PMP entry to prevent buggy supervisor > + * software from overwriting the firmware. However, this > + * region may not be properly marked as reserved, leading > + * to an access violation exception whenever the kernel > + * attempts to write to a page from that region. > + * > + * Fix this by excluding first EFI memory map entry > + * if it is marked as "BootServicesData". > + */ > + first =3D true; > + efi_map_foreach_entry(efihdr, efi_exclude_sbi_pmp_cb, &first); > } > #ifdef FDT > else { > - bool first; > - > /* Exclude reserved memory specified by the device tree. */ > fdt_foreach_reserved_mem(fdt_physmem_exclude_region_cb, NULL); >=20 From nobody Wed Apr 16 18:02:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd8554Ln8z5t2QM; Wed, 16 Apr 2025 18:02: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 4Zd85531Ynz3QvF; Wed, 16 Apr 2025 18:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CgZt9a/LpTQH2GmDbbwXt0copvkF0UjKVqdWIPFUUf8=; b=xowBzHGXVyeG02rdDxgYpmGjbxO3X5CwgUQTpg9n5Gu03xT8YudymriyEUGePBlbkK39jp 0pbhXiR2+cXShwn//GVy/FXSoUdpcXOOnQNeYuSOCInIsLF5xmH0TIM7OmhhXiNkEM+P89 IHykvQQUrqtcLIPkhEDWDhrn9yCoTZUTzTQjpK2zEXpi/cLvWR9dQBXD7aJu77xYY9WSTq a44loWPsoD01QfKJcFQIyQ05BwGxHp7CZza6q7wBarWWyq4NDmX66pY9dlhXvwhLL+j3TK 2Rmu1QX0RSKSW5S/XOJXf8g2MosFaNBP7YeVYjLtr2LMkGXX/U1za1+BoiAerw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826569; a=rsa-sha256; cv=none; b=t7TbxGaL09CMHLXJNlJHUG6A+baN3cUZElodm+d9DbQ46Gtp5/A9sMlM5DoiY16nuTPV28 48WA7DisYSyx1EqH/641tbUS2q5UYVFhUKMHTu+i6+XsjWipChKJpSj6e54eDSIQ9tm1zU EpDVPqguavKcbkO2sM+9gQ2DF02RBp+6mxwl1B6vo7lnB+U+nAq7vqZYNVyrBKRxZkPFB5 ctNc/INfZ596kSWdmcn93eCz0ZYeIV78xrWjiFILT0pUCLllTd+MiSN2am1x9DNNPPn0c7 121G8ZUTDjpgS7WzfasY/wD5iUSKEgaN1ur8/Jgy1jHbgeqxs/Ief+G6C5szSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CgZt9a/LpTQH2GmDbbwXt0copvkF0UjKVqdWIPFUUf8=; b=HL7Sg5D8CZm2KygIj9LE5UfsXf5cG51er6iPakBxGHSUohJKFRhFDb7mBZKnfm6jzy8KZC 6+ZPZekIoPBd2R0l08RDD16hby84JSPqSdodvKZdu+M11D3LZoeGhghn8w0H9TOMSe2JGK OS9oQ1r1hNjQ0AV32tCPq0L9MpQWdMHGLcMokd+DdNDHmqBpKqD2dleTYQl54wCvCfHF6d rbjyQSBwL7r6JOXCAvkZ5AYOJICyTTqkXFPY0qex7D4Wy2SQ+XP0Evkrm34MspeaKm9XP1 QgJZTJjgOOsjn/3/f3qxBHM4/4C8jW71frUBhYcyz32/hk/Kml9eAQlkgf+qAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd8552YCBz1RpX; Wed, 16 Apr 2025 18:02: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 53GI2nIq075640; Wed, 16 Apr 2025 18:02:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2nxO075637; Wed, 16 Apr 2025 18:02:49 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:49 GMT Message-Id: <202504161802.53GI2nxO075637@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: cfdc4f6d0647 - main - pf: g/c unneeded af (address family) params to pf_change_ap List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: cfdc4f6d06473bef750cf089ae79ec5be7447c43 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cfdc4f6d06473bef750cf089ae79ec5be7447c43 commit cfdc4f6d06473bef750cf089ae79ec5be7447c43 Author: Kristof Provost AuthorDate: 2025-04-14 15:28:03 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:47 +0000 pf: g/c unneeded af (address family) params to pf_change_ap both af and naf (af-to case) are in the pf_pdesc some code shuffling to actually set these before calling pf_change_ap inspired by Richard Procter 's mail on tech from Aug 17, but redone ok bluhm vgross Obtained from: OpenBSD, henning , 78ad05cbd1 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 125 +++++++++++++++++++++++++--------------------------- 1 file changed, 61 insertions(+), 64 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9c41bf80fec4..d4288ba34eb4 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -310,7 +310,7 @@ static int pf_check_threshold(struct pf_threshold *); static void pf_change_ap(struct pf_pdesc *, struct pf_addr *, u_int16_t *, u_int16_t *, u_int16_t *, struct pf_addr *, - u_int16_t, u_int8_t, sa_family_t, sa_family_t); + u_int16_t, u_int8_t); static int pf_modulate_sack(struct pf_pdesc *, struct tcphdr *, struct pf_state_peer *); int pf_icmp_mapping(struct pf_pdesc *, u_int8_t, int *, @@ -634,11 +634,11 @@ pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) pf_change_ap(pd, pd->src, &th->th_sport, pd->ip_sum, &th->th_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 0, pd->af, pd->naf); + nk->port[pd->sidx], 0); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) pf_change_ap(pd, pd->dst, &th->th_dport, pd->ip_sum, &th->th_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 0, pd->af, pd->naf); + nk->port[pd->didx], 0); m_copyback(pd->m, off, sizeof(*th), (caddr_t)th); break; } @@ -648,11 +648,11 @@ pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) pf_change_ap(pd, pd->src, &uh->uh_sport, pd->ip_sum, &uh->uh_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1, pd->af, pd->naf); + nk->port[pd->sidx], 1); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) pf_change_ap(pd, pd->dst, &uh->uh_dport, pd->ip_sum, &uh->uh_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 1, pd->af, pd->naf); + nk->port[pd->didx], 1); m_copyback(pd->m, off, sizeof(*uh), (caddr_t)uh); break; } @@ -663,12 +663,12 @@ pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) { pf_change_ap(pd, pd->src, &sh->src_port, pd->ip_sum, &checksum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1, pd->af, pd->naf); + nk->port[pd->sidx], 1); } if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) { pf_change_ap(pd, pd->dst, &sh->dest_port, pd->ip_sum, &checksum, &nk->addr[pd->didx], - nk->port[pd->didx], 1, pd->af, pd->naf); + nk->port[pd->didx], 1); } break; @@ -3262,15 +3262,14 @@ pf_proto_cksum_fixup(struct mbuf *m, u_int16_t cksum, u_int16_t old, static void pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, - u_int16_t *pc, struct pf_addr *an, u_int16_t pn, u_int8_t u, - sa_family_t af, sa_family_t naf) + u_int16_t *pc, struct pf_addr *an, u_int16_t pn, u_int8_t u) { struct pf_addr ao; u_int16_t po; - PF_ACPY(&ao, a, af); - if (af == naf) - PF_ACPY(a, an, af); + PF_ACPY(&ao, a, pd->af); + if (pd->af == pd->naf) + PF_ACPY(a, an, pd->af); if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) *pc = ~*pc; @@ -3280,10 +3279,10 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic po = *p; *p = pn; - switch (af) { + switch (pd->af) { #ifdef INET case AF_INET: - switch (naf) { + switch (pd->naf) { case AF_INET: *ic = pf_cksum_fixup(pf_cksum_fixup(*ic, ao.addr16[0], an->addr16[0], 0), @@ -3319,7 +3318,7 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic #endif /* INET */ #ifdef INET6 case AF_INET6: - switch (naf) { + switch (pd->naf) { #ifdef INET case AF_INET: *pc = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( @@ -3357,7 +3356,7 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic break; #endif /* INET6 */ default: - unhandled_af(af); + unhandled_af(pd->af); } if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | @@ -5600,7 +5599,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, nk->port[pd->sidx] != pd->nsport) { pf_change_ap(pd, pd->src, &th->th_sport, pd->ip_sum, &th->th_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 0, pd->af, pd->naf); + nk->port[pd->sidx], 0); pd->sport = &th->th_sport; pd->nsport = th->th_sport; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5610,7 +5609,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, nk->port[pd->didx] != pd->ndport) { pf_change_ap(pd, pd->dst, &th->th_dport, pd->ip_sum, &th->th_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 0, pd->af, pd->naf); + nk->port[pd->didx], 0); pd->dport = &th->th_dport; pd->ndport = th->th_dport; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -5626,7 +5625,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, &pd->hdr.udp.uh_sport, pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1, pd->af, pd->naf); + nk->port[pd->sidx], 1); pd->sport = &pd->hdr.udp.uh_sport; pd->nsport = pd->hdr.udp.uh_sport; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5638,7 +5637,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, &pd->hdr.udp.uh_dport, pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 1, pd->af, pd->naf); + nk->port[pd->didx], 1); pd->dport = &pd->hdr.udp.uh_dport; pd->ndport = pd->hdr.udp.uh_dport; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -5653,7 +5652,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, pf_change_ap(pd, pd->src, &pd->hdr.sctp.src_port, pd->ip_sum, &checksum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1, pd->af, pd->naf); + nk->port[pd->sidx], 1); pd->sport = &pd->hdr.sctp.src_port; pd->nsport = pd->hdr.sctp.src_port; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5663,7 +5662,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, pf_change_ap(pd, pd->dst, &pd->hdr.sctp.dest_port, pd->ip_sum, &checksum, &nk->addr[pd->didx], - nk->port[pd->didx], 1, pd->af, pd->naf); + nk->port[pd->didx], 1); pd->dport = &pd->hdr.sctp.dest_port; pd->ndport = pd->hdr.sctp.dest_port; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -6333,12 +6332,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, case IPPROTO_TCP: if (afto || *pd->sport != sport) { pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.tcp.th_sum, - saddr, sport, 0, pd->af, pd->naf); + saddr, sport, 0); rewrite = 1; } if (afto || *pd->dport != dport) { pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.tcp.th_sum, - daddr, dport, 0, pd->af, pd->naf); + daddr, dport, 0); rewrite = 1; } break; @@ -6346,12 +6345,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, case IPPROTO_UDP: if (afto || *pd->sport != sport) { pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.udp.uh_sum, - saddr, sport, 1, pd->af, pd->naf); + saddr, sport, 1); rewrite = 1; } if (afto || *pd->dport != dport) { pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.udp.uh_sum, - daddr, dport, 1, pd->af, pd->naf); + daddr, dport, 1); rewrite = 1; } break; @@ -6360,12 +6359,12 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, uint16_t checksum = 0; if (afto || *pd->sport != sport) { pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &checksum, - saddr, sport, 1, pd->af, pd->naf); + saddr, sport, 1); rewrite = 1; } if (afto || *pd->dport != dport) { pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &checksum, - daddr, dport, 1, pd->af, pd->naf); + daddr, dport, 1); rewrite = 1; } break; @@ -7105,26 +7104,24 @@ pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) didx = pd->didx; } + if (afto) { + PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); + PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); + pd->naf = nk->af; + action = PF_AFRT; + } + if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || nk->port[sidx] != pd->osport) pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, pd->pcksum, &nk->addr[sidx], - nk->port[sidx], pd->virtual_proto == IPPROTO_UDP, - pd->af, nk->af); + nk->port[sidx], pd->virtual_proto == IPPROTO_UDP); if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || nk->port[didx] != pd->odport) pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, pd->pcksum, &nk->addr[didx], - nk->port[didx], pd->virtual_proto == IPPROTO_UDP, - pd->af, nk->af); - - if (afto) { - PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); - PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); - pd->naf = nk->af; - action = PF_AFRT; - } + nk->port[didx], pd->virtual_proto == IPPROTO_UDP); copyback = 1; } @@ -8022,18 +8019,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, m_copyback(pd->m, pd->off, sizeof(struct icmp6_hdr), (c_caddr_t)&pd->hdr.icmp6); - if (pf_change_icmp_af(pd->m, ipoff2, pd, - &pd2, &nk->addr[sidx], - &nk->addr[didx], pd->af, - nk->af)) - return (PF_DROP); - pf_change_ap(pd, pd2.src, &th.th_sport, - pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], - nk->port[sidx], 1, pd->af, nk->af); - pf_change_ap(pd, pd2.dst, &th.th_dport, - pd->ip_sum, &dummy_cksum, &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->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8053,6 +8038,18 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->src->addr32[0]; } pd->naf = nk->af; + if (pf_change_icmp_af(pd->m, ipoff2, pd, + &pd2, &nk->addr[sidx], + &nk->addr[didx], pd->af, + nk->af)) + return (PF_DROP); + pf_change_ap(pd, pd2.src, &th.th_sport, + pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], + nk->port[sidx], 1); + pf_change_ap(pd, pd2.dst, &th.th_dport, + pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], + nk->port[didx], 1); + m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); return (PF_AFRT); } #endif /* INET && INET6 */ @@ -8155,19 +8152,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, m_copyback(pd->m, pd->off, sizeof(struct icmp6_hdr), (c_caddr_t)&pd->hdr.icmp6); - if (pf_change_icmp_af(pd->m, ipoff2, pd, - &pd2, &nk->addr[sidx], - &nk->addr[didx], pd->af, - nk->af)) - return (PF_DROP); - pf_change_ap(pd, pd2.src, &uh.uh_sport, - pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.sidx], - nk->port[sidx], 1, pd->af, nk->af); - pf_change_ap(pd, pd2.dst, &uh.uh_dport, - pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.didx], - nk->port[didx], 1, pd->af, nk->af); - m_copyback(pd2.m, pd2.off, sizeof(uh), - (c_caddr_t)&uh); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8187,6 +8171,19 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->src->addr32[0]; } pd->naf = nk->af; + if (pf_change_icmp_af(pd->m, ipoff2, pd, + &pd2, &nk->addr[sidx], + &nk->addr[didx], pd->af, + nk->af)) + return (PF_DROP); + pf_change_ap(pd, pd2.src, &uh.uh_sport, + pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.sidx], + nk->port[sidx], 1); + pf_change_ap(pd, pd2.dst, &uh.uh_dport, + pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.didx], + nk->port[didx], 1); + m_copyback(pd2.m, pd2.off, sizeof(uh), + (c_caddr_t)&uh); return (PF_AFRT); } #endif /* INET && INET6 */ From nobody Wed Apr 16 18:02:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd8575N3Wz5t2QN; Wed, 16 Apr 2025 18:02: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 4Zd85661pJz3QxG; Wed, 16 Apr 2025 18:02:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fD3V6zKGCCjNEfZKehPcMNVTGB87o6CTWJt2vUchXmk=; b=sCiOq40ygY3BZAHqpEIIaJYxaIINHF2ZawLAZH919Z0MEpHRdBwAe+ENFFQrPCpaQPJHEO Jme07RiT6q4t3BnuokRHGyBReLvz1N7jKYYucAxAVc3lz34P5ydxjvfyBrjPnm5PRmsiEu t81N0kPgrvybvmgm9dcxI83upYfBFiejQxgSmmw3sAc1N9sBs7IKgKzxtS/FD6K1fY55Ny nuO1FNiChinmbIhdz4vnYnlJ9E0uAdsIzV3EPzD+DrPH4lVTxyDjidnqDD8gSU575zU8QH PASY4/TWO/R0iplwK5eJgWO6gNNYmF0lZxWiGnuOUphUocfeQpMR+UEoc7SWhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826570; a=rsa-sha256; cv=none; b=P5ESStDDklfQcxaGTomlJCTLYLdFSNzNmfuYuy+WwtQTiS/H0T6FZsRH1C8Sd6fSiY/0lZ ofoArbPRMcikaf9Uafn4pUP3IAoL5pYRUk9CiwVAWu3TxQOnd2O6mjNisiHU09lrNzuFzo ahzqJNyI2ZJ2DhHyyLnbw5n1R2LCigV/2LX2VBw6z20uGJo98Q4QF4LvQgjSZsUZmkDpwR ib5or0z8da4oinr86ulDbuWA2I1VMz3EgG4Q3vBFyHvIbXhB/+u76sCRpjVBRexDYjccG1 q/Uau2BHKL386pdcsBBPEdCOeOep9E779PevXJj1LGYNSpJV3dOut7ODgqamuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fD3V6zKGCCjNEfZKehPcMNVTGB87o6CTWJt2vUchXmk=; b=X3op4S25fO5XZ7CVpAYqrA9tXyJcvvNq0yt9dsi6lXFxub1kNc8Z8TBdqo4O4iEKvFoGVw wahayh7xX28/pAd3gpZMVJV3z8wQ6vpZuDEkMei/ZsuDObxRisdVG5/fOTcAmwbX4Kplok 9+DqpJExcEkn6flhA5+hlpGLCn/olqAy4AMPWB2hdPd5L7y5AlJc/ii54Yrs/RX13H/PMW mgRfIhmlVFQWkp4m6oG16vw83sIsswK9Z/4YGIzoEtTlEcTFjU5JADtAR/0kk7XGP4Zfwd CNFp0AUedX8DV9m4q2dKqvyW+/u9GYPvR3mMp/ZwtPJmSe/9VVBluCjEXgoRuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd8563c1Sz1S62; Wed, 16 Apr 2025 18:02: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 53GI2oAa075679; Wed, 16 Apr 2025 18:02:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2oCT075676; Wed, 16 Apr 2025 18:02:50 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:50 GMT Message-Id: <202504161802.53GI2oCT075676@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: 162dfe766b2a - main - pfctl: Remove NULL-checks before free(). ok tb@ List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 162dfe766b2a62fb875a47796ffb032242ff5124 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=162dfe766b2a62fb875a47796ffb032242ff5124 commit 162dfe766b2a62fb875a47796ffb032242ff5124 Author: Kristof Provost AuthorDate: 2025-04-15 15:23:01 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:47 +0000 pfctl: Remove NULL-checks before free(). ok tb@ Obtained from: OpenBSD, mmcc , 5ce950dec1 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_osfp.c | 30 ++++++++++-------------------- sbin/pfctl/pfctl_radix.c | 3 +-- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/sbin/pfctl/pfctl_osfp.c b/sbin/pfctl/pfctl_osfp.c index 649c1e8a2c3b..3a94c2e8c81b 100644 --- a/sbin/pfctl/pfctl_osfp.c +++ b/sbin/pfctl/pfctl_osfp.c @@ -112,16 +112,11 @@ pfctl_file_fingerprints(int dev, int opts, const char *fp_filename) while ((line = fgetln(in, &len)) != NULL) { lineno++; - if (class) - free(class); - if (version) - free(version); - if (subtype) - free(subtype); - if (desc) - free(desc); - if (tcpopts) - free(tcpopts); + free(class); + free(version); + free(subtype); + free(desc); + free(tcpopts); class = version = subtype = desc = tcpopts = NULL; memset(&fp, 0, sizeof(fp)); @@ -250,16 +245,11 @@ pfctl_file_fingerprints(int dev, int opts, const char *fp_filename) add_fingerprint(dev, opts, &fp); } - if (class) - free(class); - if (version) - free(version); - if (subtype) - free(subtype); - if (desc) - free(desc); - if (tcpopts) - free(tcpopts); + free(class); + free(version); + free(subtype); + free(desc); + free(tcpopts); fclose(in); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 1d1918e29f44..e4659a30b234 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -406,8 +406,7 @@ pfr_buf_clear(struct pfr_buffer *b) { if (b == NULL) return; - if (b->pfrb_caddr != NULL) - free(b->pfrb_caddr); + free(b->pfrb_caddr); b->pfrb_caddr = NULL; b->pfrb_size = b->pfrb_msize = 0; } From nobody Wed Apr 16 18:02:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd8576BQhz5t1tY; Wed, 16 Apr 2025 18:02: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 4Zd8574ydsz3RDn; Wed, 16 Apr 2025 18:02:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u8/aqEK5bIJvjKluDSdyU12zXq0WyWHVvqqknvCU6qo=; b=IgVYt6RNmQimfC8EZI+bvLTdOcCkQStTrVjYEyGeTt4omU4qfS9wAQhKINfdxEefBFhjMU cVtqT5J7En42kuajxMUfypRE5AJUUTHAcpP+Bm/FGXBM6Jep99R1eaS6Vn083fjgO8bFYt IbtnWe9PLIhDTzrZPrineH2FIuKTktm/LOX5x8NWD3u+Myt6EM3OK9Rie5iEVSCwqRvamK NuyMC+galGTw9h2uS1JqZngJ5qOpBW2vNuUSX9RGeDqGUg1AWe7vRWp5dmc+2H6BHu25yl kTxDyGFeqRGzFlcDbBSPEO0eX/7TyqFLnwQdHWLSWLjI1eGJ/OZiyx18XIwJGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826571; a=rsa-sha256; cv=none; b=VbSuOnxKYDuDEFGiuhQLCYQOasLjqWeGt7eY4T7pCIxZwLgE/Cm9bk9gcF0IOcm6h7K3G3 BB/ICw1N8rlsIxb+BjrO1LENeiSdw99si+MhvtQHJEMIWrJ9RN/8SLOG3vFmNF1imoTySm 55nCYrD4Lp8U1C4c1RrergNfRXLA1BvkjNG2rTpw3J79ResXMATtKdGkY8ydRTvt3Gu6qi oVr0jUCjQAcsrn6G7cpZ10RTi7zx9wpLImE5e15LCcyYUaHp2rVMoStHDM4GZ9Xo8zSPFV oML5oq4k6mIfwQfDjpgNy4Rjz3O6y/o/3V3+HPURNPQPFOEx7x0D5hyDIhU7fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u8/aqEK5bIJvjKluDSdyU12zXq0WyWHVvqqknvCU6qo=; b=RHplKnguZ+NLkDdFnQ8lF0DuZwwjAiy93l1UOPI+YoT+A5pWIaAYqwtglxqXdwAFsCLINJ wDr0/7Dn3t+ECIU573YyYcmSSFQgbFQM43od2Yhao7I9TFPdcCgpd7+aVJ4c9ADRePX2BN uHsMmApz6bFnduGq/hkbJh5HzefdVAE/ZyF58mO5KRsqF++37hDbX5irzbwvGUwuTCfJu3 XiQQvZZXEVFZEEInNsB5/CMy3mYToo0RnJE/c85BLZsg2Q3HV2nQbW+XuysJpLrWtvEVrU me7/x9k4atFZQh+GkH4eJlTCV/Wv0tP4Hhc9IjwJcKR6/AdOfxfvGVd54VhPfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd8574WsNz1RpY; Wed, 16 Apr 2025 18:02: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 53GI2p2o075713; Wed, 16 Apr 2025 18:02:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2pbd075710; Wed, 16 Apr 2025 18:02:51 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:51 GMT Message-Id: <202504161802.53GI2pbd075710@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: a6a98453d8c9 - main - pf: Don't convert arc4random() to host byte order List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a6a98453d8c9169a0859c48e2893df3f6ffe84cf Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a6a98453d8c9169a0859c48e2893df3f6ffe84cf commit a6a98453d8c9169a0859c48e2893df3f6ffe84cf Author: Kristof Provost AuthorDate: 2025-04-15 15:29:17 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:47 +0000 pf: Don't convert arc4random() to host byte order There's no need to convert values returned by arc4random to the network byte order. Spotted by Gleb Smirnoff (glebius@FreeBSD.org), thanks! ok tedu Obtained from: OpenBSD, mikeb , 367b0410d3 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++-- sys/netpfil/pf/pf_lb.c | 10 +++++----- sys/netpfil/pf/pf_norm.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index d4288ba34eb4..b6525b229c48 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6257,7 +6257,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, TH_SYN && r->keep_state == PF_STATE_SYNPROXY) { pf_set_protostate(s, PF_PEER_SRC, PF_TCPS_PROXY_SRC); pf_undo_nat(nr, pd, bip_sum); - s->src.seqhi = htonl(arc4random()); + s->src.seqhi = arc4random(); /* Find mss option */ int rtid = M_GETFIB(pd->m); mss = pf_get_mss(pd); @@ -6869,7 +6869,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate *state, u_short *reason) } state->src.max_win = MAX(ntohs(th->th_win), 1); if (state->dst.seqhi == 1) - state->dst.seqhi = htonl(arc4random()); + state->dst.seqhi = arc4random(); pf_send_tcp(state->rule, pd->af, &sk->addr[pd->sidx], &sk->addr[pd->didx], sk->port[pd->sidx], sk->port[pd->didx], diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 54a9463e34ef..9785611271a0 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -551,29 +551,29 @@ pf_map_addr(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, switch (af) { #ifdef INET case AF_INET: - rpool->counter.addr32[0] = htonl(arc4random()); + rpool->counter.addr32[0] = arc4random(); break; #endif /* INET */ #ifdef INET6 case AF_INET6: if (rmask->addr32[3] != 0xffffffff) rpool->counter.addr32[3] = - htonl(arc4random()); + arc4random(); else break; if (rmask->addr32[2] != 0xffffffff) rpool->counter.addr32[2] = - htonl(arc4random()); + arc4random(); else break; if (rmask->addr32[1] != 0xffffffff) rpool->counter.addr32[1] = - htonl(arc4random()); + arc4random(); else break; if (rmask->addr32[0] != 0xffffffff) rpool->counter.addr32[0] = - htonl(arc4random()); + arc4random(); break; #endif /* INET6 */ } diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 2dc4553bd4f4..1bf672f39204 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1493,7 +1493,7 @@ pf_normalize_tcp_init(struct pf_pdesc *pd, struct tcphdr *th, src->scrub->pfss_flags |= PFSS_TIMESTAMP; src->scrub->pfss_ts_mod = - htonl(arc4random()); + arc4random(); /* note PFSS_PAWS not set yet */ memcpy(&tsval, &opt[2], From nobody Wed Apr 16 18:02:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd8590FGBz5t1wm; Wed, 16 Apr 2025 18:02: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 4Zd85864gpz3RDp; Wed, 16 Apr 2025 18:02:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g72E5YS9x03Ai6z7UiW8LNd0o/yuH88rSJhuk43Tot0=; b=Aks8S4Lq9xkILhRK2Z0120aaXpc57wGmAPece4Z/C8vNe5DvVLyO7HePuNWNfm6lsGn6a2 5Fke2OZV8Vvwr2JlFbVJxgZdpvvVc/36w3sFb9dl3jsZk95MXYTKTYmxx/k5BFRWaq2eZS mIZt/rv/qTb88QORCuWNX5/eZPiIBQS0+GU6DLimPbg67nr3ZuJHzaHbduppA8rYP0OAQ8 5C4gfwo3gMeZtkB+bX15Cq/hC2jlt29TSAp1VZKKeAPkTQXwVOTyjy8sZwuEK03BwA4sJW 01XRob/nkUEab5RFPIzUOz5yu64D890oWzjQIr0eOntBq1Py4S3vKSespoE7KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826572; a=rsa-sha256; cv=none; b=WqECi75qXcJfD3KDbdX4Qx3vMcnWmM3iJpO96UrKQ/Yo3/SqrBltdnxiRaWvJfLV0IbH7C DcJqEXGvyKmwBVmxf+zXYnhIbj6/2hWax+GCpJf3y+EDOvSsTyjYm0XoIXvAG6WjBzuWYw Ils3f9IYO1tMuuc17zQ5yMXqxQbMgwS1pDLEfsLLE9q9MInUeeRR92uKrQi4w13j0b1Oev wVRaa5u288VHM2AaI+I17thSmseWa1pJW/z9F72kwzIeMA+/s4RgQioQgKTX2AG3HGBQ+N TeDTo0S+vpIBoMMZm4GqaKqwskorzhCVsHnZn+rMWk+aGBinZYaOl30Mi58WKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g72E5YS9x03Ai6z7UiW8LNd0o/yuH88rSJhuk43Tot0=; b=xkZ38mQ1TvjRPROTHRvJzmgz8qPy4BKCGvPEnXxrfPq0Hv4VJ4ZE2Q4Wt4S67kdHa/0MAc Sib98X+Lw8hewBx6QFisjhtv4sTEqFAWMSgud2DaNvVRJ92uS4IUU/OpS+Xdi+w7CnxLv8 tNZF816CjPCncRwWwnVsYuTJpM8OmG3Uni97sKI+cxLkxks9YPTTv3lpucHYbfa6179ckD X96Ahn9aeWJt6pjVKYW0Pw1TD3BNkhzcGS5TjPI65xICI9H5PYJEEccg5flpkLWM1XUmAk 9k4hvbknYt0AYXq/noiU7rin5HhQOnuXqZ2SRBwefpu9FhfNw3EnR7Te5hmhMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd8585Tbsz1SKb; Wed, 16 Apr 2025 18:02: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 53GI2qbM075748; Wed, 16 Apr 2025 18:02:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2qhe075745; Wed, 16 Apr 2025 18:02:52 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:52 GMT Message-Id: <202504161802.53GI2qhe075745@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: 16c25f9861db - main - pfctl: allow include in inline anchors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 16c25f9861db453ffa07a0891f8d247c744297b0 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=16c25f9861db453ffa07a0891f8d247c744297b0 commit 16c25f9861db453ffa07a0891f8d247c744297b0 Author: Kristof Provost AuthorDate: 2025-04-15 15:41:37 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:48 +0000 pfctl: allow include in inline anchors with this, anchor foo { include "/path/to/rules" } works and "load anchor" is obsolete, to be removed somewhen later after release. co-production with reky at bsdcan, ok reyk mikeb benno sasha Obtained from: OpenBSD, henning , bf5a50acaa Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 1 + 1 file changed, 1 insertion(+) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 6b85c1b36303..804d80b04152 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -910,6 +910,7 @@ pfa_anchorlist : /* empty */ | pfa_anchorlist '\n' | pfa_anchorlist pfrule '\n' | pfa_anchorlist anchorrule '\n' + | pfa_anchorlist include '\n' ; pfa_anchor : '{' From nobody Wed Apr 16 18:02:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85B4V57z5t28s; Wed, 16 Apr 2025 18:02: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 4Zd8596qcQz3RKC; Wed, 16 Apr 2025 18:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRA1n+dGbQIeXfz4SgR8wMjMzbd13qjHdjWVGYpNfcU=; b=pWq+/6yBQqMpBbihIPocZB/797b6aE/TttvtxLN8Oo4uW5zey0Q9qiAul84I/V41kgiFSR KvNCxwMELUstm9lVmtv2XEQOyUQ3F3hNSgNl0H0dlSEmtE/fl19HT7G26cPtPV2/tx8MHv oV0WIGwvf36H+nTJ03aAB8UvVTLyguzh9eSMRbP+aIAK4kEmTghDosLTgspa9Afuf/jQYN pGHvvdbm9yu/RSjMhzT32wDS3BPLpWdEVtSVNwATSxa6g+sEdDxNsLJcGrE+xphRuDDIaE FTvKB0k6sBQyeGTVqrVH9Ogw9lF6WMTwxU1jZ6lnCQlSbdVMztHWf1XzBwS+QA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826574; a=rsa-sha256; cv=none; b=k+vRXnp6XoRi/smx567W2Z4pg5epxjI7/szcKL/1ufi1HRS9y2DIOaoD+jC57s6bMz2I24 Az/V8CnRrZ/QjKbRSm7N8Zyx5BUZOPVDLBskm62pmUd5RTEDcB7RqsBicAIm0aGU4uPnrG YSZxPd6eggSNuxdDWQmH36dTyQ5UtA4hiwT0i/4rC4ByVw3FeBU17levCPjekTdV/Smw9g mmZrBwKD3ceuOP+cAC8f99wx7mRRQb5a0kyqxUZ+TnJAu6S8A7H8/DNElOQ6EFwWqk1J2j mPGFrBwBR/fS9I7mU4SdQQyEQqCee/PLTnnJM4JmSd88X3N5CICOcedLQ7klUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRA1n+dGbQIeXfz4SgR8wMjMzbd13qjHdjWVGYpNfcU=; b=QFCD1Mb15pBWJobnmrfsmvuBKYOD0oB98PWzkxL6E62muNQiMJE+CIYosQR22lyDiIBVsJ EH3LchHB8LF+hvZLsay9RXxm8mYbyO23+iU9YMI5CCIwUN5mi9eiUIfdguXHN8HAEd21ol AR/rRNn84jiKXkc4Wpi4n8oJSCvSK3CwSv5rLwk3MHRpookklif4jmnEYMe2ALrMURvjAW SYKvcQYWP6Ca6FBUPNljMa3psNf5uRCl3Y4k3dOM9ApJauEpROJWmzOlE6OjsYi9b6RSNo vtkItCBvvxaL/PD9+1xeRHMZuB8r35mpo/0nTP1feHpJLl6/tSlGbfPfyeCotQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd8596QPBz1RpZ; Wed, 16 Apr 2025 18:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GI2rYV075783; Wed, 16 Apr 2025 18:02:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2rUA075780; Wed, 16 Apr 2025 18:02:53 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:53 GMT Message-Id: <202504161802.53GI2rUA075780@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: 5b13b79a5c3a - main - pf tests: test includes inside anchors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 5b13b79a5c3a98c6ed42f5ff049bd26ab8a35c99 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5b13b79a5c3a98c6ed42f5ff049bd26ab8a35c99 commit 5b13b79a5c3a98c6ed42f5ff049bd26ab8a35c99 Author: Kristof Provost AuthorDate: 2025-04-15 15:45:59 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:48 +0000 pf tests: test includes inside anchors Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/anchor.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/sys/netpfil/pf/anchor.sh b/tests/sys/netpfil/pf/anchor.sh index 463cd4d475e3..fbac10240d8d 100644 --- a/tests/sys/netpfil/pf/anchor.sh +++ b/tests/sys/netpfil/pf/anchor.sh @@ -361,6 +361,46 @@ nat_cleanup() pft_cleanup } +atf_test_case "include" "cleanup" +include_head() +{ + atf_set descr 'Test including inside anchors' + atf_set require.user root +} + +include_body() +{ + pft_init + + wd=`pwd` + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}a + + ifconfig ${epair}b 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + echo "pass" > ${wd}/extra.conf + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "anchor \"foo\" {\n\ + include \"${wd}/extra.conf\"\n\ + }" + + jexec alcatraz pfctl -sr + + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 +} + +include_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "pr183198" @@ -372,4 +412,5 @@ atf_init_test_cases() atf_add_test_case "quick_nested" atf_add_test_case "counter" atf_add_test_case "nat" + atf_add_test_case "include" } From nobody Wed Apr 16 18:02:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85C3pLbz5t28w; Wed, 16 Apr 2025 18:02: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 4Zd85C0tfLz3RHB; Wed, 16 Apr 2025 18:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hlbT9n3jHwCg+X02LNhZiOBdZc6JWGkZSC6AKJJcmhA=; b=cmGOfIMCyyS6sDBce5vnH7lGaCO1XbNyYnVYh9DP/hHaUxa3ZlhklJ2f/XYHPXI+JgDfAD B1KFKLN61JbGsw+3rtEYKe11U7SjonEMPDYn5HJv5gdEuZlkgKlaVKSmIG637UiDXUCmx1 I8V4w8XBSA+24n0zP+yAu8MCOlNJ9NrW1Zi2SbUF0B5IbhKgelNpyIT2ZpeZAee5qNB+Xj 0noQGYzPEYRPek+x4X9+3er7C6bcqBtdvDKbM7VaV4I83Ai6wy+Sj4f81l/P94Zaed0f9h kicEYSUvpitbD5btKNeXgYx4xe4OYaWtVi/nvLSrmLTPa2ulNZOCysSvwco3sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826575; a=rsa-sha256; cv=none; b=r32ybaTFoCLdCphg2ajtApy+Biycwv4fBnnlSMMaWkT0c5FnJ1b7j+8uykeIuumu2+U+I2 GJsYyCv5mhk0R4AErZxLJ2csox81o86b8SuQOkrDfOiPgjHp75x8mkacrc9jX32a7fhS+M 4pORuxAXjsneQDif+4Wvq2ldDK+GmNU1rAZD0EMMQYGI09QLSCm7Qx3INqfJ3lIMKI4B9m UpvJHm83L1+wM4oMobM2A8G5fpffXkHprgC6eOS1icuvJC0C4ylDxBrNUsLXB23y0v9Vy/ oyhncSsySE9LJjGnU7P+QFeOlCXmLZOO1QUvU5QnghhpjZO2lLuDGw6Cm7d1ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hlbT9n3jHwCg+X02LNhZiOBdZc6JWGkZSC6AKJJcmhA=; b=YraYmUlVuo4oJHAFPDXobCRC5jLA1ZvVetOLwTtXDSEEdpMJ2uzfwEE1PQF/qr5u90PkhD NsxiBNRcWcfIPP8bjaMW3cFdLOO8AjOhfs7iJWO1ChmM7AkFP+lL2L9xpTk44Hheo1mwM5 qEpNihoRxCdBiT48545rnJd6F3xFwp2VMHu7OdzAa0CMyPx671+YKf1ul5dpVhj0r44WNe BYUOWquYozE3maoq3bIJ7xfAEZo1fkJu6p2GvArhpF8z78d+c+IgdBJciycBwWxbgaV69r NF5C1Qa2kSQ1DOvtfJ15Eh+Uf5X8iJTM8LDo6ze8R77a7K/URKe9y8Iedx/dbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd85C01Cwz1Rpb; Wed, 16 Apr 2025 18:02: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 53GI2sdC075822; Wed, 16 Apr 2025 18:02:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2siK075819; Wed, 16 Apr 2025 18:02:54 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:54 GMT Message-Id: <202504161802.53GI2siK075819@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: 3f39713e4e34 - main - pf: log reused states in addition to failed state insertions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 3f39713e4e34f1de02f81f1dcf7a40f1a81c633e Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f39713e4e34f1de02f81f1dcf7a40f1a81c633e commit 3f39713e4e34f1de02f81f1dcf7a40f1a81c633e Author: Kristof Provost AuthorDate: 2025-04-16 07:46:15 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:48 +0000 pf: log reused states in addition to failed state insertions To assist debugging TCP connection reuse with NAT, expand the existing log in pf_state_key_attach() from the failed to the reuse case. OK mikeb@ Obtained from: OpenBSD, bluhm , 3cd642e673 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b6525b229c48..97d332bd348c 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1467,9 +1467,35 @@ keyattach: si->key[PF_SK_STACK]->af && sk->af == si->key[PF_SK_STACK]->af && si->direction != s->direction))) { + bool reuse = false; + if (sk->proto == IPPROTO_TCP && si->src.state >= TCPS_FIN_WAIT_2 && - si->dst.state >= TCPS_FIN_WAIT_2) { + si->dst.state >= TCPS_FIN_WAIT_2) + reuse = true; + + if (V_pf_status.debug >= PF_DEBUG_MISC) { + printf("pf: %s key attach " + "%s on %s: ", + (idx == PF_SK_WIRE) ? + "wire" : "stack", + reuse ? "reuse" : "failed", + s->kif->pfik_name); + pf_print_state_parts(s, + (idx == PF_SK_WIRE) ? + sk : NULL, + (idx == PF_SK_STACK) ? + sk : NULL); + printf(", existing: "); + pf_print_state_parts(si, + (idx == PF_SK_WIRE) ? + sk : NULL, + (idx == PF_SK_STACK) ? + sk : NULL); + printf("\n"); + } + + if (reuse) { /* * New state matches an old >FIN_WAIT_2 * state. We can't drop key hash locks, @@ -1486,25 +1512,6 @@ keyattach: si->timeout = PFTM_PURGE; olds = si; } else { - if (V_pf_status.debug >= PF_DEBUG_MISC) { - printf("pf: %s key attach " - "failed on %s: ", - (idx == PF_SK_WIRE) ? - "wire" : "stack", - s->kif->pfik_name); - pf_print_state_parts(s, - (idx == PF_SK_WIRE) ? - sk : NULL, - (idx == PF_SK_STACK) ? - sk : NULL); - printf(", existing: "); - pf_print_state_parts(si, - (idx == PF_SK_WIRE) ? - sk : NULL, - (idx == PF_SK_STACK) ? - sk : NULL); - printf("\n"); - } s->timeout = PFTM_UNLINKED; if (idx == PF_SK_STACK) /* From nobody Wed Apr 16 18:02:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85D65nPz5t22R; Wed, 16 Apr 2025 18:02: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 4Zd85D1dBxz3RQV; Wed, 16 Apr 2025 18:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QGEYo0HV2X4OJBKcZIrSoyyMNri6lEuAxqAJ62UEm0U=; b=DPJWESiESQKVYDYNUaS182MOPNFRRiUMgNh7ZRlaeF/eLH0iMfwYuPI3DFLDeo+w9S+Z3I 5norWdY4sK36S3foY3s1wbDj04Czgo0L7TeG8QP64bIdSivTM14Gx7Gy2xRvhkcC1rYk8K GOVa0AG82lfq4DSjhlZL6E3x0RjpdS88yWSNNDLjSP3IZwQIiP2/Bxsy4AcT0UvZ2TnNgH zA/YBUo0prqyFFhBwMp0Wm5aqouJ7Iaqb945XBm/eoIXDRy+uaatgQLpMWTy7OtBOkuT4l STRR25zB8201ibJqXj6zYDdZfmKB4qdWgtN4ZXdbbMEJ17BaJhQ9uqI6D63emA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826576; a=rsa-sha256; cv=none; b=xAsXILKfidRmkOAwoBGcVlqEK+LyU9FhO9ImN6ZDN+XXSIFx705HDffjfAm1p6ygz0c3+L iqVS9snczuXdk+FK4qGg/YN4S9xPH4hgB5tkelfAKn2NlgS+tqby4E6tYrhAGNpCRLeWz6 ty+xTw8m//eXhyFhcHStygQaXQhICKXS4h/fi2fb0Zvzxe7yLi2cHV/8dJ5RoIZiDuwlpD FacE4SlRQJoiiD+1sWmRUxc42wfMiJmUjjxMCeCyeXig2HbJwkYtP+26vxsLRW/lg2Mh0m G7J2KC4MGkqbjgQv7CvLeKTD1BDvUoQEHOhOlS+sbV5Cg4y1SpYTr+iwAujabg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QGEYo0HV2X4OJBKcZIrSoyyMNri6lEuAxqAJ62UEm0U=; b=yevhllShIWdiCNe0zRXGmAfYI1lyu6KSCtcVFKTS55ttYNbO68IK60oiRRa4eyPf41QDgs GA0A4vdDcUOMeoiklQReXv1N/6Bds6r+/cRyQkIK5gmA0TGHWkhi/fdwDj6pmc6r6WH4FA PkcpeQ3mYvmWmBnF/vINPPrZoTbApdDFWwiTBtRQTYfUr0MVL/u66SjlpIFy78LdJa24ky 67iFXMyvi2VAWuvVOW24fX0tDeiE/bBPFegdpWSPRh8y8KdxByLXaCgI7gM/wKA8MHeVAU qIODNmQmzY9/esqScfMKSUPoFirdU0qKGIoF1Wo6LVlJjrYTPvkl+4naGkXbwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd85D0wjrz1SJf; Wed, 16 Apr 2025 18:02: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 53GI2uBI075863; Wed, 16 Apr 2025 18:02:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2uRp075860; Wed, 16 Apr 2025 18:02:56 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:56 GMT Message-Id: <202504161802.53GI2uRp075860@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: e2177bca94f2 - main - pf: allow pf_get_sport() to work on in rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: e2177bca94f28613ab4a47ef6d3469f80e8d5923 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e2177bca94f28613ab4a47ef6d3469f80e8d5923 commit e2177bca94f28613ab4a47ef6d3469f80e8d5923 Author: Kristof Provost AuthorDate: 2025-04-16 08:47:58 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:48 +0000 pf: allow pf_get_sport() to work on in rules The function pf_get_sport() did work for out rules only. Make it aware of the direction of the packet. Now nat-to can be used by in rules and together with divert-to. Collisions with existing states are found and produce a "NAT proxy port allocation failed" message. OK henning@ mikeb@ Obtained from: OpenBSD, bluhm , 4af3c109db Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_lb.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 9785611271a0..d40f4828eb62 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -226,6 +226,9 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, { struct pf_state_key_cmp key; struct pf_addr init_addr; + int dir = (pd->dir == PF_IN) ? PF_OUT : PF_IN; + int sidx = pd->sidx; + int didx = pd->didx; bzero(&init_addr, sizeof(init_addr)); @@ -291,11 +294,12 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, bzero(&key, sizeof(key)); key.af = pd->naf; key.proto = pd->proto; - key.port[0] = pd->ndport; - PF_ACPY(&key.addr[0], &pd->ndaddr, key.af); do { - PF_ACPY(&key.addr[1], naddr, key.af); + PF_ACPY(&key.addr[didx], &pd->ndaddr, key.af); + PF_ACPY(&key.addr[sidx], naddr, key.af); + key.port[didx] = pd->ndport; + if (udp_mapping && *udp_mapping) PF_ACPY(&(*udp_mapping)->endpoints[1].addr, naddr, pd->af); @@ -304,8 +308,8 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, * similar 2 portloop in in_pcbbind */ if (pd->proto == IPPROTO_SCTP) { - key.port[1] = pd->nsport; - if (!pf_find_state_all_exists(&key, PF_IN)) { + key.port[sidx] = pd->nsport; + if (!pf_find_state_all_exists(&key, dir)) { *nport = pd->nsport; return (0); } else { @@ -317,14 +321,14 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, * XXX bug: icmp states don't use the id on both sides. * (traceroute -I through nat) */ - key.port[1] = pd->nsport; - if (!pf_find_state_all_exists(&key, PF_IN)) { + key.port[sidx] = pd->nsport; + if (!pf_find_state_all_exists(&key, dir)) { *nport = pd->nsport; return (0); } } else if (low == high) { - key.port[1] = htons(low); - if (!pf_find_state_all_exists(&key, PF_IN)) { + key.port[sidx] = htons(low); + if (!pf_find_state_all_exists(&key, dir)) { if (udp_mapping && *udp_mapping != NULL) { (*udp_mapping)->endpoints[1].port = htons(low); if (pf_udp_mapping_insert(*udp_mapping) == 0) { @@ -350,14 +354,14 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, /* low <= cut <= high */ for (tmp = cut; tmp <= high && tmp <= 0xffff; ++tmp) { if (udp_mapping && *udp_mapping != NULL) { - (*udp_mapping)->endpoints[1].port = htons(tmp); + (*udp_mapping)->endpoints[sidx].port = htons(tmp); if (pf_udp_mapping_insert(*udp_mapping) == 0) { *nport = htons(tmp); return (0); } } else { - key.port[1] = htons(tmp); - if (!pf_find_state_all_exists(&key, PF_IN)) { + key.port[sidx] = htons(tmp); + if (!pf_find_state_all_exists(&key, dir)) { *nport = htons(tmp); return (0); } @@ -374,8 +378,8 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, return (0); } } else { - key.port[1] = htons(tmp); - if (!pf_find_state_all_exists(&key, PF_IN)) { + key.port[sidx] = htons(tmp); + if (!pf_find_state_all_exists(&key, dir)) { *nport = htons(tmp); return (0); } From nobody Wed Apr 16 18:02:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85F4FyXz5t2RS; Wed, 16 Apr 2025 18:02: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 4Zd85F2R8Dz3R19; Wed, 16 Apr 2025 18:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYyEyENAkZ1ovnuYFqLk/2xEiC0guznF9iCMoPNwc0I=; b=LM3ySRfT1yhsrJED9VwgElL5V4BjMOtsaOV7ZV+/NKBansFX1oTNDSIzWQ0WCl/Gm2Lchg R7wuJ8QxDAEOlXConn0b2GT/Cwo4EDL+t4ugMvwZfOElIWvC1tmkdQbFANMGF6fvX94giJ xLPo6DekRYd8BPSKicYUtPsSwxFgkaK1FPMtqbFgomtN8Aqb41mlmw00pNtnPjp8PfXM7i 5hKcuEsHiZaxInp39iKyCrRChiCod0C47SqUjt4i4jm8FHERGm7H3cK99u7jLRnq7xHSik 6IOndPhgPea3TFWm9UCVMh8SQ0vf1q67ew2lQ+zNzC5nkRKTtkc/LfHIoAiRRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826577; a=rsa-sha256; cv=none; b=vZf70qKeHGW9Ai5h+S5r24nJuYCpL5N7bJKgB9g+GvoRQ5lKGpO7XkgmL8MsPbQdvX2b2i VyToVk05uOZhH+oRb5swesD8uYeRSKNPCdhCDStBwLEA9FYxwvJKL/8jTp9+dDtX5PmbXN fGsbleYqp+8Huo6nGFbroE9Sj3e3L54lKD039AWXnvhileze/pNzO0YV7bVTBlOieztl1W pya8iyod7C+MpnP3dvO/o377tGWzDrUK5OFmEd/8qRwa6lyQ8glmblLApOFrlqd5EXeUac lGyw37fhJKda66uMzdRUydMTCHbW2A0IM4uLTrEUftBZaugPIPYR0jsZFY5/fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYyEyENAkZ1ovnuYFqLk/2xEiC0guznF9iCMoPNwc0I=; b=NeYxTZsR5Ouhho5nj681DhtUkeppGojtLl2pt1pU5qiorscfAHnxRQa40nmmzycZaHWdVW mW69KiqklK9xzY6trysmkXGq1V33FMmEMbt2ggeazVfO2A0+BNv1PN42stOYu0ujZToA3J e+JKXQbe3lui2PidnPbvkLPmePjUM0NKotDmINwINebHNsm1JV77Fx8sDiB6gR1Hzw9G0h Er+VSmGaXHBsavu3I3VMxvhtGvVXFRH6Ko2vZqjiapaARfj4kesC0ZSrnV/htGTpE/BoKw m0gXPYFKWiKMjmB3qDUjK/O8msDGM60QY9ovSvhFDQGUocOx633EHhZFx1WKLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd85F1nzgz1SKc; Wed, 16 Apr 2025 18:02: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 53GI2vb0075899; Wed, 16 Apr 2025 18:02:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2vi7075896; Wed, 16 Apr 2025 18:02:57 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:57 GMT Message-Id: <202504161802.53GI2vi7075896@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: f09ee340d2b7 - main - pf: remove unused macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: f09ee340d2b7821177594ac6eca62c54cdb7ed32 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f09ee340d2b7821177594ac6eca62c54cdb7ed32 commit f09ee340d2b7821177594ac6eca62c54cdb7ed32 Author: Kristof Provost AuthorDate: 2025-04-16 09:12:43 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:48 +0000 pf: remove unused macros Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 22b902532743..a38525353a9c 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -347,14 +347,6 @@ struct pfi_dynaddr { u_int8_t pfid_iflags; /* PFI_AFLAG_* */ }; -/* - * Address manipulation macros - */ -#define HTONL(x) (x) = htonl((__uint32_t)(x)) -#define HTONS(x) (x) = htons((__uint16_t)(x)) -#define NTOHL(x) (x) = ntohl((__uint32_t)(x)) -#define NTOHS(x) (x) = ntohs((__uint16_t)(x)) - #define PF_NAME "pf" #define PF_HASHROW_ASSERT(h) mtx_assert(&(h)->lock, MA_OWNED) From nobody Wed Apr 16 18:02:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85G4hMkz5t2RW; Wed, 16 Apr 2025 18:02: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 4Zd85G3GQRz3RR6; Wed, 16 Apr 2025 18:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLDRJepgwxJ8wJ01l4p8uN4P6hHeoAzGqhlhlhwq0Hs=; b=S+zb69aAyQboGCyPAKbo+/K+kpnCAtfygilRgOVRJ6K+lW6vRl4DgVnYJ5DNBFB9o0NRHk Lzh5trRh9/91oVFMT57lihEYYl3VSPtz/gpauptu+QqyjJhFBBepT2oK2pY5B5WlWPeiqz gE2BMI9+u2pQLyDNPMa267XLBEkFdv/G2I6eMJ7PzKP617A/ny/y9Hy7y/mdD+6vxrNzZJ bZ94oshefzBXGith4yepg14oDPZiOsAEiKW7GaKT4uhM096TGT8fZ5yhVlhpkJrPECO2CE W1EavnyI6TPW0xDib4DOO/eiT6ZgRXCcnCfikUI2iWOSIdDF4N4EiAIuHJZS+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826578; a=rsa-sha256; cv=none; b=YgzyzuSSfVUhpJvGeXTjkEpslYTmtbjGLbYrjA5i69wo1n3fY3VrAqJaXioY+kldvVFdR6 oxCGMIPjCHhRZLYAwyftcRosi4OCWOwGo1exVvsbi2zcBkFER2B6+qKhdqFS+ofbGhHqxy WVl6OLw5Ugq3V9Rc8t7yEc8hm91dwlhY+9ADpUgxg0FvVjmHo25Y4MJiDD85J5Hh2PrYg6 DFb+yfkKynubfXu2/qagkge3R3QxmGwWx3RWnHcNwamBLqgdFc//VmWkiopCZ7DyKm9JCm 9hmrIpADYL6gko4hP0SU4583aYc2Xmf+9JbQl4wDlltm3DdluIUwXLmyyt4msg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLDRJepgwxJ8wJ01l4p8uN4P6hHeoAzGqhlhlhwq0Hs=; b=OOVxb4VINnQ1G62+w2yEqrPbl0qF8a7jF7ff7jP78Id6zX61U8LE5h3tDaxq1N8GEFKFWK NWguW+kuST8QDZT/iugxHalqGW0ZyVP7jy0B5VUGeMSLQNg0MmV0ilJ2KwsDzxtheN71e+ JcyBM4EDyyDCpmv1irvojYg/SAOptiqbSRp44agub6gCk2r64YS8nLkjh2QLKQaLu07SQO Q4FFxCk/KJTMQLfWsbLjzrLA5MwuGz8mtMrk1UkhX7qT3HtWu5vfBQ0Q+iGMkzp/j3S/5x ugt0sQfDbDcsQ5gyVJDoi7vMUUlVklXb+1sJ4l2Y+LvKCXQz6kzmjx/ShPmUVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd85G2rFVz1Rpc; Wed, 16 Apr 2025 18:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GI2w5o075933; Wed, 16 Apr 2025 18:02:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2wqC075930; Wed, 16 Apr 2025 18:02:58 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:58 GMT Message-Id: <202504161802.53GI2wqC075930@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: 911d74bcbd7a - main - pf: simplify pf_patch* arguments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 911d74bcbd7aa4202f1ee7251ac6b01af7fbfe4c Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=911d74bcbd7aa4202f1ee7251ac6b01af7fbfe4c commit 911d74bcbd7aa4202f1ee7251ac6b01af7fbfe4c Author: Kristof Provost AuthorDate: 2025-04-16 10:17:45 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:49 +0000 pf: simplify pf_patch* arguments Pass struct pf_pdesc rather than separate arguments. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 6 ++---- sys/netpfil/pf/pf.c | 42 +++++++++++++++++++----------------------- sys/netpfil/pf/pf_norm.c | 18 ++++++------------ 3 files changed, 27 insertions(+), 39 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index a38525353a9c..b216b888832f 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2453,10 +2453,8 @@ void pf_change_a(void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_proto_a(struct mbuf *, void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_tcp_a(struct mbuf *, void *, u_int16_t *, u_int32_t); -void pf_patch_16_unaligned(struct mbuf *, u_int16_t *, void *, u_int16_t, - bool, u_int8_t); -void pf_patch_32_unaligned(struct mbuf *, u_int16_t *, void *, u_int32_t, - bool, u_int8_t); +void pf_patch_16_unaligned(struct pf_pdesc *, void *, u_int16_t, bool); +void pf_patch_32_unaligned(struct pf_pdesc *, void *, u_int32_t, bool); void pf_send_deferred_syn(struct pf_kstate *); int pf_match_addr(u_int8_t, const struct pf_addr *, const struct pf_addr *, const struct pf_addr *, sa_family_t); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 97d332bd348c..24963d010e04 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -381,8 +381,8 @@ static int pf_walk_header6(struct pf_pdesc *, struct ip6_hdr *, u_short *); static void pf_print_state_parts(struct pf_kstate *, struct pf_state_key *, struct pf_state_key *); -static void pf_patch_8(struct mbuf *, u_int16_t *, u_int8_t *, u_int8_t, - bool, u_int8_t); +static void pf_patch_8(struct pf_pdesc *, u_int8_t *, u_int8_t, + bool); static struct pf_kstate *pf_find_state(struct pfi_kkif *, const struct pf_state_key_cmp *, u_int); static bool pf_src_connlimit(struct pf_kstate *); @@ -3216,8 +3216,7 @@ pf_cksum_fixup(u_int16_t cksum, u_int16_t old, u_int16_t new, u_int8_t udp) } static void -pf_patch_8(struct mbuf *m, u_int16_t *cksum, u_int8_t *f, u_int8_t v, bool hi, - u_int8_t udp) +pf_patch_8(struct pf_pdesc *pd, u_int8_t *f, u_int8_t v, bool hi) { u_int16_t old = htons(hi ? (*f << 8) : *f); u_int16_t new = htons(hi ? ( v << 8) : v); @@ -3227,34 +3226,33 @@ pf_patch_8(struct mbuf *m, u_int16_t *cksum, u_int8_t *f, u_int8_t v, bool hi, *f = v; - if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) + if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) return; - *cksum = pf_cksum_fixup(*cksum, old, new, udp); + *pd->pcksum = pf_cksum_fixup(*pd->pcksum, old, new, + pd->proto == IPPROTO_UDP); } void -pf_patch_16_unaligned(struct mbuf *m, u_int16_t *cksum, void *f, u_int16_t v, - bool hi, u_int8_t udp) +pf_patch_16_unaligned(struct pf_pdesc *pd, void *f, u_int16_t v, bool hi) { u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; - pf_patch_8(m, cksum, fb++, *vb++, hi, udp); - pf_patch_8(m, cksum, fb++, *vb++, !hi, udp); + pf_patch_8(pd, fb++, *vb++, hi); + pf_patch_8(pd, fb++, *vb++, !hi); } void -pf_patch_32_unaligned(struct mbuf *m, u_int16_t *cksum, void *f, u_int32_t v, - bool hi, u_int8_t udp) +pf_patch_32_unaligned(struct pf_pdesc *pd, void *f, u_int32_t v, bool hi) { u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; - pf_patch_8(m, cksum, fb++, *vb++, hi, udp); - pf_patch_8(m, cksum, fb++, *vb++, !hi, udp); - pf_patch_8(m, cksum, fb++, *vb++, hi, udp); - pf_patch_8(m, cksum, fb++, *vb++, !hi, udp); + pf_patch_8(pd, fb++, *vb++, hi); + pf_patch_8(pd, fb++, *vb++, !hi); + pf_patch_8(pd, fb++, *vb++, hi); + pf_patch_8(pd, fb++, *vb++, !hi); } u_int16_t @@ -3952,16 +3950,14 @@ pf_modulate_sack(struct pf_pdesc *pd, struct tcphdr *th, for (i = 2; i + TCPOLEN_SACK <= olen; i += TCPOLEN_SACK) { memcpy(&sack, &opt[i], sizeof(sack)); - pf_patch_32_unaligned(pd->m, - &th->th_sum, &sack.start, + pf_patch_32_unaligned(pd, + &sack.start, htonl(ntohl(sack.start) - dst->seqdiff), - PF_ALGNMNT(startoff), - 0); - pf_patch_32_unaligned(pd->m, &th->th_sum, + PF_ALGNMNT(startoff)); + pf_patch_32_unaligned(pd, &sack.end, htonl(ntohl(sack.end) - dst->seqdiff), - PF_ALGNMNT(startoff), - 0); + PF_ALGNMNT(startoff)); memcpy(&opt[i], &sack, sizeof(sack)); } copyback = 1; diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 1bf672f39204..10e740d33b0d 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1633,13 +1633,11 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, (src->scrub->pfss_flags & PFSS_TIMESTAMP)) { tsval = ntohl(tsval); - pf_patch_32_unaligned(pd->m, - &th->th_sum, + pf_patch_32_unaligned(pd, &opt[2], htonl(tsval + src->scrub->pfss_ts_mod), - PF_ALGNMNT(startoff), - 0); + PF_ALGNMNT(startoff)); copyback = 1; } @@ -1651,12 +1649,10 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, PFSS_TIMESTAMP)) { tsecr = ntohl(tsecr) - dst->scrub->pfss_ts_mod; - pf_patch_32_unaligned(pd->m, - &th->th_sum, + pf_patch_32_unaligned(pd, &opt[6], htonl(tsecr), - PF_ALGNMNT(startoff), - 0); + PF_ALGNMNT(startoff)); copyback = 1; } got_ts = 1; @@ -1978,11 +1974,9 @@ pf_normalize_mss(struct pf_pdesc *pd) case TCPOPT_MAXSEG: mss = (u_int16_t *)(optp + 2); if ((ntohs(*mss)) > pd->act.max_mss) { - pf_patch_16_unaligned(pd->m, - &th->th_sum, + pf_patch_16_unaligned(pd, mss, htons(pd->act.max_mss), - PF_ALGNMNT(startoff), - 0); + PF_ALGNMNT(startoff)); m_copyback(pd->m, pd->off + sizeof(*th), thoff - sizeof(*th), opts); m_copyback(pd->m, pd->off, sizeof(*th), (caddr_t)th); From nobody Wed Apr 16 18:02:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zd85J0vdKz5t24s; Wed, 16 Apr 2025 18:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zd85H4dqyz3RNH; Wed, 16 Apr 2025 18:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9/Ucao1Apoh6oXkCy4/wdYMuYxnmNm9ObSAEVxcm7o=; b=xj6Mnb1kR+YcH5M6He0DsPjqWx+i/YeQyuEXmCELvuYTvQAhjLZu2t2qdrGrB0NNe6GDaj J+ngS2zJHK7IRfhR/zmeRi511yXizYi4iSImX05GJScrrKv1NDdSzKWh3QaqWA2usD4wd+ 4RD9txL7kiOZ1PzpQadfc/zq7tsch6D7wBQ4qFm+Uon9dMX3WrxnXcxZVvizkgtOnHBdMv vgMJ9NPFCBgHpX5ylEYjevfLo56DdUTVadGc5+51IQX3E5sASyYUfAtkK9C/eUEp8Hbulr pyim1xQsSbxdJ7U/0TFadl03WuWrEaGJG8tEV8aPsGK8R1INM9IYzF2x0jDI3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744826579; a=rsa-sha256; cv=none; b=hy5wH8USmc5U1YhUqY9z1XYgBWDVEpag1VhqPpH00lXoLUOZdcFOgHT1I1dVw7aH0zQLQT dh2j3szhZqiw0uYmBg1bOCFvaJI2Zrucs8h6lnBP6OBN97w+/ZgAKKZiDcSrlLbeDlLrCy mTx87nsFq9/dg6X7SLBkB4H5ed/V9OICJzcSeojVal6VuzgiZmNbHnUthPfXEzBKYotORY 2IrYpdtfA8MYyBdVCaClj+2pK42sJDcOE8aNOOMYUaiy7KYV/8C9IArDjONDuExSrMFVEt yyccrv1wP1Ld3f9R/jb2NHBeZkY+Wi2II+qsxpLccD2zczrSQ7qNiZUTp8ItSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744826579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9/Ucao1Apoh6oXkCy4/wdYMuYxnmNm9ObSAEVxcm7o=; b=p5mBxwiDvj+uLSJthMLLEycrCNuIwL92Rb9USeRexd00/0EKfSox3Jy7/ewaXO9eqcp+8G GsQeRYd1XESOKySm8n3iaujUfhJ+98LuzM7BOjRMkV2aagD+/6wa4cogh/r8yNe9UQo0eP m6gAaaZwMrIShB/ogaBb13GIpJurj77/xggMDr1RxX7Eg/+7TNCis+vur+imkGInY4yma8 YJ4wcb97od4OMDZgN+jf65nz6RxSa82bx9v4wAn8GRA3Fe3iNgM7fDTOIM5Ahx/ZfER4Sm SnWobkTnTUIk653dm08KhO1oxALOUw5sy4d9eWYsDUFjZjSkNSbGOhMyUg4nmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zd85H3y54z1SKd; Wed, 16 Apr 2025 18:02: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 53GI2x7C075967; Wed, 16 Apr 2025 18:02:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GI2x15075964; Wed, 16 Apr 2025 18:02:59 GMT (envelope-from git) Date: Wed, 16 Apr 2025 18:02:59 GMT Message-Id: <202504161802.53GI2x15075964@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: 435e9214478c - main - pf: remove _unaligned from pf_patch_(16|32)_unaligned() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 435e9214478cdc120fff555e51e6b334dbc64857 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=435e9214478cdc120fff555e51e6b334dbc64857 commit 435e9214478cdc120fff555e51e6b334dbc64857 Author: Kristof Provost AuthorDate: 2025-04-16 12:21:16 +0000 Commit: Kristof Provost CommitDate: 2025-04-16 14:23:49 +0000 pf: remove _unaligned from pf_patch_(16|32)_unaligned() This is the only variant of the function, appending _unaligned does not clarify anything. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 4 ++-- sys/netpfil/pf/pf.c | 8 ++++---- sys/netpfil/pf/pf_norm.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index b216b888832f..c7a2bde63184 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2453,8 +2453,8 @@ void pf_change_a(void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_proto_a(struct mbuf *, void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_tcp_a(struct mbuf *, void *, u_int16_t *, u_int32_t); -void pf_patch_16_unaligned(struct pf_pdesc *, void *, u_int16_t, bool); -void pf_patch_32_unaligned(struct pf_pdesc *, void *, u_int32_t, bool); +void pf_patch_16(struct pf_pdesc *, void *, u_int16_t, bool); +void pf_patch_32(struct pf_pdesc *, void *, u_int32_t, bool); void pf_send_deferred_syn(struct pf_kstate *); int pf_match_addr(u_int8_t, const struct pf_addr *, const struct pf_addr *, const struct pf_addr *, sa_family_t); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 24963d010e04..5d16af6c6d4b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3234,7 +3234,7 @@ pf_patch_8(struct pf_pdesc *pd, u_int8_t *f, u_int8_t v, bool hi) } void -pf_patch_16_unaligned(struct pf_pdesc *pd, void *f, u_int16_t v, bool hi) +pf_patch_16(struct pf_pdesc *pd, void *f, u_int16_t v, bool hi) { u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; @@ -3244,7 +3244,7 @@ pf_patch_16_unaligned(struct pf_pdesc *pd, void *f, u_int16_t v, bool hi) } void -pf_patch_32_unaligned(struct pf_pdesc *pd, void *f, u_int32_t v, bool hi) +pf_patch_32(struct pf_pdesc *pd, void *f, u_int32_t v, bool hi) { u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; @@ -3950,11 +3950,11 @@ pf_modulate_sack(struct pf_pdesc *pd, struct tcphdr *th, for (i = 2; i + TCPOLEN_SACK <= olen; i += TCPOLEN_SACK) { memcpy(&sack, &opt[i], sizeof(sack)); - pf_patch_32_unaligned(pd, + pf_patch_32(pd, &sack.start, htonl(ntohl(sack.start) - dst->seqdiff), PF_ALGNMNT(startoff)); - pf_patch_32_unaligned(pd, + pf_patch_32(pd, &sack.end, htonl(ntohl(sack.end) - dst->seqdiff), PF_ALGNMNT(startoff)); diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 10e740d33b0d..783e48627c0f 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1633,7 +1633,7 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, (src->scrub->pfss_flags & PFSS_TIMESTAMP)) { tsval = ntohl(tsval); - pf_patch_32_unaligned(pd, + pf_patch_32(pd, &opt[2], htonl(tsval + src->scrub->pfss_ts_mod), @@ -1649,7 +1649,7 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, PFSS_TIMESTAMP)) { tsecr = ntohl(tsecr) - dst->scrub->pfss_ts_mod; - pf_patch_32_unaligned(pd, + pf_patch_32(pd, &opt[6], htonl(tsecr), PF_ALGNMNT(startoff)); @@ -1974,7 +1974,7 @@ pf_normalize_mss(struct pf_pdesc *pd) case TCPOPT_MAXSEG: mss = (u_int16_t *)(optp + 2); if ((ntohs(*mss)) > pd->act.max_mss) { - pf_patch_16_unaligned(pd, + pf_patch_16(pd, mss, htons(pd->act.max_mss), PF_ALGNMNT(startoff)); m_copyback(pd->m, pd->off + sizeof(*th), From nobody Wed Apr 16 19:46:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNc0SsBz5t8Kv; Wed, 16 Apr 2025 19:46: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 4ZdBNb60m8z3kpl; Wed, 16 Apr 2025 19:46:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLpY/0iOICxJsWjL6TFNiT8CkabCeFjeCle+ia5EKFc=; b=Jg7Hj289tJ74F+oWFz0JIOSMoqeBmLy1q0sJKxNP76T/D/5kQZexAa0psA8bWmez0Bcq+D jTc9pbOGbhrdhfhqm8LU4TGlbISp7K87MXqoX5djx67KkGfzJ8q7x1oKCNGLvFgbtl/dRO jrXcy6VLcDWQ6qr0g7Q4fmmkPFj/pK8gxGxqEU1uFMpMMv4HDRJhwhQEG++uq0FfWPxOy5 jp/SFcAyE5BaW875/WwbfXGEapds484hhUGGVjRjXkS2x4kw5BNb14CONuWQNYWcVkvD/I 86WAOUE75vyP703eMUjtpCqWA0wafMWKbpV/WGkSOK7ISSpdpur1/lmtW91Ucw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832783; a=rsa-sha256; cv=none; b=rjRLUCiJpvOI7x7sdjLOQnNvTLA2jjRfY4MFblpNcvmc8647XQ6AGHONk0HQQZfIP38v9o staRzisxAG/KW9fk0HtKmsPKyyTYM5g/PXmSiqM/4CHnSUQOzM7YzvuoPYpgDNknHaoqPN 3lbC6COc5ZNKzpichdRi9McYO5HHFuYiqok2Br6gsms7zxydvtFXjNm+oXZEgp11DLdznn mxN3wW5cGzsr/iU/fjVMo/td68E+l+msCL+0hn+Gz4bz2DGKv2DpM96xSk2Nkcljxzgvxg IoxM3DMK7EkAZUJEmHTnqVY4O8pLZXMu8IkyVwCVhKL2fh8A15aOuJEqF24E3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLpY/0iOICxJsWjL6TFNiT8CkabCeFjeCle+ia5EKFc=; b=TXJm3aZc0Z8v2YroSJDzPGCPrNHaVytsDObjz8WLFUqyOujQKznZFlMsLlEo3y2pvaPJjx pghuceZfKdHxHvvR/YAceLazkC/kzMim05tQ7Hw5JTEYbWHn9Xur6lGBtOJpXILM90Qbwm j/ga5r999y/VPcixg6hbWnnkWqkY67I/9by0+C0DCxvGKvUepho6mRXgcuKdJVqbg4m0cr oweHnrQoFKXNrjjvvcFgKvakVe8RIJ3pMIA7M29EbCUrBAdsP8iJtJSqTmyTrmW0d5UUAA a2/EceOovMV7nwhtd2wjW6mXfbYlQo3k4bFdxuS6Xi+VoGRQqmK+lDTYDQlEgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNb5GmDz1tD; Wed, 16 Apr 2025 19:46: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 53GJkNFI063498; Wed, 16 Apr 2025 19:46:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkNOu063495; Wed, 16 Apr 2025 19:46:23 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:23 GMT Message-Id: <202504161946.53GJkNOu063495@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: e7bf1e5f1d62 - main - timeout(1): Improve duration parsing and error messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: e7bf1e5f1d62c2e735d343c462275e7e2aaf0286 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e7bf1e5f1d62c2e735d343c462275e7e2aaf0286 commit e7bf1e5f1d62c2e735d343c462275e7e2aaf0286 Author: Aaron LI AuthorDate: 2025-04-02 11:20:02 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:37 +0000 timeout(1): Improve duration parsing and error messages Obtained-from: OpenBSD (via DragonFly BSD) --- bin/timeout/timeout.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 429ca64349e3..83893ba0a601 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -68,19 +68,19 @@ static double parse_duration(const char *duration) { double ret; - char *end; + char *suffix; - ret = strtod(duration, &end); - if (ret == 0 && end == duration) - errx(EXIT_INVALID, "invalid duration"); + ret = strtod(duration, &suffix); + if (suffix == duration) + errx(EXIT_INVALID, "duration is not a number"); - if (end == NULL || *end == '\0') + if (*suffix == '\0') return (ret); - if (end != NULL && *(end + 1) != '\0') - errx(EXIT_INVALID, "invalid duration"); + if (suffix[1] != '\0') + errx(EXIT_INVALID, "duration unit suffix too long"); - switch (*end) { + switch (*suffix) { case 's': break; case 'm': @@ -93,11 +93,11 @@ parse_duration(const char *duration) ret *= 60 * 60 * 24; break; default: - errx(EXIT_INVALID, "invalid duration"); + errx(EXIT_INVALID, "duration unit suffix invalid"); } if (ret < 0 || ret >= 100000000UL) - errx(EXIT_INVALID, "invalid duration"); + errx(EXIT_INVALID, "duration out of range"); return (ret); } From nobody Wed Apr 16 19:46:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNd1zgvz5t8n9; Wed, 16 Apr 2025 19:46: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 4ZdBNc6VcFz3kmq; Wed, 16 Apr 2025 19:46:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MYArKwbCIHx4rUg3EtanmuCYCBOpJB2253DJPbbyuys=; b=TXQI+9hYXg+lF0EdXL0YPLDE6TxJ0wHbr6h/kpgzCSFRzCTIswfUfrjxiOnmwtStP2vvF2 uvTQ8Ym3Pl14pLSfnR7sTc9cK0WTBXd0yHzUKZdgM/VisXRK7w1I0apwrQGatrVzg8zWDD FMvFAi+7BDE+tkIWjTWJBFGXxY7KEo8T1NANNrqKeL1F9YJhy4+rJPFBOAPAvqxD67FMgk 4ofgh3g23cTvd/9vzKejwJYqWcqoa3AqCljB6Ot4KKsGI3Eh3cdd3bQM0WxZZGX1TkEHqJ HXftEBSUphzwjdF1Mb2+UofYs8MDg/1SAuhjEkXpPusEZhEAyvukQt2DRzUgDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832784; a=rsa-sha256; cv=none; b=Ubl8a+sfW7r1nT5n/Ju5vOp3uEuYtOJFx/n/f1NXxS+njBPsoqHZU1vrwVdqynHjTN/jOn MKa/iV/ubaQ4KkPLMM9AO5S/l1R9iz3DTUjVWDPn1wfF4GCGGj24ZhC1Y0PRDftgkROvO1 IqBWCoXVkKnRMtqGCKDSy1lzxKTQqPRRieNwe8GUq9yIrggAWBFYAc8hFRcC5xIcX+b9oO hZ2gJnE+kF8/DMLpTmAFAggvA/FGPewS61kMq3yuAa1HKaPb79OPmyYDn55c6wNoXFy4ZP KuZivt17RqmwI/3hqrFoUZSl//TAq8k407F7Z49Dip28DgcVYICObd0t4yhl2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MYArKwbCIHx4rUg3EtanmuCYCBOpJB2253DJPbbyuys=; b=qAlscHG4+JYlGHB8q3Qu+tJUggKhLujL5RXQRmbqISvQiK6gmNgRUiRjPZfxgnyHUuoqpM TZMHUxDzITjNUxo4kXKUg6ClRhB2lpt69FAeHgw0RbEmNFEPyOTblZhoCkx7QYrVWm8x+r jCeIECnLThcJljSb819cA6yBLzEVoFFrgLKPVRBan2XNDmhqw7qVtOvKkPnTUovDkkjha+ qzScDhFFeVqObkjGDdlH8EK+Ka310BzF4sQTJ3gzQC0OnWeamrBSW01GHOy+Alr82UTKLy G2QdZRPmVYWZ4U4t8l3ZVnh66jFBIAbVgtVKrripiyfiIEEFXbh80K0Jxoz4VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNc62gZz2JQ; Wed, 16 Apr 2025 19:46: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 53GJkOwt063531; Wed, 16 Apr 2025 19:46:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkOl9063528; Wed, 16 Apr 2025 19:46:24 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:24 GMT Message-Id: <202504161946.53GJkOl9063528@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: 672ee7eb800c - main - timeout(1): fix test after improvement of error messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 672ee7eb800c43a9e29c6e38e7e9927c40cb2477 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=672ee7eb800c43a9e29c6e38e7e9927c40cb2477 commit 672ee7eb800c43a9e29c6e38e7e9927c40cb2477 Author: Baptiste Daroussin AuthorDate: 2025-04-16 19:26:00 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:37 +0000 timeout(1): fix test after improvement of error messages --- bin/timeout/tests/timeout_test.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/timeout/tests/timeout_test.sh b/bin/timeout/tests/timeout_test.sh index 2a8e0112b97c..d08f6c01e067 100644 --- a/bin/timeout/tests/timeout_test.sh +++ b/bin/timeout/tests/timeout_test.sh @@ -126,31 +126,31 @@ invalid_timeout_body() { atf_check \ -o empty \ - -e inline:"timeout: invalid duration\n" \ + -e inline:"timeout: duration is not a number\n" \ -s exit:125 \ timeout invalid sleep 0 atf_check \ -o empty \ - -e inline:"timeout: invalid duration\n" \ + -e inline:"timeout: duration is not a number\n" \ -s exit:125 \ timeout --kill-after=invalid 1 sleep 0 atf_check \ -o empty \ - -e inline:"timeout: invalid duration\n" \ + -e inline:"timeout: duration unit suffix invalid\n" \ -s exit:125 \ timeout 42D sleep 0 atf_check \ -o empty \ - -e inline:"timeout: invalid duration\n" \ + -e inline:"timeout: duration out of range\n" \ -s exit:125 \ timeout 999999999999999999999999999999999999999999999999999999999999d sleep 0 atf_check \ -o empty \ - -e inline:"timeout: invalid duration\n" \ + -e inline:"timeout: duration out of range\n" \ -s exit:125 \ timeout 2.34e+5d sleep 0 } From nobody Wed Apr 16 19:46:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNf1nrHz5t8g7; Wed, 16 Apr 2025 19:46: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 4ZdBNf0gmpz3kq5; Wed, 16 Apr 2025 19:46:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9gxukZtLlmpFGdTlW/v4kHHitJ0lWxnZs2m1856vuhQ=; b=bfAW9yPVxZDYJXfOxVyDPUXcISITlmiQ5g5WxXS3Gv7044BCUnVNEmyAn4qnYkSiowm7Ra 72270UMr8C7rR/VGJrHcr3YyT4mYugEUPZImR+Mb5WVS2TmSbXnwjxgYyum+ZiNX/FDRit Sg2o92Prr+uorAEGYSeTiIOowdzSAYeq64o0miUIau/+mzkWbGnRRsUGkIXEsPNA4Bns5x Vbff+3yJ+bkFBdarXJDtk2tqH6Xr5Pg/UL3uUhctaWgw/j/WtPA7Wf7bEFV7+gG/gtYpna aSfgTYq3qVSgceYl+7ANrZRmZyx2anHaaM7shyw3QOO4MQOaUAxlHxhWjhZCXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832786; a=rsa-sha256; cv=none; b=rTLr2k8Y7WhHDN9RqVI4cfAeA2BPXzSVGwJ1Mh36U9AWd0ppGAV1WMQ9qCLUXe+y7lT0cB 34r7saLeD3nWlred1Mu0vKM/vEIIgsUJSkh4M0l29+TbUmnNNYPgxeP+HHUhZ0WEilkpbV kJ2Uikh5gPFbx2HfoENdoHlF9p2k3cMDSAH2ZvMpGbDnd7USIKNlZkt4tjkGqaOqHmilYe bDOFHs9/kq0l8OjVrouzcBhQx0Shb1O8jl4Ic5YzqsU+ZNktjKOx24UdsS0LQAJ6/N6cbc FKkczdyD+KYWruwmZDOfHyvOrJG3hLj5TYK17/VuEo/NrY7yHcz4fGQctFJHDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9gxukZtLlmpFGdTlW/v4kHHitJ0lWxnZs2m1856vuhQ=; b=kzJJyHoMPSGIypvO5JJWKGt3IL7aRfgxUIedK0Kidj/+QLM9kOaQoqrwghZfFqvHz5uNja UuKmqm2Xwg9hnAfkY/qOD8/bJM6cEz7y90QdwovgeNJU5Hk4T/ldMsYuA0ZK4yLVLOHcpU yrc/bMjpTxLQa10P16ZZFb/mDwvADP1sENwonfzaapgq9eXj5pWbFvHOIcoF8loaZFUS7k nKdMY2xRxSkflTlqy1cwX6v6mzUMvvZSnHJrL6DTNMWLRgXYrSKArDFfyffnfaxC71jvCV l26gLrHpg+frMztesiCK9+3CrHnp2ZBVl6cvE5D+Tn8/dMQz43hLANwMYve/Fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNd6r1Pz1tF; Wed, 16 Apr 2025 19:46: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 53GJkPl3063570; Wed, 16 Apr 2025 19:46:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkP04063567; Wed, 16 Apr 2025 19:46:25 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:25 GMT Message-Id: <202504161946.53GJkP04063567@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: 35503fe28eb5 - main - timeout(1): Use _exit(2) instead of err() in child if exec failed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 35503fe28eb51ef606cf4ae077a96b3c717199d3 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=35503fe28eb51ef606cf4ae077a96b3c717199d3 commit 35503fe28eb51ef606cf4ae077a96b3c717199d3 Author: Aaron LI AuthorDate: 2025-04-02 11:23:06 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Use _exit(2) instead of err() in child if exec failed * The child should _exit(2) instead of calling exit(3) via err(3) if the execvp() failed. * execvp(2) does not return except on error, so there is no need to check if the return value is -1. Obtained-from: OpenBSD (via DragonFly BSD) --- bin/timeout/timeout.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 83893ba0a601..1817ef24995f 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -178,7 +178,7 @@ main(int argc, char **argv) { int ch; int foreground, preserve; - int error, pstat, status; + int pstat, status; int killsig = SIGTERM; size_t i; pid_t pid, cpid; @@ -280,13 +280,9 @@ main(int argc, char **argv) signal(SIGTTIN, SIG_DFL); signal(SIGTTOU, SIG_DFL); - error = execvp(argv[0], argv); - if (error == -1) { - if (errno == ENOENT) - err(EXIT_CMD_NOENT, "exec(%s)", argv[0]); - else - err(EXIT_CMD_ERROR, "exec(%s)", argv[0]); - } + execvp(argv[0], argv); + warn("exec(%s)", argv[0]); + _exit(errno == ENOENT ? EXIT_CMD_NOENT : EXIT_CMD_ERROR); } if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1) From nobody Wed Apr 16 19:46:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNg6m7zz5t8g8; Wed, 16 Apr 2025 19:46:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdBNg1GCXz3kqN; Wed, 16 Apr 2025 19:46:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvi36IQ9x9XD55nTZ5oFV9JA8nTxKgbbi6ZkcerEpO4=; b=px/Qe/Xd1n0z6avTsN+Fbtg+c3W4+UJyrxCamD4yXLyBOOeZ90VRfTGxE86tgHV7lam0iG 9dhmR89AV/XiVn1Nfip4easAKvtV4m1HE/65B7IaQNGcelpDhfqYi56VbPkZZEBKjJKfvy MoztNC1wj/FQ8WoKko4C0ey/OUa4yMDUAzLZxOaI6vtgjV/hJD16XloqX47ujvclLLxpl5 IQVtQjN2s74SajqvufXZ6d1SEXOt55KA9B2Di6tVOdFBXoS7GwxY8/GPVFs9iddCTzs3Wu bivjKi2yBrtQ1W3MyiR6729jKZFl4Lh7NUbcIIBYhSEyIwBWq/EeFpuEfl+Zww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832787; a=rsa-sha256; cv=none; b=n2LI3A84jtPQSBNgQ8MXOat+aIu0OEYL3kJLNTDlSm8BnHcGepbuVXbOcKVXGk7TTMuZDI p0n3zHwdC1FOaZ10LQvDceW/hYo3EAd6ujphhHOFDHm8jCTqKkOjfco8xHH0UsCkwJXVyx ciflojx2IfYiZLYM9BHxM4SAKlKHU2DegsYWJbQr8WYcj28zslvBUryhdxEIXrlbpCGioP Nm/IMxFqRpK4N7+5fo9vS0wLDaJvoWARS1W/XTKzQq4tyPb0F1oRBUVIqK+nIDR5zX2d+E Yl0LNvWGruVmXeMsLIDwl427jzaR1kTx4RAeY9OdUl73n5bXKdiw9S2bMyGuJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvi36IQ9x9XD55nTZ5oFV9JA8nTxKgbbi6ZkcerEpO4=; b=Ku5Lvf9XH2LdK/w5AeMVIJGH7811t/6z82ad5Cj4kLOuzJF2KFd3FP5rpdpgwova/n4hRL fbzNBDS+NWsb0C44tWUnICrWmaNscCrVBZodVTlIQXkm19bJTFXflcrbQXq8KHMGvhLAYC cP7d6RrYZO9NDcO638Deb8oipsAyKczN0M7HYaSPtPLDuZlXHhwZRCnnXnPW65FaNoFw2B Ws0C1UBObzO8wz/kAhKh6p3FC9VETz3d4eqQ1dj7LmnWEaug7fxlXXWjdjLhCWb/pWTv8U ibOqeICirSo+MXFuNjECf7Jl4Ywj8+dmQc2IIria/u9b24gDslBgPk5PilkfBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNg0gY4z2Bm; Wed, 16 Apr 2025 19:46: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 53GJkQHP063604; Wed, 16 Apr 2025 19:46:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkQ2o063601; Wed, 16 Apr 2025 19:46:26 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:26 GMT Message-Id: <202504161946.53GJkQ2o063601@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: 92f8006e8901 - main - timeout(1): sig_atomic_t variables must also be 'volatile' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 92f8006e8901f876af1b97d996dd245aa2c92ec0 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=92f8006e8901f876af1b97d996dd245aa2c92ec0 commit 92f8006e8901f876af1b97d996dd245aa2c92ec0 Author: Aaron LI AuthorDate: 2025-04-02 11:24:10 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): sig_atomic_t variables must also be 'volatile' Obtained-from: OpenBSD (via DragonFly BSD) --- bin/timeout/timeout.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 1817ef24995f..397d692d8647 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -45,10 +45,10 @@ #define EXIT_CMD_ERROR 126 #define EXIT_CMD_NOENT 127 -static sig_atomic_t sig_chld = 0; -static sig_atomic_t sig_term = 0; -static sig_atomic_t sig_alrm = 0; -static sig_atomic_t sig_ign = 0; +static volatile sig_atomic_t sig_chld = 0; +static volatile sig_atomic_t sig_term = 0; +static volatile sig_atomic_t sig_alrm = 0; +static volatile sig_atomic_t sig_ign = 0; static const char *command = NULL; static bool verbose = false; From nobody Wed Apr 16 19:46:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNh3TmGz5t8g9; Wed, 16 Apr 2025 19:46: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 4ZdBNh2288z3kqZ; Wed, 16 Apr 2025 19:46:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3TaD5XEW/kP7iGijxWsWjKD7DaG5bud0BpeADCG1/A=; b=RMKhwcnc2Xvl2lpq59NO9I1GP4hF4cc5T+DwLDuehntpwuxAyTwkQ2NafFCUIu9a0HPgyh B4tt9uDh2V8S93UqfFU04YJKMb+Fb07uKSx00ffUEKZCDaTZVj0/VJnU5CYqQJi2AdqfiB PgKY93Dg5gufLA3Tz8CUvNCzjLQzMI1RUqq1isLKgNPTS7LVsxbSGeIduWevfqtsd5Z78a 9PY5ncJVagAuMrxNI+S5HSPhWVjD5Q3mdYtwOBuZICkuPJDQMjEcicsdJpz+J4K5KjEXDp NB2bFF+crKYR7/MakXWEGnKdMdTlJHCzyj8TMHSzHGHdwW1Cu8K+324wkE5f4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832788; a=rsa-sha256; cv=none; b=aNI724kRe+rVsS/+LpbrjYoqIpNbhUV2v/3h5F0P2Bka9Yy4GkN0d4Zo7MLs5bUTB251hq kdlQzQW5MQX+vI/sm/n4l56SUUJ0psNVt/YRFdnEJJSlHZ2+MSz9wF+uDEVlpPTWwPZs/k eBjSBNBk5JoigP9eumAqG5qBCr8ij/bcgrrpDq2VzlBdcdlqMM1OFmKhB0ZavA1GeqY/MY QqvchaluJ7CX8VTEAPTRQpbiBKTE8BIRzNJZ2n81ZetIDSlDKIry0YywRE2mWL19/TeA7u 4wR76OVYrOM93A1XiUDr3y4h+2EFKdonI26MU8nBsKI1z7dV0PeT9VdpPE3I9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3TaD5XEW/kP7iGijxWsWjKD7DaG5bud0BpeADCG1/A=; b=tN90ZVyK8yUdY0HOo/Wwk4jvw/5oGdw+HJApMHtU7FlZqumVr4W72luqYG7WC2JbNCcmtE p58fL76UDacSYn4ysp8EpxMO60Khv86tateDs6xfrw0UDTWr0BdUrlGz97Y61EyYag6vEl Hg8BOAlF5ZxSYCI/WpeybOpHL4gO4fiMR0K8L/q4wX0zoT9UsX6N1PgADE9Id+iid8M7IF 8Y5IYKLe7C4GJc9J48E19VR0/vamLYSmVt//23uFcq1bLtg2014C+qkf85LPobnYtiCeuT hRuKBcyb3ff5XENcWMIk+uCPoZrZR7ilxvbwunYb2FshRjJJaExEuzbTsSXziw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNh1dhSz2JR; Wed, 16 Apr 2025 19:46: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 53GJkSUH063637; Wed, 16 Apr 2025 19:46:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkSnp063634; Wed, 16 Apr 2025 19:46:28 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:28 GMT Message-Id: <202504161946.53GJkSnp063634@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: 790e3617361a - main - timeout(1): Multiple minor tweaks and cleanups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 790e3617361a686c76276e0c2252a761726cd919 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=790e3617361a686c76276e0c2252a761726cd919 commit 790e3617361a686c76276e0c2252a761726cd919 Author: Aaron LI AuthorDate: 2025-04-02 11:53:42 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Multiple minor tweaks and cleanups --- bin/timeout/timeout.1 | 65 ++++++++++++++------------ bin/timeout/timeout.c | 124 +++++++++++++++++++++++++------------------------- 2 files changed, 97 insertions(+), 92 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 1a5fd95a6256..b81ce2f74625 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 4, 2025 +.Dd April 2, 2025 .Dt TIMEOUT 1 .Os .Sh NAME @@ -33,36 +33,44 @@ .Sh SYNOPSIS .Nm .Op Fl k Ar time | Fl -kill-after Ar time -.Op Fl s Ar sig | Fl -signal Ar sig +.Op Fl s Ar signal | Fl -signal Ar signal .Op Fl v | Fl -verbose .Op Fl -foreground .Op Fl -preserve-status .Ar duration .Ar command -.Op Ar args ... +.Op Ar arg ... .Sh DESCRIPTION -.Nm +.Nm Timeout starts the .Ar command with its -.Ar args . +.Ar arg +list. If the .Ar command is still running after .Ar duration , -it is killed. -By default, +it is killed by sending the +.Ar signal , +or .Dv SIGTERM -is sent. +if the +.Fl s +option is unspecified. The special .Ar duration , zero, signifies no limit. -Therefore a signal is never sent if +Therefore, a signal is never sent if .Ar duration is 0. .Pp The options are as follows: .Bl -tag -width indent +.It Fl -foreground +Only time out the +.Ar command +itself, but do not propagate signals to its descendants. .It Fl k Ar time , Fl -kill-after Ar time Send a .Dv SIGKILL @@ -70,32 +78,29 @@ signal if .Ar command is still running after .Ar time -after the first signal was sent. -.It Fl s Ar sig , Fl -signal Ar sig +since the first signal was sent. +.It Fl -preserve-status +Always exit with the same status as +.Ar command , +even if the timeout was reached. +.It Fl s Ar signal , Fl -signal Ar signal Specify the signal to send on timeout. By default, .Dv SIGTERM is sent. .It Fl v , Fl -verbose Show information to stderr about any signal sent on timeout. -.It Fl -foreground -Do not propagate timeout to the children of -.Ar command . -.It Fl -preserve-status -Exit with the same status as -.Ar command , -even if it times out and is killed. .El -.Sh DURATION FORMAT +.Ss Duration Format The .Ar duration and .Ar time are non-negative integer or real (decimal) numbers, with an optional -unit-specifying suffix. +suffix specifying the unit. Values without an explicit unit are interpreted as seconds. .Pp -Supported unit symbols are: +Supported unit suffixes are: .Bl -tag -offset indent -width indent -compact .It Cm s seconds @@ -152,9 +157,9 @@ $ echo $? Run .Xr sleep 1 for 4 seconds and terminate process after 2 seconds. -124 is returned since no +The exit status is 124 since .Fl -preserve-status -is used: +is not used: .Bd -literal -offset indent $ timeout 2 sleep 4 $ echo $? @@ -162,8 +167,8 @@ $ echo $? .Ed .Pp Same as above but preserving status. -Exit status is 128 + signal number (15 for -.Va SIGTERM ) : +The exit status is 128 + signal number (15 for +.Dv SIGTERM ) : .Bd -literal -offset indent $ timeout --preserve-status 2 sleep 4 $ echo $? @@ -171,9 +176,9 @@ $ echo $? .Ed .Pp Same as above but sending -.Va SIGALRM +.Dv SIGALRM (signal number 14) instead of -.Va SIGTERM : +.Dv SIGTERM : .Bd -literal -offset indent $ timeout --preserve-status -s SIGALRM 2 sleep 4 $ echo $? @@ -186,9 +191,9 @@ the PDF version of the .Fx Handbook. Send a -.Va SIGTERM +.Dv SIGTERM signal after 1 minute and send a -.Va SIGKILL +.Dv SIGKILL signal 5 seconds later if the process refuses to stop: .Bd -literal -offset indent $ timeout -k 5s 1m fetch \\ @@ -202,7 +207,7 @@ $ timeout -k 5s 1m fetch \\ .Sh STANDARDS The .Nm -utility is compliant with the +utility is expected to conform to the .St -p1003.1-2024 specification. .Sh HISTORY diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 397d692d8647..aaecd7fec2e5 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -40,10 +40,10 @@ #include #include -#define EXIT_TIMEOUT 124 -#define EXIT_INVALID 125 -#define EXIT_CMD_ERROR 126 -#define EXIT_CMD_NOENT 127 +#define EXIT_TIMEOUT 124 +#define EXIT_INVALID 125 +#define EXIT_CMD_ERROR 126 +#define EXIT_CMD_NOENT 127 static volatile sig_atomic_t sig_chld = 0; static volatile sig_atomic_t sig_term = 0; @@ -52,15 +52,14 @@ static volatile sig_atomic_t sig_ign = 0; static const char *command = NULL; static bool verbose = false; -static void +static void __dead2 usage(void) { - - fprintf(stderr, "Usage: %s [-k time | --kill-after time]" - " [-s sig | --signal sig] [-v | --verbose] [--foreground]" - " [--preserve-status] \n", + fprintf(stderr, + "Usage: %s [--foreground] [-k time | --kill-after time]" + " [--preserve-status] [-s signal | --signal signal] " + " [-v | --verbose] [arg ...]\n", getprogname()); - exit(EXIT_FAILURE); } @@ -109,13 +108,11 @@ parse_signal(const char *str) const char *errstr; sig = strtonum(str, 1, sys_nsig - 1, &errstr); - if (errstr == NULL) return (sig); if (strncasecmp(str, "SIG", 3) == 0) str += 3; - for (i = 1; i < sys_nsig; i++) { if (strcasecmp(str, sys_signame[i]) == 0) return (i); @@ -133,7 +130,6 @@ sig_handler(int signo) } switch (signo) { - case 0: case SIGINT: case SIGHUP: case SIGQUIT: @@ -154,7 +150,7 @@ send_sig(pid_t pid, int signo) { if (verbose) { warnx("sending signal %s(%d) to command '%s'", - sys_signame[signo], signo, command); + sys_signame[signo], signo, command); } kill(pid, signo); } @@ -165,9 +161,11 @@ set_interval(double iv) struct itimerval tim; memset(&tim, 0, sizeof(tim)); - tim.it_value.tv_sec = (time_t)iv; - iv -= (double)tim.it_value.tv_sec; - tim.it_value.tv_usec = (suseconds_t)(iv * 1000000UL); + if (iv > 0) { + tim.it_value.tv_sec = (time_t)iv; + iv -= (double)(time_t)iv; + tim.it_value.tv_usec = (suseconds_t)(iv * 1000000UL); + } if (setitimer(ITIMER_REAL, &tim, NULL) == -1) err(EXIT_FAILURE, "setitimer()"); @@ -176,9 +174,9 @@ set_interval(double iv) int main(int argc, char **argv) { - int ch; + int ch, status; int foreground, preserve; - int pstat, status; + int pstat = 0; int killsig = SIGTERM; size_t i; pid_t pid, cpid; @@ -204,38 +202,36 @@ main(int argc, char **argv) second_kill = 0; const struct option longopts[] = { - { "preserve-status", no_argument, &preserve, 1 }, - { "foreground", no_argument, &foreground, 1 }, - { "kill-after", required_argument, NULL, 'k'}, - { "signal", required_argument, NULL, 's'}, - { "help", no_argument, NULL, 'h'}, - { "verbose", no_argument, NULL, 'v'}, - { NULL, 0, NULL, 0 } + { "foreground", no_argument, &foreground, 1 }, + { "help", no_argument, NULL, 'h' }, + { "kill-after", required_argument, NULL, 'k' }, + { "preserve-status", no_argument, &preserve, 1 }, + { "signal", required_argument, NULL, 's' }, + { "verbose", no_argument, NULL, 'v' }, + { NULL, 0, NULL, 0 }, }; while ((ch = getopt_long(argc, argv, "+k:s:vh", longopts, NULL)) != -1) { switch (ch) { - case 'k': - do_second_kill = true; - second_kill = parse_duration(optarg); - break; - case 's': - killsig = parse_signal(optarg); - break; - case 'v': - verbose = true; - break; - case 0: - break; - case 'h': - default: - usage(); + case 'k': + do_second_kill = true; + second_kill = parse_duration(optarg); + break; + case 's': + killsig = parse_signal(optarg); + break; + case 'v': + verbose = true; + break; + case 0: + break; + default: + usage(); } } argc -= optind; argv += optind; - if (argc < 2) usage(); @@ -247,7 +243,7 @@ main(int argc, char **argv) if (!foreground) { /* Acquire a reaper */ if (procctl(P_PID, getpid(), PROC_REAP_ACQUIRE, NULL) == -1) - err(EXIT_FAILURE, "Fail to acquire the reaper"); + err(EXIT_FAILURE, "procctl(PROC_REAP_ACQUIRE)"); } memset(&signals, 0, sizeof(signals)); @@ -263,7 +259,7 @@ main(int argc, char **argv) signals.sa_flags = SA_RESTART; for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) { - if (signums[i] != -1 && signums[i] != 0 && + if (signums[i] > 0 && sigaction(signums[i], &signals, NULL) == -1) err(EXIT_FAILURE, "sigaction()"); } @@ -273,9 +269,9 @@ main(int argc, char **argv) signal(SIGTTOU, SIG_IGN); pid = fork(); - if (pid == -1) + if (pid == -1) { err(EXIT_FAILURE, "fork()"); - else if (pid == 0) { + } else if (pid == 0) { /* child process */ signal(SIGTTIN, SIG_DFL); signal(SIGTTOU, SIG_DFL); @@ -285,14 +281,15 @@ main(int argc, char **argv) _exit(errno == ENOENT ? EXIT_CMD_NOENT : EXIT_CMD_ERROR); } + /* parent continues here */ + if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1) err(EXIT_FAILURE, "sigprocmask()"); - /* parent continues here */ set_interval(first_kill); + sigemptyset(&signals.sa_mask); for (;;) { - sigemptyset(&signals.sa_mask); sigsuspend(&signals.sa_mask); if (sig_chld) { @@ -300,9 +297,7 @@ main(int argc, char **argv) while ((cpid = waitpid(-1, &status, WNOHANG)) != 0) { if (cpid < 0) { - if (errno == EINTR) - continue; - else + if (errno != EINTR) break; } else if (cpid == pid) { pstat = status; @@ -328,16 +323,18 @@ main(int argc, char **argv) killemall.rk_flags = 0; procctl(P_PID, getpid(), PROC_REAP_KILL, &killemall); - } else + } else { send_sig(pid, killsig); + } if (do_second_kill) { set_interval(second_kill); do_second_kill = false; sig_ign = killsig; killsig = SIGKILL; - } else + } else { break; + } } else if (sig_term) { if (!foreground) { @@ -345,34 +342,37 @@ main(int argc, char **argv) killemall.rk_flags = 0; procctl(P_PID, getpid(), PROC_REAP_KILL, &killemall); - } else + } else { send_sig(pid, sig_term); + } if (do_second_kill) { set_interval(second_kill); do_second_kill = false; sig_ign = killsig; killsig = SIGKILL; - } else + } else { break; + } } } while (!child_done && wait(&pstat) == -1) { if (errno != EINTR) - err(EXIT_FAILURE, "waitpid()"); + err(EXIT_FAILURE, "wait()"); } if (!foreground) procctl(P_PID, getpid(), PROC_REAP_RELEASE, NULL); - if (WEXITSTATUS(pstat)) - pstat = WEXITSTATUS(pstat); - else if (WIFSIGNALED(pstat)) - pstat = 128 + WTERMSIG(pstat); - - if (timedout && !preserve) + if (timedout && !preserve) { pstat = EXIT_TIMEOUT; + } else { + if (WIFEXITED(pstat)) + pstat = WEXITSTATUS(pstat); + else if (WIFSIGNALED(pstat)) + pstat = 128 + WTERMSIG(pstat); + } return (pstat); } From nobody Wed Apr 16 19:46:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNj5c3fz5t8L0; Wed, 16 Apr 2025 19:46: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 4ZdBNj34Bvz3kqp; Wed, 16 Apr 2025 19:46:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hU7XkZ4RnkU/8ftH2z6kpoI/QNiX/wNXFhJOkPNIKMo=; b=dE/K/bMIVym4s693w53ue+bzGXLYqjaAJp+UGkJ18XsRVioFcB+gsFbCEQKAqE2FZPSOcu r+b+aD04CvSeDUSWN2sDYAoNjeDqAArWLDDNFK0CxKkQilX1it5eYaI3pF2Ai3Q/frESlR Vsqe+XdKEKAuu/St25hKbyjHWwcwj0ke7ZVAUkr5YfBkE49MS7wQzCcKXVeFfXE5YC3CPf EfPZwPFrGtkT/JUFoAKyCG3yFeTTdSp/44uXMHxD6BSnmnJqsfHfFXVYY8Jdj+CfLgshh9 RJkwTw1O6C59aL4pbq3rvuVACGuMvX8QRIctTnEiU2cX7zjRT+ceIe4/UizSgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832789; a=rsa-sha256; cv=none; b=HpSPESOPSgVfDRnbGmjTvfSVb4MeOyW0W+aV+H8OTBy2ewZefBhGOdB9/YFdj/8WqcrSY/ r4WvC3eUMcLuPT+lPNwMai6wR+T0gBJzQbnP8IwB+QaV/uEF+ZyKhpsY85qclrVnEXUYhB VM4x93BOflhTplkb0eAbs4/AqZKqJAWn/gIc/xFHdW2J7f6bCPAlhuiM4y2Hsc3MBBN+lK +JZznQt7K3CBQ0jhg2vIPGDDjV45FzLXUdwaKlFEo9mOeFLxoyq93LN/vIASQOoS39RkED VlJJ8gvSgidaaHUDxnrWI5J276ULg6DFwEipmqyu3FeCk+iabawL4M3PRmcL5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hU7XkZ4RnkU/8ftH2z6kpoI/QNiX/wNXFhJOkPNIKMo=; b=dop1eJNYZOLFIlISIAFQ0m9hqI8tWJPYNXLWNOQKwo3s5DUxat6U3zRFidSlrT/WrBXv38 bSSxqFHBK2hIvtsjADVbnKE5OdRa4GX8jS5afYqJ2sZcLd69H+zDV4zR5Ttq0jytwRms/O DiBlwReylQ6VyeLSNW5G19BKes8mrIMVGs2rduoTv4Dx+I8/MvL3BHJRObuDn0w/DcVZvM 2XgXr6Pu3axDa/WDMsP19u5E5fv+09aNpvSujIno4Q8H3OnG1g9JQzxwjs9hEjAqry7VOt 4U+cB80kb+xTLAolBoO0+JYbsy4+gKhf6k+/83C1zoVQuwB9iYqYle3kKkeDJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNj2dD7z1tG; Wed, 16 Apr 2025 19:46: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 53GJkTrj063670; Wed, 16 Apr 2025 19:46:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkTGC063667; Wed, 16 Apr 2025 19:46:29 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:29 GMT Message-Id: <202504161946.53GJkTGC063667@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: c5cdc1304565 - main - timeout(1): Handle sig_alrm and sig_term together to dedup code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c5cdc13045650a9daf33dd6316ef57496e4a5dbc Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c5cdc13045650a9daf33dd6316ef57496e4a5dbc commit c5cdc13045650a9daf33dd6316ef57496e4a5dbc Author: Aaron LI AuthorDate: 2025-04-02 14:34:45 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Handle sig_alrm and sig_term together to dedup code Merge the 'sig_alrm' and 'sig_term' conditionals, and thus reduce some duplicate code. Obtained-from: DragonFly BSD --- bin/timeout/timeout.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index aaecd7fec2e5..4c81b64cd2b6 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -174,7 +174,7 @@ set_interval(double iv) int main(int argc, char **argv) { - int ch, status; + int ch, status, sig; int foreground, preserve; int pstat = 0; int killsig = SIGTERM; @@ -314,36 +314,23 @@ main(int argc, char **argv) break; } } - } else if (sig_alrm) { - sig_alrm = 0; - - timedout = true; - if (!foreground) { - killemall.rk_sig = killsig; - killemall.rk_flags = 0; - procctl(P_PID, getpid(), PROC_REAP_KILL, - &killemall); + } else if (sig_alrm || sig_term) { + if (sig_alrm) { + sig = killsig; + sig_alrm = 0; + timedout = true; } else { - send_sig(pid, killsig); + sig = sig_term; + sig_term = 0; } - if (do_second_kill) { - set_interval(second_kill); - do_second_kill = false; - sig_ign = killsig; - killsig = SIGKILL; + if (foreground) { + send_sig(pid, sig); } else { - break; - } - - } else if (sig_term) { - if (!foreground) { - killemall.rk_sig = sig_term; + killemall.rk_sig = sig; killemall.rk_flags = 0; procctl(P_PID, getpid(), PROC_REAP_KILL, - &killemall); - } else { - send_sig(pid, sig_term); + &killemall); } if (do_second_kill) { From nobody Wed Apr 16 19:46:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNk5HByz5t8SY; Wed, 16 Apr 2025 19:46: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 4ZdBNk42tQz3kr5; Wed, 16 Apr 2025 19:46:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7XDJqIdWIcsb+y0fWo631TjNcjDAB+aO4PEfGOn3XFk=; b=Z7d9X56Mml8iqPlm7Sc6F3KBsucu+mnMaPLw8Yx+efk2RD9ap10fShSSXE+64LuIie3nL6 c0AAL5OfDeIkalzCi/8JQFeBOAK19xDhdnju4qMO71434SNsocEnCD5lIA4Epe2xpS7/CC t3C/GEmSxSIx0mezJ/BwmlsCAvlzJAeVIqsfZ07cJx3oiigjjPRpIlNMqh+IpfTC7SwNkN 8vB0Nvj8Y3OtBKc5BPgkY7MwaxXUbe5pxL+oiickE9n9N4RKNfI9EzXmit32RLhC7K99QD RmQi5/zC5xmyx/fQFAHssJYwHNi19OjK1za596Dk/hp1B0IjKWpHGIXPjqpHZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832790; a=rsa-sha256; cv=none; b=wUzcFsP5bJw/jFfTr/Bjwq2ZYX4GPC8vjNCcVRDd951RclQYEO20MdBwo6lpGSG4ro8Lj3 zL2YSVpw4ZMi6bY5w6wdIE3n7mF8jzO/DMGENwFxqoCjics5cclKacxjz9+dRh3IQrgsN+ B5qWyeI97OSsDxBHPCWPIkk8oj+a/h1UNxAgiegqr6jGydZVpkyjxtXng2BDk7iyqPdX5y cHGpet4bci/FTGEmB71TjA9nmb2P2yJ65//9o4ioWwXnsOscEdIcy8nfeTwNm1S2tDvbIt KfztQXlX5PlsRxF6Jw2h8E5Vx2kZ+1P/8kQaMwP7UBBer0huyHRflMOOWNEVlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7XDJqIdWIcsb+y0fWo631TjNcjDAB+aO4PEfGOn3XFk=; b=HZoRqmIi/YTbXzNMGoc3A0jSAl9iPEf/P0SZFLGpyqbW4STtg3ckvjDXKZefWNjaXkSEx8 iw3q5DdthcWvOD0/CgDWAw4vU5Cc/Cv0vGke8hbKuGYo8SwJd1YnVKcsYeBppnjKPwR/xR A52hl1azxzkcWZT7KwRz+1AfceUXkVO0TJbKUOeXHAZBOWhksmupCb4HQaYHlPYrlU34EU wP7nW7UGzqNZ8tGrgKkpwst8H0/sX9YtXUUBmnEreoMGIQK8bJSqHnP7BqzBcNWu169AV+ WgSC1eMbAmPFXeELTIHAWE3XeUK6v47PvubI+xNF4rYSa8clMgIsscKKwGO81w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNk3bYtz2Ft; Wed, 16 Apr 2025 19:46: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 53GJkUZp063706; Wed, 16 Apr 2025 19:46:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkUkm063703; Wed, 16 Apr 2025 19:46:30 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:30 GMT Message-Id: <202504161946.53GJkUkm063703@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: 8a9927ecd4b6 - main - timeout(1): Add -f and -p options as per POSIX.1-2024 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 8a9927ecd4b6e8cb306e4b940201b4efbfbc5dcb Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=8a9927ecd4b6e8cb306e4b940201b4efbfbc5dcb commit 8a9927ecd4b6e8cb306e4b940201b4efbfbc5dcb Author: Aaron LI AuthorDate: 2025-04-02 15:29:57 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Add -f and -p options as per POSIX.1-2024 POSIX.1-2024 first defined the timeout(1) utility and specified the '-f' and '-p' options, which are the short versions of '--foreground' and '--preserve-status' options, respectively. Add the short versions to comply with the Standard. Obtained-from: DragonFly BSD Reference: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/timeout.html --- bin/timeout/timeout.1 | 8 ++++---- bin/timeout/timeout.c | 35 ++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index b81ce2f74625..3eacdd768410 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -32,11 +32,11 @@ .Nd run a command with a time limit .Sh SYNOPSIS .Nm +.Op Fl f | Fl -foreground .Op Fl k Ar time | Fl -kill-after Ar time +.Op Fl p | Fl -preserve-status .Op Fl s Ar signal | Fl -signal Ar signal .Op Fl v | Fl -verbose -.Op Fl -foreground -.Op Fl -preserve-status .Ar duration .Ar command .Op Ar arg ... @@ -67,7 +67,7 @@ is 0. .Pp The options are as follows: .Bl -tag -width indent -.It Fl -foreground +.It Fl f , Fl -foreground Only time out the .Ar command itself, but do not propagate signals to its descendants. @@ -79,7 +79,7 @@ signal if is still running after .Ar time since the first signal was sent. -.It Fl -preserve-status +.It Fl p , Fl -preserve-status Always exit with the same status as .Ar command , even if the timeout was reached. diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 4c81b64cd2b6..7e4009f8ac8a 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -56,8 +56,8 @@ static void __dead2 usage(void) { fprintf(stderr, - "Usage: %s [--foreground] [-k time | --kill-after time]" - " [--preserve-status] [-s signal | --signal signal] " + "Usage: %s [-f | --foreground] [-k time | --kill-after time]" + " [-p | --preserve-status] [-s signal | --signal signal] " " [-v | --verbose] [arg ...]\n", getprogname()); exit(EXIT_FAILURE); @@ -175,13 +175,14 @@ int main(int argc, char **argv) { int ch, status, sig; - int foreground, preserve; int pstat = 0; int killsig = SIGTERM; size_t i; pid_t pid, cpid; double first_kill; - double second_kill; + double second_kill = 0; + bool foreground = false; + bool preserve = false; bool timedout = false; bool do_second_kill = false; bool child_done = false; @@ -198,25 +199,29 @@ main(int argc, char **argv) SIGQUIT, }; - foreground = preserve = 0; - second_kill = 0; - + const char optstr[] = "+fhk:ps:v"; const struct option longopts[] = { - { "foreground", no_argument, &foreground, 1 }, - { "help", no_argument, NULL, 'h' }, - { "kill-after", required_argument, NULL, 'k' }, - { "preserve-status", no_argument, &preserve, 1 }, - { "signal", required_argument, NULL, 's' }, - { "verbose", no_argument, NULL, 'v' }, - { NULL, 0, NULL, 0 }, + { "foreground", no_argument, NULL, 'f' }, + { "help", no_argument, NULL, 'h' }, + { "kill-after", required_argument, NULL, 'k' }, + { "preserve-status", no_argument, NULL, 'p' }, + { "signal", required_argument, NULL, 's' }, + { "verbose", no_argument, NULL, 'v' }, + { NULL, 0, NULL, 0 }, }; - while ((ch = getopt_long(argc, argv, "+k:s:vh", longopts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, optstr, longopts, NULL)) != -1) { switch (ch) { + case 'f': + foreground = true; + break; case 'k': do_second_kill = true; second_kill = parse_duration(optarg); break; + case 'p': + preserve = true; + break; case 's': killsig = parse_signal(optarg); break; From nobody Wed Apr 16 19:46:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNm0Yfbz5t8jJ; Wed, 16 Apr 2025 19:46:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdBNl5PdMz3l6M; Wed, 16 Apr 2025 19:46:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0QHzjcVB4oC/7z5zKttRImFT8C/x3rUK6NqWDQopDhY=; b=mgzpfXiyb1sNMuZEDXzd4RVUxIQp7BMGDK+BDpN8A8axk6xXe+SCQzVJSiRn/inChLlsqW xr6ibheNwjwhNcfUpfC8bZMP2WR6XRb0Tlm7BOX2uFdzsKxNKfPcatQ3d0xbH5hC2AVv/j O357QMJBOw7TvSA13xAyNYlSRx5RFa02woiFFGjtRj08szzTSfS1Gcy94Lq2JZ36MocBT7 uAwrJQwexiVEaIZd+n9330HiaZY6L7EcppGFkOke7OIToE+yJV5KRepwAKEeTv9HMOOBFy 8lo1Yp+gxo6GNn2Ms31Q/84V7hlnyIM31mAS1o1XvrlCxpDLCmYv5iBTBz1Ohw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832791; a=rsa-sha256; cv=none; b=tP1LCEDuQBJrPtk9cANpxfNl//HnsK9t0ojxthuY8pKmvEvM4tUPjt596FknyBcqsuUJCH v339NWR2T+3rRAIvr44DAsk31zCDnHKdsv2esWs0ZUZ9cOa24S+DVkuJO0VdDjpsmg0J8C 9rJJNmQTMpqy5hj98q2bXJSwkjCJ9V01lx4hvzrcUzITx8wtCHblEcMrGDABleSDnAXVSl CM/31203TjlnZF4BDJj0ycWvV9M6xR2zpCYsxPwHop1dub6K7EkAtYWrCkdaycXAKor5Wh 6n8yDrfsEZylQn0iqaDHI2aXRxFzHN4o1m0OmbCOK/1NJGn5eiEYt9vdEX+Ikw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0QHzjcVB4oC/7z5zKttRImFT8C/x3rUK6NqWDQopDhY=; b=bBNQmVRCagRgEoTjfTnS7Sa1shPnPSlO/HZn/ujL29GumKajhA9zQb1TQkTzsDmuRMsXb1 cdhVe5QxCzt3uEgPGiJh8wOh3KXfrAhM2nolwX32tq3cs7/9hz4kcs0fe91fNDoYFKXxEv V9LAhtkXOvBsLknP7jZwE0eEdWVKbho1hxPLUVQiB7yECiZRW0oSb/APmJiqfMdm3EeyVA iIVrvNMCPrCeGMjtCJYO0ZhXCJ9OWjaMMd8ziOz+FTVWvKm6KY1MJmPQuHZw+G+SjPoLH5 fjRYPRxFUTZNUBI2QuQRDMMLZSQRiGcJNyzhaHQ2khH7wPpeawrfBbVLb95f2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNl4g6kz21h; Wed, 16 Apr 2025 19:46: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 53GJkVZ1063744; Wed, 16 Apr 2025 19:46:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkVSD063741; Wed, 16 Apr 2025 19:46:31 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:31 GMT Message-Id: <202504161946.53GJkVSD063741@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: 086f17853677 - main - timeout(1): Enhance send_sig() and prepare for later updates List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 086f17853677d072b8c5f4b2440f9e3a9aea7bdf Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=086f17853677d072b8c5f4b2440f9e3a9aea7bdf commit 086f17853677d072b8c5f4b2440f9e3a9aea7bdf Author: Aaron LI AuthorDate: 2025-04-02 15:51:47 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Enhance send_sig() and prepare for later updates Enhance send_sig() to better encapsulate the signal sending for both foreground and non-foreground modes. This also fixes the issue that the latter mode was missing verbose messages. In addition, improve the verbose logging for signals. Obtained-from: DragonFly BSD --- bin/timeout/timeout.c | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 7e4009f8ac8a..8f933f509407 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +64,19 @@ usage(void) exit(EXIT_FAILURE); } +static void +logv(const char *fmt, ...) +{ + va_list ap; + + if (!verbose) + return; + + va_start(ap, fmt); + vwarnx(fmt, ap); + va_end(ap); +} + static double parse_duration(const char *duration) { @@ -146,13 +160,25 @@ sig_handler(int signo) } static void -send_sig(pid_t pid, int signo) +send_sig(pid_t pid, int signo, bool foreground) { - if (verbose) { - warnx("sending signal %s(%d) to command '%s'", - sys_signame[signo], signo, command); + struct procctl_reaper_kill rk; + + logv("sending signal %s(%d) to command '%s'", + sys_signame[signo], signo, command); + if (foreground) { + if (kill(pid, signo) == -1) + warnx("kill(%d, %s)", (int)pid, sys_signame[signo]); + } else { + memset(&rk, 0, sizeof(rk)); + rk.rk_sig = signo; + if (procctl(P_PID, getpid(), PROC_REAP_KILL, &rk) == -1) + warnx("procctl(PROC_REAP_KILL)"); + else if (rk.rk_fpid > 0) + warnx("failed to signal some processes: first pid=%d", + (int)rk.rk_fpid); + logv("signaled %u processes", rk.rk_killed); } - kill(pid, signo); } static void @@ -188,7 +214,6 @@ main(int argc, char **argv) bool child_done = false; struct sigaction signals; struct procctl_reaper_status info; - struct procctl_reaper_kill killemall; int signums[] = { -1, SIGTERM, @@ -329,14 +354,7 @@ main(int argc, char **argv) sig_term = 0; } - if (foreground) { - send_sig(pid, sig); - } else { - killemall.rk_sig = sig; - killemall.rk_flags = 0; - procctl(P_PID, getpid(), PROC_REAP_KILL, - &killemall); - } + send_sig(pid, sig, foreground); if (do_second_kill) { set_interval(second_kill); From nobody Wed Apr 16 19:46:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNn2SzTz5t8ky; Wed, 16 Apr 2025 19:46:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdBNm60GKz3ktq; Wed, 16 Apr 2025 19:46:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QJUJ94r7BnTP+BgF9ORLrh9yk3rZ6Nlm+KiuDirGgtU=; b=Tx8pf6Mdlz3UmpZH3UthrHaU87YWPAxDZIaXyGiR7jaW5dUFV8VVE0fEAsLvFosnqQVpQ3 wmQ+wU1RCL3aCHR2QKtYlnIt7AKNS6WKe/hJ/NKRWEe6KagdHUeNJX/GRiXUU5CJrBgBE1 e4du6fFnYcaZYg7o8Ubs2MJhVI1pDupAKIkJXdIjM6aYOjup7Nbhpg98AUZXQHiLDsgtCX 92KwA7C8JfnLsG8rGfxOkDnhk55OR1M6SZEW7g+bIiwlc7FJKrcDBK5YpLbXG8buKCNL5i mWV1g8rNuO9UohO/mPWgpiSTCBQSPlXWVA+32b5jrro1woUPZTsLxAQPHk/DHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832792; a=rsa-sha256; cv=none; b=hKg2yMnNW1cw8W0fL5hY6W+xUcgv1tOuE5pYqKa8a/crKKO/noPXe84VLhC07bo/ib06QQ m7ZSySsaNHTDORctgcwOze7qXxXkrsZFIYRkYPsWro0mVjsV+OOQ8916dQWPBNHVKF1Wzg oBj2vIow6eZ525/9wYd36kY8grmdnT3uLdZS4HVo74FUKljng6+tTLl6VHPwXK0cMYkjUy ELvZFNaWHWStLUDPqU9iFru6LVJx/HDeFeMVnIJKcLhC+/kZNYZ8nSLBXLoT/n5sYlYy6x Z/8fO8guZDjEnpAW4jB9ceh/2eEEQgwvl5FPVa5Pl7/kgsYnZ45v856CJwbLDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QJUJ94r7BnTP+BgF9ORLrh9yk3rZ6Nlm+KiuDirGgtU=; b=fq4oYA8mJknqHtrrrFognHtQXf1t6IyH59+h2i/qREq9cCsnJxtLgGuWrKYCajuX4mSlE7 9rED3qfbK+k3rVQwpS5++yjQd5l1Cg6LFxOnkGBvTBK7et5MtHnW6Jfn7Z7NiYZuvxivdf tuUsKrQFaY6P/LjQ97U7UqGnNCnLaTFMpoDMZDVTV6UalqVZ9dzEr8rQ2AAnQXpa9zC+ey 3zruXSNaPtbZm/Q8Q4wJ8Ba1noGpd5uX9A6ip6eJpqbYDkNljhk222AqWBfOKzsXgMWgxq S1j1O0HYNe75ABM6xa/p6xmFxcl+DR/M3UmHUIRm5R1cn2HsXdQn7Fq0704JPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNm5YtJz2Fv; Wed, 16 Apr 2025 19:46:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GJkWoD063780; Wed, 16 Apr 2025 19:46:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkWUM063777; Wed, 16 Apr 2025 19:46:32 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:32 GMT Message-Id: <202504161946.53GJkWUM063777@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: 06c74693c286 - main - timeout(1): Also send SIGCONT because the child may be stopped List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 06c74693c286185f299410afcd312fc54a96a052 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=06c74693c286185f299410afcd312fc54a96a052 commit 06c74693c286185f299410afcd312fc54a96a052 Author: Aaron LI AuthorDate: 2025-04-02 16:01:17 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Also send SIGCONT because the child may be stopped The POSIX.1-2024 says: "If the subsequent wait status of the child process shows that it was stopped by a signal, a SIGCONT signal shall also be sent in the same manner as the first signal; otherwise, a SIGCONT signal may be sent in the same manner." As it's allowed by the standard, we just always send the SIGCONT signal to the child process regardless of its stop state, so that timeout could terminate a stopped child. Obtained-from: DragonFly BSD Reference: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/timeout.html --- bin/timeout/timeout.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 8f933f509407..e702803a25c2 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -179,6 +179,24 @@ send_sig(pid_t pid, int signo, bool foreground) (int)rk.rk_fpid); logv("signaled %u processes", rk.rk_killed); } + + /* + * If the child process was stopped by a signal, POSIX.1-2024 + * requires to send a SIGCONT signal. However, the standard also + * allows to send a SIGCONT regardless of the stop state, as we + * are doing here. + */ + if (signo != SIGKILL && signo != SIGSTOP && signo != SIGCONT) { + logv("sending signal %s(%d) to command '%s'", + sys_signame[SIGCONT], SIGCONT, command); + if (foreground) { + kill(pid, SIGCONT); + } else { + memset(&rk, 0, sizeof(rk)); + rk.rk_sig = SIGCONT; + procctl(P_PID, getpid(), PROC_REAP_KILL, &rk); + } + } } static void From nobody Wed Apr 16 19:46:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNq0tB1z5t8Sm; Wed, 16 Apr 2025 19:46: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 4ZdBNn6z0zz3krV; Wed, 16 Apr 2025 19:46:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6ctyrJ4fKeqvw87UedxLu180/A/Wzu9AsK5EoJCaM8=; b=CAVh+kbF2z7ypqjXSvhmoR80GYZQ4N37i8Ga/hCUOJRn2otqTFCa27vd3STrp5+krsfkcn 2ct3eZ4rLSaNrrRrPE91PA7VFHSgZXJgpUnmYtClwnan9ah0FYkZXs7eakYVkQCXk0FA9V NeEzWqT1SqiuNE7dcZy5PAfdaloqao4ba8YvQR23iFHoiGjOqxfuVuhU46yajDt0f3ziAx MtVwZtC124UBohRKW9k1KUrvqoybjJVYs057pz20qMuzZ7mE8DqIklRhSyksuWmXruqyZl yHSL3JUnk9n304SlvYoGMA5l4ODZy/UutYC+awvPifuP5E3nWkQv0wqWmvkIQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832794; a=rsa-sha256; cv=none; b=s37F2r350aPL/9xjVjikF6FntWy+RAX9MpRTX9QE2gwQuHnscyVSKyLV782HpvyhA9zTDy EemN+EzaY3uxuTWFw6f4XeVny3aJIZM2B1Eg1PaFGZTP3qbxeE/mEHcDy/bJp4j4CJiFYL XfrqV7hMOxiyhgz8QT8tIHyHCxUld3P8hePHP3hnleBRuUcHUWV5vuMx2+qQFnP5M7DfCp g87A/KBMHfCaVEVS38QbNS5Kq4EnrxYc6z9Ng54St/9ScRvCCGrg+a9FpHcadxrO4YyamZ 69siSQYXzPbkrLdMoix5qNoDH+jS7TAcCLO03Dld2sFzMT19nuGBK0+uNYyAoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6ctyrJ4fKeqvw87UedxLu180/A/Wzu9AsK5EoJCaM8=; b=kSTqHhTxMWGKanhXN5oZsqZx6vzs2Uw0AbvR1N6eMrms6qG9DwLzvr0rzsEZKC8MUxgX8p +4zYN0SBFGA+skMTgcLaBMs1cM2FI6BO+/Yvy276uuEe6dwdcUimo9BWjCudql9HD/B3FI byEMSJAr3gb+LzO+5qrp810QFFxxJeHlZrd5ABEWwjIyZSG1I+yPb4GzPIP9ATX3cd4Ed2 nAlkZb+miiuWKHQGe/WQy0MygrdFyIX2jWzyJAVxwuBx/EcQfAgbhKixYOL3J0xQY0K4gG OYpMImP/uLeQsKL6F2PWhoHryJhz95IT4Bcr0CBBL9+Uj2jmnRpvubXe77ViTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNn6Wvzz2Fw; Wed, 16 Apr 2025 19:46: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 53GJkXcg063814; Wed, 16 Apr 2025 19:46:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkXRi063811; Wed, 16 Apr 2025 19:46:33 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:33 GMT Message-Id: <202504161946.53GJkXRi063811@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: aae3eb24dfdb - main - timeout(1): Fix the handling of repeated terminating signals List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: aae3eb24dfdbbe0a9e62fe7239d6038060cd07f6 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=aae3eb24dfdbbe0a9e62fe7239d6038060cd07f6 commit aae3eb24dfdbbe0a9e62fe7239d6038060cd07f6 Author: Aaron LI AuthorDate: 2025-04-02 16:14:40 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Fix the handling of repeated terminating signals This actually fixes the following two issues: * If a terminating signal (e.g., HUP/INT/TERM) was received, timeout would propagate it to the command and then ignore it. So it was unable to resend the same terminating signal to the command. This was different from the GNU's timeout(1), and also contradicted the POSIX.1-2024 standard. * Sending two different terminating signals would break timeout(1)'s --kill-after mechanism. That was because the second signal would break the for() loop, so the second SIGALRM set by '--kill-after' would never be caught. For example, in one shell run: $ time timeout -f -v -s INT -k 1 2 sh -T -c \ 'trap date INT HUP; sleep 5; echo ok; date' and in another shell run: $ pkill -INT timeout; pkill -HUP timeout in the end, the time(1) would report it cost 5 seconds instead of the expected 3 seconds. Obtained-from: DragonFly BSD --- bin/timeout/timeout.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index e702803a25c2..c3c7532a9d08 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -49,7 +49,6 @@ static volatile sig_atomic_t sig_chld = 0; static volatile sig_atomic_t sig_term = 0; static volatile sig_atomic_t sig_alrm = 0; -static volatile sig_atomic_t sig_ign = 0; static const char *command = NULL; static bool verbose = false; @@ -138,11 +137,6 @@ parse_signal(const char *str) static void sig_handler(int signo) { - if (sig_ign != 0 && signo == sig_ign) { - sig_ign = 0; - return; - } - switch (signo) { case SIGINT: case SIGHUP: @@ -377,19 +371,11 @@ main(int argc, char **argv) if (do_second_kill) { set_interval(second_kill); do_second_kill = false; - sig_ign = killsig; killsig = SIGKILL; - } else { - break; } } } - while (!child_done && wait(&pstat) == -1) { - if (errno != EINTR) - err(EXIT_FAILURE, "wait()"); - } - if (!foreground) procctl(P_PID, getpid(), PROC_REAP_RELEASE, NULL); From nobody Wed Apr 16 19:46:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNr0Hbbz5t8Mt; Wed, 16 Apr 2025 19:46: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 4ZdBNq3Cg0z3l3J; Wed, 16 Apr 2025 19:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOsQuVZm/kLqva26lbFTbrURKOzsc099HPzMqedgtso=; b=c3TSus0w1TbPDUiygb+T9yP1yGahK9Vhk9UTjNA688rnhcDIkMoNq8oIwiBxxu4vZXghRU cSfCjX5Z5+xqk1OfdVnqkh8Jb2fE/aZ7Q3v8ADHPR6guuR1g5PzvcBPvC9pCDwRxdHdChu 1eLbBR4W/14EFXgAGlvxoBKPJv3eogN5Vt5tv/5YpgPRzlinhCZF2iiaqa2Sor+f6duoZd 5vQQEcBKyhtJylq5ukK7+1UIaEvZpE8t4k/rQastuk72VmiYPLWM7Az4QoTtKJmDVfEpzT U1JH3yydDa0nIEwpMQcjS9zcyvlJf0MgVWADv8NSa7JRexklhdsH1YOQm97eVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832795; a=rsa-sha256; cv=none; b=I9JQ233+6rbpxNsPnYTvxYMy2XG8Lv0RL+F0mVioNbnMtVbblYkwYx8pwi9gkkEl0fMUXJ 9q2DKTFdUOfZnSkcjlTvakBOptPDwrztCI6tOSFrbbKObtaZkWXa5R0/SEiWsr/HGp+wry 4SBABT20WW3X9iD2RS87+WTeeRFMfjOjvSUtB+oqsu+FNondSb5OWmCz7OUmTYnadPZ4Cl aQKgjE4NCq6J/ST0FZ/fKpRrLTtGRgTQqd4AA+kmSVXbw0yMmfIUY4i3Dd4+e9R5XMc3Ms chGyEzT3BoK5rpbGzksB4AFOUoutZ5tM/s51Fw6O2jt2s96VNp/Z2i90W+9ZDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOsQuVZm/kLqva26lbFTbrURKOzsc099HPzMqedgtso=; b=hZA4sz2vZN/uSAqPsI6ySHW28VqOLqQZxCHEYIBgBOf/O3g5O0LaAOEqswOqBrVa7oKy33 sxvsSQx2fL37osamYQjGIiDlC0hXNOR802yWxn+JWo+QIomLr06lsDNaYAa1m/WzYBQh8N EZSmthzP2altYC6Z4FOZahjEpJg6hr9GGYxCjg5V8wPN5BN+hU7nTl+ZwrOKHhaHRa+SBu JQYKaQUugYmdZ9JzbrgQ42G0b+XQhNbjiasTJL6EswROmyiLEJI1j0jHiJEYxWCIkjsDSx aq06GtSKGhQYYeb/EKqeWoXQJQE1VHA81vD0QKOCzknlBLRx1lbjjI4OCf/n5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNq07wJz2JS; Wed, 16 Apr 2025 19:46: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 53GJkYwF063848; Wed, 16 Apr 2025 19:46:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkYRb063845; Wed, 16 Apr 2025 19:46:34 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:34 GMT Message-Id: <202504161946.53GJkYRb063845@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: 8e1d9fe06621 - main - timeout(1): Improve to show more verbose log messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 8e1d9fe06621e22b9de6b3bf1b6164a00f0f26b5 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=8e1d9fe06621e22b9de6b3bf1b6164a00f0f26b5 commit 8e1d9fe06621e22b9de6b3bf1b6164a00f0f26b5 Author: Aaron LI AuthorDate: 2025-04-02 16:17:17 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Improve to show more verbose log messages --- bin/timeout/timeout.1 | 6 +++++- bin/timeout/timeout.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 3eacdd768410..14fc19292684 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -89,7 +89,11 @@ By default, .Dv SIGTERM is sent. .It Fl v , Fl -verbose -Show information to stderr about any signal sent on timeout. +Show information to +.Xr stderr 4 +about timeouts, signals to be sent, and the +.Ar command +exits. .El .Ss Duration Format The diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index c3c7532a9d08..8a2f0faecd83 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -344,6 +344,19 @@ main(int argc, char **argv) } else if (cpid == pid) { pstat = status; child_done = true; + logv("child terminated: pid=%d, " + "exit=%d, signal=%d", + (int)pid, WEXITSTATUS(status), + WTERMSIG(status)); + } else { + /* + * Collect grandchildren zombies. + * Only effective if we're a reaper. + */ + logv("collected zombie: pid=%d, " + "exit=%d, signal=%d", + (int)cpid, WEXITSTATUS(status), + WTERMSIG(status)); } } if (child_done) { @@ -361,9 +374,12 @@ main(int argc, char **argv) sig = killsig; sig_alrm = 0; timedout = true; + logv("time limit reached or received SIGALRM"); } else { sig = sig_term; sig_term = 0; + logv("received terminating signal %s(%d)", + sys_signame[sig], sig); } send_sig(pid, sig, foreground); From nobody Wed Apr 16 19:46:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNs1r2nz5t8Sr; Wed, 16 Apr 2025 19:46: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 4ZdBNr2Yq8z3l7C; Wed, 16 Apr 2025 19:46:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+RicGNWKtEKK9bcmVTvud0mb2fpvII++k2O7Xr2gA3U=; b=vH/AIn/mikvaDttDFHOS5q0DleVVCVcptBKkwqXC/cQQd4/nG5ZFfs0fyuBrMc952arrLd VLTYCqG8ECI6ZHhxdbSPLdzg6hmr/W68msaHl44p/z3KtxMxbUbSLN20oHLXcrwLakkFGH /+cLCmppKwdDjM/5l4aaq9fKZPODeaAjbP3PMnlo8HWOwGUHDBzuKApJnwz/QRFvQIY+5+ AmoBavtN+2ahDVCj2NR1s3Hbc/F0IjfMxZBMk49oaul2SnazE/RFkc7JO4OLXoXHiBvCsD 2PV+zAhjL5lRV+hDMTr43CC+ssEoe8xA8oQLWxsBRkEAADJ9UespAXP3kyzJXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832796; a=rsa-sha256; cv=none; b=EPXnU/wFsXhRgEaKHDNSSaI6KyZybIJPjdCkir4emkp6tMy3SVA2awi+xeOCcVwab9pKXK er/1bJIeEhFYrf5aS9WJZQ4vUUasxeMz9tAw2NIDHHAbJ05MB4JvIV82NGeCkwCH4HL7X3 YaW2YWq+NZk7TvnoiI320A+swaiCcEJjbQB1sSmbnu9xIRGe3pNGdUs4O545Yd1naSursY dDkxmhccjEyEw7WlnymdlwIB2GLbMfu+7vT2XeCY95fMCYfPiOWp9+NWy5FSADtJpN2zZZ aBnI21ELys7TsPjuWoS+wSVl8HA2yPNAt+lORvq4gNCAp/PtLFkjZ8BcvPmtFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+RicGNWKtEKK9bcmVTvud0mb2fpvII++k2O7Xr2gA3U=; b=t3vw1sq0360xgnR0ROXTwwmt3iZ26Si09b33IiSXFX3mZvXvoQoCBqLQyWgJODgZ7JCG8B 5h8XIacU5nt1SlqPrOZksiJ0GMhi20fShlrMb2Gn3NiTQQBrApt7ebi1g/Sqkq8fUeFWL9 7h6dLTyNbkA4lofIJjDVuvtFHOkMhgBXwetbUehcPjtIMDPscjJ9R4sPrmzXQzOsn9ZEpx VSUPipT/6eqhuVdyHMBFYxBKztODoco1w7xYzWEM4RyR5w/+f2izMu6Cd1DWlVibZzp2On CowrkbcN8Jl+W9NxscbqxKzVjPXhVL718DQMQeH+UJaNhk3g4fbIVc2/6dL7OQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNr27S1z2Bn; Wed, 16 Apr 2025 19:46: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 53GJkaOj063885; Wed, 16 Apr 2025 19:46:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkaFN063882; Wed, 16 Apr 2025 19:46:36 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:36 GMT Message-Id: <202504161946.53GJkaFN063882@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: 2390cbfe55f5 - main - timeout(1): Fix the inheritance of signal dispositions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 2390cbfe55f55916eca25e8ba94a3320535e01c9 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=2390cbfe55f55916eca25e8ba94a3320535e01c9 commit 2390cbfe55f55916eca25e8ba94a3320535e01c9 Author: Aaron LI AuthorDate: 2025-04-03 01:07:52 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Fix the inheritance of signal dispositions POSIX.1-2024 requires that the child process inherit the same signal dispositions as the timeout(1) utility inherited, except for the signal to be sent upon timeout. For example, when timeout(1) is run by nohup(1), the command should be protected from SIGHUP. Obtained-from: DragonFly BSD --- bin/timeout/timeout.1 | 10 +++++++++- bin/timeout/timeout.c | 50 ++++++++++++++++++++++++++++++-------------------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 14fc19292684..371a167d19f3 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 2, 2025 +.Dd April 3, 2025 .Dt TIMEOUT 1 .Os .Sh NAME @@ -65,6 +65,14 @@ Therefore, a signal is never sent if .Ar duration is 0. .Pp +The signal dispositions inherited by the +.Ar command +are the same as the dispositions that +.Nm +inherited, except for the signal that will be sent upon timeout, +which is reset to take the default action and should terminate +the process. +.Pp The options are as follows: .Bl -tag -width indent .It Fl f , Fl -foreground diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 8a2f0faecd83..1c4cfa6e017d 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -224,6 +224,7 @@ main(int argc, char **argv) bool timedout = false; bool do_second_kill = false; bool child_done = false; + sigset_t zeromask, allmask, oldmask; struct sigaction signals; struct procctl_reaper_status info; int signums[] = { @@ -288,6 +289,33 @@ main(int argc, char **argv) err(EXIT_FAILURE, "procctl(PROC_REAP_ACQUIRE)"); } + /* Block all signals to avoid racing against the child. */ + sigfillset(&allmask); + if (sigprocmask(SIG_BLOCK, &allmask, &oldmask) == -1) + err(EXIT_FAILURE, "sigprocmask()"); + + pid = fork(); + if (pid == -1) { + err(EXIT_FAILURE, "fork()"); + } else if (pid == 0) { + /* + * child process + * + * POSIX.1-2024 requires that the child process inherit the + * same signal dispositions as the timeout(1) utility + * inherited, except for the signal to be sent upon timeout. + */ + signal(killsig, SIG_DFL); + if (sigprocmask(SIG_SETMASK, &oldmask, NULL) == -1) + err(EXIT_FAILURE, "sigprocmask(oldmask)"); + + execvp(argv[0], argv); + warn("exec(%s)", argv[0]); + _exit(errno == ENOENT ? EXIT_CMD_NOENT : EXIT_CMD_ERROR); + } + + /* parent continues here */ + memset(&signals, 0, sizeof(signals)); sigemptyset(&signals.sa_mask); @@ -310,29 +338,11 @@ main(int argc, char **argv) signal(SIGTTIN, SIG_IGN); signal(SIGTTOU, SIG_IGN); - pid = fork(); - if (pid == -1) { - err(EXIT_FAILURE, "fork()"); - } else if (pid == 0) { - /* child process */ - signal(SIGTTIN, SIG_DFL); - signal(SIGTTOU, SIG_DFL); - - execvp(argv[0], argv); - warn("exec(%s)", argv[0]); - _exit(errno == ENOENT ? EXIT_CMD_NOENT : EXIT_CMD_ERROR); - } - - /* parent continues here */ - - if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1) - err(EXIT_FAILURE, "sigprocmask()"); - set_interval(first_kill); - sigemptyset(&signals.sa_mask); + sigemptyset(&zeromask); for (;;) { - sigsuspend(&signals.sa_mask); + sigsuspend(&zeromask); if (sig_chld) { sig_chld = 0; From nobody Wed Apr 16 19:46:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNt6XHgz5t8T1; Wed, 16 Apr 2025 19:46: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 4ZdBNt3k34z3lRv; Wed, 16 Apr 2025 19:46:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7PlVAn8VdvBBO/Q3WAQqKCX/WpAaTMaBKhVYmd5a4dI=; b=R8CaA5lx0JOibFoU1Ol/d+WpMxImVd0A7k4/aMBPh1xtpDD2dMaiC7aN6XwLg633d+NO3W bVzi9xBWRVRPcPhXAviAAjx5LX5jcpbiCnrsLZ0jTj/5w6H5mpqtR7d9/d+iJ4WQeAq5wN c0AmvXjV7t2EhqhT2BsYtJaGgb49jJL66fFL19dwPSPgGSiG5ZP0fbyK1mLuypQIhc+7Ea 1c5gxiJfmXE5GZbWmVmHo5cwlxjEMrBMvqJ+2/zvayXKh2+xwmY9z19pbJQK/U4hHa/FOr Zaoid1j+7TdWT4cFUaQwauOowZUsdMd9tLyPw8AEWsaKPde9TGTAnzZq4gWVAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832798; a=rsa-sha256; cv=none; b=Uy2vzmTmjCHaVBi9t96+tlKI7uIRfQPEwn3QYSyBzr9feE+oLq+Gh/kjBuB5icFsW1XJRf 20KMCO74dSfQtLxW34hGhk29rvqtDbjD2HJkJvncreIR3NwVEpjA+WzfulkzORDoY0m1Bt 4KWieKaAGJ+fwWu8+kduPpb/qU+y35LhJIlRD3BeWl2xzDsN3lhCsMMgzV8iXOcRbJ52Df 0xDR2yNRs6OR2LJzGqAyiaefTIGFVX9dd7Ckb6ZpW+RvWM1BfhWiR55BBH6frcLDeYCkEU 9rlLWDNq9K49PM40yHQQ2D5Ck3NlXabGBhob9jxjE8opKO6TKl7VQfpC3rmmoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7PlVAn8VdvBBO/Q3WAQqKCX/WpAaTMaBKhVYmd5a4dI=; b=kSE0IfgxW0wSfONzPVr4q+dPTXDgtUrT+IXrxV41pTM7zD+cIvY8p5eCdsKi2P/xPJpzFQ qbl9ZLKtD6FPLGM+APjNs9NOS/p4Aj3ZVtObgYRvEY/uuTlgUPeu/Ljg66ewVHpCVCsJYu JH9Aiysl3+6/7NfcvjFoDnUcU7tWUeLcNFUp8kAzC8xD+ehCh1+n4LYgJ5sJPK730AIZuT N/vaJeuLis2bO/JMqH8Ff3UIb2B8x+ybWhmlUDrmO+O1p3fk7/+JAxKO770uLasB3Z1JWw Fb9NVDY+fbwKcoZCTe3iUKDcHUAsZZXUAjt7w43P5NEaQTdg8kc9yG+Xuc8/nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNt3Cb3z2Bp; Wed, 16 Apr 2025 19:46: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 53GJkc9X063963; Wed, 16 Apr 2025 19:46:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkcmT063960; Wed, 16 Apr 2025 19:46:38 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:38 GMT Message-Id: <202504161946.53GJkcmT063960@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: 613310263ae1 - main - timeout(1): Kill self with the same signal that terminated the child List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 613310263ae1f0f65df498dc8e98f460b781946d Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=613310263ae1f0f65df498dc8e98f460b781946d commit 613310263ae1f0f65df498dc8e98f460b781946d Author: Aaron LI AuthorDate: 2025-04-03 02:51:06 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Kill self with the same signal that terminated the child A shell may not set '$?' to '128 + signal_number' when the process was terminated by a signal. For example, KornShell 93 sets '$?' to '256 + signal_number' in such cases. In order to avoid any possible ambiguity, the POSIX.1-2024 standard requires that timeout mimic the wait status of the child process by terminating itself with the same signal, while disabling core generation. Update the man page accordingly. Obtained-from: DragonFly BSD Reference: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/timeout.html --- bin/timeout/timeout.1 | 51 ++++++++++++++++++++++++--------------------------- bin/timeout/timeout.c | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 29 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 44525daaec59..43a484dac76f 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -146,37 +146,33 @@ hours days .El .Sh EXIT STATUS -If the timeout was not reached, the exit status of -.Ar command -is returned. -.Pp -If the timeout was reached and -.Fl -preserve-status -is set, the exit status of -.Ar command -is returned. -If +If the time limit was reached and the .Fl -preserve-status -is not set, an exit status of 124 is returned. -.Pp -If an invalid parameter is passed to -.Fl s -or -.Fl k , -the exit status returned is 125. -.Pp -If +option is not specified, the exit status is 124. +Otherwise, +.Nm +exits with the same exit status as the +.Ar command . +For example, +.Nm +will terminate itself with the same signal if the .Ar command -is an otherwise invalid program, the exit status returned is 126. +is terminated by a signal. .Pp -If +If an error occurred, the following exit values are returned: +.Bl -tag -offset indent with indent -compact +.It 125 +An error other than the two described below occurred. +For example, an invalid duration or signal was specified. +.It 126 +The .Ar command -refers to a non-existing program, the exit status returned is 127. -.Pp -If +was found but could not be executed. +.It 127 +The .Ar command -exits after receiving a signal, the exit status returned is the signal number -plus 128. +could not be found. +.El .Sh EXAMPLES Run .Xr sleep 1 @@ -202,7 +198,8 @@ $ echo $? .Pp Same as above but preserving status. The exit status is 128 + signal number (15 for -.Dv SIGTERM ) : +.Dv SIGTERM ) +for most shells: .Bd -literal -offset indent $ timeout --preserve-status 2 sleep 4 $ echo $? diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 6e93e9e2911c..e9c4e22fc7d3 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -239,6 +240,34 @@ set_interval(double iv) err(EXIT_FAILURE, "setitimer()"); } +/* + * In order to avoid any possible ambiguity that a shell may not set '$?' to + * '128+signal_number', POSIX.1-2024 requires that timeout mimic the wait + * status of the child process by terminating itself with the same signal, + * while disabling core generation. + */ +static void __dead2 +kill_self(int signo) +{ + sigset_t mask; + struct rlimit rl; + + /* Reset the signal disposition and make sure it's unblocked. */ + signal(signo, SIG_DFL); + sigfillset(&mask); + sigdelset(&mask, signo); + sigprocmask(SIG_SETMASK, &mask, NULL); + + /* Disable core generation. */ + memset(&rl, 0, sizeof(rl)); + setrlimit(RLIMIT_CORE, &rl); + + logv("killing self with signal %s(%d)", sys_signame[signo], signo); + kill(getpid(), signo); + err(128 + signo, "signal %s(%d) failed to kill self", + sys_signame[signo], signo); +} + int main(int argc, char **argv) { @@ -430,10 +459,12 @@ main(int argc, char **argv) if (timedout && !preserve) { pstat = EXIT_TIMEOUT; } else { + if (WIFSIGNALED(pstat)) + kill_self(WTERMSIG(pstat)); + /* NOTREACHED */ + if (WIFEXITED(pstat)) pstat = WEXITSTATUS(pstat); - else if (WIFSIGNALED(pstat)) - pstat = 128 + WTERMSIG(pstat); } return (pstat); From nobody Wed Apr 16 19:46:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNt1gcnz5t8jY; Wed, 16 Apr 2025 19:46: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 4ZdBNs2kNmz3l18; Wed, 16 Apr 2025 19:46:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JPcrJJQxCBsvwusN5oTgcMpraiFuFt2gGNHXfiySBmA=; b=cyVcz/MXWXevzyUJ0OZ8tq/sSAKeCiSCdpt18tUgjbKB+DzyiIJouBJSzi/uxhQykmb+xR 0xUZtewRjI2QHFovkBSW5nBnfCVcWhbr6bKxnGbWDxp8Vx9C9/PlhCt7qiR/D85giV/+om VEQfe9RFmAbwUFfz6JZi2uyGAOBNAMebIk9iRBkfksdGZjobJLljEM3CI9PddtmRefJ8jD 9VQTJGKjPBye8KGfyw45s4HbC3UXEjvDa5/qC6Py2WTK9nVrN7HeHH3UKTRlUElnizidWg ov82bdr2sqgb9MN1JLyR045lyDIcPO5mC8iyhqCFHm9JdKcOEKexWO98AtT8lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832797; a=rsa-sha256; cv=none; b=C48TWnJaZFAYMWlGha1fG2YyyIWk8on+zUMgQxOcAb6GTiLT+kG0eoe0gYvVBaGp+3+j4B SXGKcOJsi1HpXLH0snW9IOASI1bpkZoc9Wjcdya8cFDYtR2Vb9TldS/Uvu9qtWYmF4BwUD vR69PnG1CKOzk57VbOiXffu/UJ2/nrT+e3Ak+b/AJBjfjhE2L4THbX59bMOo9OvfsA2Ag1 8dcWKGHwkf8TkcEZkiFfN18iF1mzAg8VKZqCWkHc7g3u1tf3v8xga3mc1l1FUpF/2oKU++ Ia8+JRNTVT4sGwBDWcjdNxJK94NHiRDU4pvZmadgypj4wkd1qI0sLTF6De9Sgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JPcrJJQxCBsvwusN5oTgcMpraiFuFt2gGNHXfiySBmA=; b=dzYj+Z6eP0tsK9Jk78hfuUR7mYAqX0GU13i1IosZ9uIcItW+6IHORmn3obUsPN9xcf23tr v+jeyOF/RIHsfvuZp0ouWenSJnLnutXFHjkDTPD3+A/Cx/sN76rODCUewPsXGCfR+FWEAj SI789sSp4nPjz09TqqF87mt1ycEOxuQnp7YE/bXt1xIiGvojaMAIN1utYsyOlDhtvWJ5vL /yuq0iG71bzERcYIsnt9s56nUU9FM3G2rKE3svcP1U8IJvNWF05/daXih1HG7Bzfso2KlD NDOoenamVtVmtlK9JzHXFhbAauBLf8t7guEg5pRuXxw96k7pEsvt0txp2Gm9qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNs2DGlz2Fx; Wed, 16 Apr 2025 19:46: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 53GJkbHs063923; Wed, 16 Apr 2025 19:46:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkbJM063920; Wed, 16 Apr 2025 19:46:37 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:37 GMT Message-Id: <202504161946.53GJkbJM063920@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: 844cef26e810 - main - timeout(1): Catch all signals and propagate them List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 844cef26e810d903e11bf83cc6f6fd2e22a299f1 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=844cef26e810d903e11bf83cc6f6fd2e22a299f1 commit 844cef26e810d903e11bf83cc6f6fd2e22a299f1 Author: Aaron LI AuthorDate: 2025-04-03 01:20:01 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Catch all signals and propagate them The POSIX.1-2024 standard requires that timeout(1) utility propagate all signals except SIGALRM, so timeout(1) needs to catch all signals for this purpose. In addition, we need to separate those signals whose default action is to terminate the program, because timeout(1) should start the second timer for the kill signal if those signals are received. Obtained-from: DragonFly BSD Reference: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/timeout.html --- bin/timeout/timeout.1 | 22 ++++++++++++ bin/timeout/timeout.c | 92 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 79 insertions(+), 35 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 371a167d19f3..44525daaec59 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -73,6 +73,28 @@ inherited, except for the signal that will be sent upon timeout, which is reset to take the default action and should terminate the process. .Pp +If +.Nm +receives the +.Dv SIGALRM +signal, it will behave as if the time limit has been reached +and send the specified signal to +.Ar command . +For any other signals delivered to +.Nm , +it will propagate them to +.Ar command , +with the exception of +.Dv SIGKILL +and +.Dv SIGSTOP . +If you want to prevent the +.Ar command +from being timed out, send +.Dv SIGKILL +to +.Nm . +.Pp The options are as follows: .Bl -tag -width indent .It Fl f , Fl -foreground diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 1c4cfa6e017d..6e93e9e2911c 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -1,6 +1,7 @@ /*- * Copyright (c) 2014 Baptiste Daroussin * Copyright (c) 2014 Vsevolod Stakhov + * Copyright (c) 2025 Aaron LI * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,8 +48,10 @@ #define EXIT_CMD_NOENT 127 static volatile sig_atomic_t sig_chld = 0; -static volatile sig_atomic_t sig_term = 0; static volatile sig_atomic_t sig_alrm = 0; +static volatile sig_atomic_t sig_term = 0; /* signal to terminate children */ +static volatile sig_atomic_t sig_other = 0; /* signal to propagate */ +static int killsig = SIGTERM; /* signal to kill children */ static const char *command = NULL; static bool verbose = false; @@ -137,19 +140,46 @@ parse_signal(const char *str) static void sig_handler(int signo) { - switch (signo) { - case SIGINT: - case SIGHUP: - case SIGQUIT: - case SIGTERM: + if (signo == killsig) { sig_term = signo; - break; + return; + } + + switch (signo) { case SIGCHLD: sig_chld = 1; break; case SIGALRM: sig_alrm = 1; break; + case SIGHUP: + case SIGINT: + case SIGQUIT: + case SIGILL: + case SIGTRAP: + case SIGABRT: + case SIGEMT: + case SIGFPE: + case SIGBUS: + case SIGSEGV: + case SIGSYS: + case SIGPIPE: + case SIGTERM: + case SIGXCPU: + case SIGXFSZ: + case SIGVTALRM: + case SIGPROF: + case SIGUSR1: + case SIGUSR2: + /* + * Signals with default action to terminate the process. + * See the sigaction(2) man page. + */ + sig_term = signo; + break; + default: + sig_other = signo; + break; } } @@ -214,8 +244,6 @@ main(int argc, char **argv) { int ch, status, sig; int pstat = 0; - int killsig = SIGTERM; - size_t i; pid_t pid, cpid; double first_kill; double second_kill = 0; @@ -225,17 +253,8 @@ main(int argc, char **argv) bool do_second_kill = false; bool child_done = false; sigset_t zeromask, allmask, oldmask; - struct sigaction signals; + struct sigaction sa; struct procctl_reaper_status info; - int signums[] = { - -1, - SIGTERM, - SIGINT, - SIGHUP, - SIGCHLD, - SIGALRM, - SIGQUIT, - }; const char optstr[] = "+fhk:ps:v"; const struct option longopts[] = { @@ -316,22 +335,17 @@ main(int argc, char **argv) /* parent continues here */ - memset(&signals, 0, sizeof(signals)); - sigemptyset(&signals.sa_mask); - - if (killsig != SIGKILL && killsig != SIGSTOP) - signums[0] = killsig; - - for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) - sigaddset(&signals.sa_mask, signums[i]); - - signals.sa_handler = sig_handler; - signals.sa_flags = SA_RESTART; - - for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) { - if (signums[i] > 0 && - sigaction(signums[i], &signals, NULL) == -1) - err(EXIT_FAILURE, "sigaction()"); + /* Catch all signals in order to propagate them. */ + memset(&sa, 0, sizeof(sa)); + sigfillset(&sa.sa_mask); + sa.sa_handler = sig_handler; + sa.sa_flags = SA_RESTART; + for (sig = 1; sig < sys_nsig; sig++) { + if (sig == SIGKILL || sig == SIGSTOP || sig == SIGCONT || + sig == SIGTTIN || sig == SIGTTOU) + continue; + if (sigaction(sig, &sa, NULL) == -1) + err(EXIT_FAILURE, "sigaction(%d)", sig); } /* Don't stop if background child needs TTY */ @@ -399,6 +413,14 @@ main(int argc, char **argv) do_second_kill = false; killsig = SIGKILL; } + + } else if (sig_other) { + /* Propagate any other signals. */ + sig = sig_other; + sig_other = 0; + logv("received signal %s(%d)", sys_signame[sig], sig); + + send_sig(pid, sig, foreground); } } From nobody Wed Apr 16 19:46:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNv62qWz5t8gh; Wed, 16 Apr 2025 19:46: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 4ZdBNv4L7Sz3lGQ; Wed, 16 Apr 2025 19:46:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt98fopEMtwVc5bS754UQPXFysXtHSxhWaY1sOTLmdY=; b=QPefHG2Lct6LSdXYz6k9xepDVEPVXGovnqA5TJ8wnKLV3xKj3QZ3opk7BAqkfvt6lXfIW4 oYYidX7EqKF3fBdW/rhEKVFgCKaPBeOMgesr3H9C/uOdIpX0FaT3C+boVLwAOz5gpnbW89 JRE96/Qt13YTlwiZEtKF6kKnCQ0PNhpfDplTShbgnF5Gvofy0GKJiSv4FioXWrZotZcPB4 4xfeAZZ3Reesd1i+wdfJaueGS4ztWYywTAHZmLXZmMmAPkFZaJic5sIFuDVRqaaYJw3w9U tb+/z+lWKvNcnanQim8ocQnI8ETdmTRFcz3SYIt61iTKpqlXxp8UxzCivug32g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832799; a=rsa-sha256; cv=none; b=k5n37Lte3Md3G9WkaSPiFULwf9aIT7iZDiDxJXcPjnDk3qc+CLxDfw5ItluJisGV/sYZ8X K9KvgspOIvxF43Mch+AdTie5br/CTtADBFdGU+4ByIK3tvqoSqI9cNISDnUyeCtbE/yzu+ e+yHz3B6/Top3B2evqO8MGAtF1tBng5goURmqDi197NKj6f7qHgGyBMgF2RneIVCQ25saj OCDPtdW4Y5oCm8SLdQX2dN1pirFydUZO6os3kXCb75cwnXQAaYnw1RRuThFbLFkx9G1BpG s0pTN0Q1nsERg7FNPPEq4q5B4CHL1PKEItDO+9hHPis4pFpeDIUMkVegt48Nfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt98fopEMtwVc5bS754UQPXFysXtHSxhWaY1sOTLmdY=; b=yL2aGlK08EyA9XcAiRvd+IfsgGtf/pw24KVKP6IjEtK9f/Fgtj1notrFkevD7F2R31lERL 1DEDtNr4DbqnQJ7r1qvdRkBeaYRMYf/lXhli22tmOJtGfE0icaLI8YYOpqZhClcDTcWNe0 Igf2OFfta1nMx8xYMKR1L8B6x4dsd2A7pW9bxIR8RPxI9mwrGksQ+0uyWKPkxhGQsLci2R jndYhO4Ha2aM67APZvBNH3SQETVS6bHCaxCpZvagxnHhSYOAKJvzZOiZqfhucLb8uqGBvy fGoznzjB3NivZjSHbfCNeZbBFH815FkSH7O1/61TekO5LQpx4k0hVzyEyjS5tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNv3qgcz1tH; Wed, 16 Apr 2025 19:46: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 53GJkdlb063997; Wed, 16 Apr 2025 19:46:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkdDd063994; Wed, 16 Apr 2025 19:46:39 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:39 GMT Message-Id: <202504161946.53GJkdDd063994@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: a25b03791764 - main - timeout(1): adapt the preserve_status test to the new behaviour List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a25b03791764b7817a1a3e05ac1ab91c75a946ac Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=a25b03791764b7817a1a3e05ac1ab91c75a946ac commit a25b03791764b7817a1a3e05ac1ab91c75a946ac Author: Baptiste Daroussin AuthorDate: 2025-04-16 19:41:30 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): adapt the preserve_status test to the new behaviour atf-check cannot check anymore the exit number if the program is terminated via a signal, it needs to be catched by -s signal because we cannot pass twice the -s command, we cannot anymore check for the exit value :( --- bin/timeout/tests/timeout_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/timeout/tests/timeout_test.sh b/bin/timeout/tests/timeout_test.sh index d08f6c01e067..a72aed609d47 100644 --- a/bin/timeout/tests/timeout_test.sh +++ b/bin/timeout/tests/timeout_test.sh @@ -86,7 +86,7 @@ exit_numbers_body() atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status .1 sleep 10 atf_check \ From nobody Wed Apr 16 19:46:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBNx1QBNz5t8nt; Wed, 16 Apr 2025 19:46: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 4ZdBNw56N0z3lDS; Wed, 16 Apr 2025 19:46:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLBGKVwa7uDZ4EbVA3nLJzkUFu1/dcXzrK9bpAfcjQU=; b=I5xtBh03ZngLY7LdXuHb6fWZCd99ea8TEhRuyDVbIEuHr4iqxbQZp34rVMGFoofhz+M+m1 M2YU450omz1qcX7DNjGeKTw49Lb1I67WlKld/n5VTs1fMh2kTgzk4rhv+MJ/UkRrkuy7yY I54EEzlEWSerM83h+cYxiQt5XbqDO9mC2Z6gCviatyid16Cz9WjS6HzlZUed+46SPAVi8m xEJNU2b7OWN/5zgJHv5Qgg/F1FpotmMrZkaXtTXP8EYDwP5VaSVzudwURktjoLelwE5sYD y4mMo3fyv92hxR+26NlQ2kg9E/TjrHm6gYUY6Arh0fQJTJOJElUu05MAMA3qKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832800; a=rsa-sha256; cv=none; b=NmiGGuauvX4ySXGqF+qH3pyy+nj318g06BANl6UxuXC1MGtp+QItj0v8TaRjKgmDrk5d0R YulliLOVwfOx+OB6VB5ZlFXnztHFtKHcTGbweIhpD9CB4o1oh9JurQBESYvue7HyDrR4Ns Z8OvUd/mlIbUYJ5wNT8/oUVQ+fN74fEJ41RPU7IkOX/0s9PRhqJQ+mclZYXb2o6MWpFYxf XWqKnDvpPWIy/N8h/O/dt0qs2RvUqGjBVSovHKGxlf9IX7e1/oVKU4VScYbirp0eb7lbAP RqmSuK7TiQIjMjqTsrghuJCOaiS2dBOWvAietdHfuMLqvH2oWn/A0qL6C5jDrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLBGKVwa7uDZ4EbVA3nLJzkUFu1/dcXzrK9bpAfcjQU=; b=wQh645RY0UsxfVPZlSLnLWqBh/Ym1OyFUQxya6Bd9MSbP/OzwjI8L6dZgEqfJX78BFDb8N h9tiVIgRFSx40iZs3KRbmDLRincotvHBsCQq7BN7PSKwhMkJLk3B1JILi9egTpeF2CpdTn Yl09WRhyo3nswz4Cf2/NFaAHw4pykybfVmvUkjj/BnvYL1gEAdSyp7YnoMKJo3Qt157pKN itVGyCWDCSv7C7/7ZB600cxGQsYkeWGYmHf/MQPf0I9vd6cWq+dy5bP2+64w+PokJoL49z 0vdIb+J3cHpW48vX6BatQSvXMGY2kEM418NdM9tG3ZdATrurn1jYOwUzCPWSkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBNw4j2Mz1tJ; Wed, 16 Apr 2025 19:46: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 53GJkeNi064031; Wed, 16 Apr 2025 19:46:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkeqT064028; Wed, 16 Apr 2025 19:46:40 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:40 GMT Message-Id: <202504161946.53GJkeqT064028@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: c362781c8d6a - main - timeout(1): Document the reaper implementation and behaivor List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c362781c8d6a878ac93f3debc45d401bd5296eee Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c362781c8d6a878ac93f3debc45d401bd5296eee commit c362781c8d6a878ac93f3debc45d401bd5296eee Author: Aaron LI AuthorDate: 2025-04-03 02:54:49 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Document the reaper implementation and behaivor If timeout(1) runs with the --foreground option, it becomes the reaper of the command and its descendants and will wait for all of them to terminate. This behavior is different from the old FreeBSD version and GNU version. For example, if there is a descendant running in the background, like: $ timeout -s INT 2 sh -c 'sleep 4 & sleep 5' when timeout(1) sends the SIGINT to all descendants, the child 'sh' process and the foreground 'sleep 5' process will immediately terminate, but the background 'sleep 4' will be reparented to the timeout(1) itself. Because a background process ignores SIGINT and SIGQUIT, the whole command completes until the background 'sleep 4' finishes. In comparison, the old FreeBSD version and GNU version will just terminate itself, letting the background 'sleep 4' process be reparented to an upper reaper like init. The POSIX.1-2024 standard doesn't specify the required behavior in such cases, so I decided to keep the current implementation. Nonetheless, the updated timeout(1) has changed a lot in order to conform to the standard. Obtained-from: DragonFly BSD --- bin/timeout/timeout.1 | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 43a484dac76f..6486ccf99a36 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -1,6 +1,7 @@ .\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2014 Baptiste Daroussin +.\" Copyright (c) 2025 Aaron LI .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -101,6 +102,9 @@ The options are as follows: Only time out the .Ar command itself, but do not propagate signals to its descendants. +See the +.Sx IMPLEMENTATION NOTES +section for more details. .It Fl k Ar time , Fl -kill-after Ar time Send a .Dv SIGKILL @@ -145,6 +149,30 @@ hours .It Cm d days .El +.Sh IMPLEMENTATION NOTES +If the +.Fl -foreground +option is not specified, +.Nm +runs as the reaper (see also +.Xr procctl 2 ) +of the +.Ar command +and its descendants, and will wait for all the descendants to terminate. +This behavior might cause surprises if there are descendants running +in the background, because they will ignore +.Dv SIGINT +and +.Dv SIGQUIT +signals. +For example, the following command that sends a +.Dv SIGTERM +signal will complete in 2 seconds: +.Dl $ timeout -s TERM 2 sh -c 'sleep 4 & sleep 5' +However, this command that sends a +.Dv SIGINT +signal will complete in 4 seconds: +.Dl $ timeout -s INT 2 sh -c 'sleep 4 & sleep 5' .Sh EXIT STATUS If the time limit was reached and the .Fl -preserve-status @@ -247,9 +275,9 @@ The command first appeared in .Fx 10.3 . .Pp -The +The initial .Fx -work is compatible with GNU +work was compatible with GNU .Nm by .An Padraig Brady , @@ -258,6 +286,7 @@ The .Nm utility first appeared in GNU Coreutils 7.0. .Sh AUTHORS -.An Baptiste Daroussin Aq Mt bapt@FreeBSD.org -and +.An Baptiste Daroussin Aq Mt bapt@FreeBSD.org , .An Vsevolod Stakhov Aq Mt vsevolod@FreeBSD.org +and +.An Aaron LI Aq Mt aly@aaronly.me From nobody Wed Apr 16 19:58:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdBf54kFrz5t99L; Wed, 16 Apr 2025 19:58: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 4ZdBf52pBSz3rvd; Wed, 16 Apr 2025 19:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744833485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzrKwnYeC8+7azajUir/7dWKGlpSqZO5pZcFV9FCNSY=; b=dYNylpDcMVdKW/QWdjEgyy+xC400FyBOlZceaiBLOl/xr0R8HgzHRJgEcg5vsy8Um1F1dO KYaQ4oZ2NHjenSJ1WoKEdkoA6+KSLz0uUsnBE4TTGBdicc0zQlp+o2qdqMGLCYFjVzSP2N HMCwbVALumRMGqgxNWlln4aavKbMXlLFcP+KMmEgjFv7Pb4L6JMSLc5mEAQSd8iefDZP6c RSmEVRYvbHhQ6CGoIWvamD1gmL6ayt6WyEKJHiv3b1b6ibJV8Phv7YOYdHuL84N+l83O3s fExds25vx/3aOeGuQ+PC8pEFgSkjztqa4ChyRQZldT/X+oPstf2pOqGUhpVKvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744833485; a=rsa-sha256; cv=none; b=hcHqz9w+i4r6dbm7yEHTyQ5mbSgTsnFHOMup3KFqepGeLLRsppEC76B3RQnWKWs4VaeMrn RdPzZ9M+XyjSf0c8MJydBAV6ZXWKH+UlepHkw/d0qOrxpJqIIwzKFc00/mbyhPiRFeXpwm 6el+l4SabjQxk1ODLIk4zpB7hqx/JHxXDc8O9L5q/4uyy6pPuG/V+CWJgU7I3lKEP53MN6 ckXgHhTid4jqvqouoSn3Kza0DgCJpVPMqNSL8RrUc8RO8jw65qN9FhESOwbSVmVwZaLZSX bYZ2BthfoK/RxBqaKXKOSpghepxh89yHB4pMoP/XikHJmvKhq63ULuvgQFIsVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744833485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzrKwnYeC8+7azajUir/7dWKGlpSqZO5pZcFV9FCNSY=; b=cufP4lBVb4N/jGfy9QDWGocK1yd+S04pHKaUus9Af7A+ayrGOB61M4qY1muNXIIgHhCATs c9TpXofff99gMFs2EVbyZQc0iIVmlFwivAfzhioc19dTQeBckOUVIOqYJVPoSamKqYr43n mGLrnw/7D9HMUDRf/Ol5MPW5lO/DRHx+E34wCJ6bs1jq0sQ09uCoJkZGCYa4vR9oBCaSf7 hDpUsaZXBMTSWlQ5lo6RVvfbn0MWXKZqb4t9a52H12r3NQIPVUPGd6tVsIqi7dSpdxvPuN CVcr9groKp0ddonxDd7WYuudpbXuI7oY6DOm/v+asKOJbR1xlLepjEzhO8NyjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdBf523XRz1hW; Wed, 16 Apr 2025 19:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53GJw5JB083056; Wed, 16 Apr 2025 19:58:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJw5jb083053; Wed, 16 Apr 2025 19:58:05 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:58:05 GMT Message-Id: <202504161958.53GJw5jb083053@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: 7a4c662f407f - main - termcap: add entry for Alacritty List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 7a4c662f407f074287f42cf0652dff74a294bf0e Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=7a4c662f407f074287f42cf0652dff74a294bf0e commit 7a4c662f407f074287f42cf0652dff74a294bf0e Author: Siva Mahadevan AuthorDate: 2025-04-04 13:50:29 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:57:03 +0000 termcap: add entry for Alacritty Out of the box on other platforms, alacritty reports `TERM=alacritty`. This requires an updated terminfo/termcap database that contains an entry for `alacritty`. Prior to this change, when you ssh into a FreeBSD machine using a default configuration of alacritty on a client system, it reports this in `motd(5)`: ``` No entry for terminal type "alacritty"; using dumb terminal settings. ``` This change adds a termcap entry for alacritty, converted from the upstream-provided `alacritty.info` using `tic -C`. Signed-off-by: Siva Mahadevan MFC After: 3 days --- share/termcap/termcap | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/share/termcap/termcap b/share/termcap/termcap index 8852938e9802..9704d85c942f 100644 --- a/share/termcap/termcap +++ b/share/termcap/termcap @@ -4770,6 +4770,44 @@ foot|foot terminal emulator:\ :bw:hs:\ :ds=\E]2;\E\\:fs=\E\\:kb=\177:ts=\E]2;:vb=\E]555\E\\:\ :tc=xterm-256color: + +alacritty|alacritty terminal emulator:\ + :cc:\ + :Co#256:pa#32767:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:\ + :..Ic=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\:\ + :Sb@:Sf@:oc=\E]104\007:r1=\Ec\E]104\007:\ + :tc=alacritty+common: + +alacritty-direct|alacritty with direct color indexing:\ + :Co#16777216:pa#32767:\ + :..AB=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m:\ + :..AF=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m:\ + :Ic@:Sb@:Sf@:op=\E[39;49m:tc=alacritty+common: + +# (untranslatable capabilities removed to fit entry within 1023 bytes) +# (sgr removed to fit entry within 1023 bytes) +# (acsc removed to fit entry within 1023 bytes) +# (terminfo-only capabilities suppressed to fit entry within 1023 bytes) +alacritty+common|base fragment for alacritty:\ + :am:bs:hs:km:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\ + :ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\ + :ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: # # END OF TERMCAP # ------------------------ From nobody Wed Apr 16 20:19:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdC7K5q74z5tBcy for ; Wed, 16 Apr 2025 20:19: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 4ZdC7K4clcz3snT; Wed, 16 Apr 2025 20:19:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzHw1CBLW4x4Xi+QEvBzWRtTEwzte7aBd6vGgjv641A=; b=NMVTGX22vfUbWZUykFMn5+w/Q1RgtLqcKBh35buSzb6T8Mqyqla/tJrqWcK+nBIvPb5kJ/ dkN0F/kmr1GtWHFcuOWPvxwiLEgNsJfJKbaS2g/3CESwvhmbZdwrKAhDR19PCyKBsu4HNM FVYhg86qrkV3c1MfzLP7xn8xRUhSpBpEw/i+mqFePQGufO1Jm6Qjlr6WA02n3jSicvrPzG VthU8O+2/RpZVA1nKDqi4ndTpNmrl0fs/4pX8fQeBHvYlkvAHevNppum/AYlwe1rMvwN7T 0SNIL63tuSD/9twuNsdQsZ+JWhoohWbIlnCq1t5UyD+UuZggatBEFae0T7WC7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744834797; a=rsa-sha256; cv=none; b=FF/Yndpy0LhtDqrPNWvJHXlKMjAtua18p+cI6WmuGdxGDvlqdPSDa2a3dGYkLGulmbByn6 DrQT3iFro13ASewyrOqLdW/c9DjXxg/d6OGnwqxrJtzLtFG2HRXJhgSj+JduvHf5vKDkjP irDn2hKDi+n12E7EJTakd6kHWau6UgJY7zHJDAA7IMs7R4Pp8xlxW2AVdpeHSR6SffIb4h LQA4vjg6y24jwTuWBB9BUr6jCPZ2efW32ingxGpCFAaSZwk795n6J/54w6j1mOpzQEopAY E06zzY6U3z4Q7lzwgZ6igXQUVKRXyQ4SeS/T5tH6kAhxWzXrg3e+S8Lp6aW8yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzHw1CBLW4x4Xi+QEvBzWRtTEwzte7aBd6vGgjv641A=; b=bSWRm/yXqy/IugItCj+92pLjEQA/EoHxjpdRxtiNA9+X5IwVHq6wjqnJL/4OxGUPypLySw XlMAx0PV4qbitwTqzID2DOv3mWuCbgqBvyvjkbM7Cw2imXnI7AawIvltiQ9WQvM2qWa5yL AVchKuR43WOO0aTSnF4OPJtYi2u+b919PpkmfNOpXQY1pRzInJmxHhXO7zXOXXKvWfAVY0 lPCWpCd7kFSCaaqQ4G3Zxmr8OmV/d5DXvbFVMd1kSVP3yrSbYb5VWy/yALTtxwzTKxDCEU QDxh47bbdboay1/+7Z9Ye4n0yVL3egM0q/2AeMeEzTDMDibDqlwbcgHIxwZBeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdC7K3XdQz3BB; Wed, 16 Apr 2025 20:19: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 53GKJvBc022034; Wed, 16 Apr 2025 20:19:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GKJvvf022033; Wed, 16 Apr 2025 20:19:57 GMT (envelope-from git) Date: Wed, 16 Apr 2025 20:19:57 GMT Message-Id: <202504162019.53GKJvvf022033@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Baptiste Daroussin Subject: git: 5a36c8261410..b3884193b7bd - vendor/NetBSD/libedit - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/vendor/NetBSD/libedit X-Git-Reftype: branch X-Git-Commit: b3884193b7bd3977acc44790b6278b60517ad097 X-Git-Oldrev: 5a36c82614102a8c3926bca0bdb9d44149691be8 X-Git-Newrev: b3884193b7bd3977acc44790b6278b60517ad097 Auto-Submitted: auto-generated The branch vendor/NetBSD/libedit has been updated by bapt: URL: https://cgit.FreeBSD.org/src/log/?id=5a36c8261410..b3884193b7bd b3884193b7bd libedit: import snapshort 2025-01-03 From nobody Wed Apr 16 20:19:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdC7K5qcZz5tBWm for ; Wed, 16 Apr 2025 20:19: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 4ZdC7K5DlXz3sqw; Wed, 16 Apr 2025 20:19:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rHPJsXHgb8IvDtBkAGDuXSnX4AdX+njiJBYLLXQVEro=; b=gjDFcv5DQuULR/hN7Y7w385G3W6+ZBWHNDI4HmJR40VdWT/Dr3WAhIafvQYfQFS6kDwjQ/ 401MtAzSWXAp2dz5TBkB+MwLi0zfPmhTIqtyyAGZoNW6FfL4E9pZHvXh/Nfo0zXAyddoKn 0d+NLUZeGzdDM/qaTe1TKt8DINF5kBlTVx511sieA9m3o7LQbsvHXD/UrdI9mhu2klUtDS Df0kiHRRy+7KZgU/8/DZqAbysXgP+DRw28PA2pK4Hu9Q8YIlMLti3g0q67AvQaNeYXzYEA AeQG7nG+kH2eNZUCUIl14T+D1PMZyCJWeMIouJ3llnyGMqwLrWWJfjiVPgyvWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744834797; a=rsa-sha256; cv=none; b=gM8W0TKdZQJvhZT6E5Ms+9qWFxtbN1j6mJSw6GH9ryeL0cIRR+erEaAAbouKe7eVx9ChAk FsQEvbMHD2ylvn/TuNYUlREdFGK3MtRgMyfc50u4LFbs5aM0PVsDXm2fbA4++K+v/jdhgJ Trk0LcaC/xOWYsy2glfkloI+v+vHRPlpJgrfznR6OJqAb9xCy7ejHgwblmJtfgmVlv1jMN +QfmX7oQInBOBLdtqpqVF+jr9tF1VN/VOV/zlIHJ0NIGUXXmCd28vbnfnss0xQIiV8qoRl THGDmzh/TVqai2xR3/HBuNDePDUfRVbrIk7QCVoKnZPrrsKFJSBWX5lrNfQwmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rHPJsXHgb8IvDtBkAGDuXSnX4AdX+njiJBYLLXQVEro=; b=CR56nvLYUzNMWyGKXXf6cig1jrDfegsojGHtz5nZ3DqEvPywO3sw4I776Urf7jT8VI1D3d YYXmTkchLgjxgLGQf38Pr88ojJt246Dd8G+xnSs9nTGEjJZPCqRxG/83vostof/0OqZkex NLQJGfGCFuiZlhDlJ1hyOe+8dMzTX37/fhbaubpAiH3t/XWPuhFHqaK7BSzSZmtENAT/1y Oy/3L5KmRkyjl9kcqDwhf/Dyt8XSKdZ+G2wDgxLvfpIEKwfCl9KMXZxHZywm/9ERQM2fvX fyqGNq54lLhu9nJkphCWkqRSDKaR+NJ6A/w/O837UEqctMbH1K/qVXcy7Bj5gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdC7K4Rhmz2r4; Wed, 16 Apr 2025 20:19: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 53GKJvJr022053; Wed, 16 Apr 2025 20:19:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GKJv4d022052; Wed, 16 Apr 2025 20:19:57 GMT (envelope-from git) Date: Wed, 16 Apr 2025 20:19:57 GMT Message-Id: <202504162019.53GKJv4d022052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Baptiste Daroussin Subject: git: c65f958c8054 - Create tag vendor/NetBSD/libedit/2025-01-03 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/tags/vendor/NetBSD/libedit/2025-01-03 X-Git-Reftype: annotated tag X-Git-Commit: c65f958c80544e5b9a5a933019c2e53950c07d33 Auto-Submitted: auto-generated The annotated tag vendor/NetBSD/libedit/2025-01-03 has been created by bapt: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/NetBSD/libedit/2025-01-03 tag vendor/NetBSD/libedit/2025-01-03 Tagger: Baptiste Daroussin TaggerDate: 2025-04-16 20:18:30 +0000 tag vendor import of libedit 2025-01-03 commit b3884193b7bd3977acc44790b6278b60517ad097 Author: Baptiste Daroussin AuthorDate: 2025-04-16 20:16:43 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 20:18:02 +0000 libedit: import snapshort 2025-01-03 From nobody Wed Apr 16 20:22:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdC9s0BZ0z5tBgp; Wed, 16 Apr 2025 20:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdC9r55Z2z3tlF; Wed, 16 Apr 2025 20:22:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BoC2O6pDHSB12Qf+mQxDKswXPnD4ZQPXji3BsYeKwNg=; b=lNBcIOv8GK+gUcwCSNnkSgXMLz4pP8Sfh6SdEATpgLgtxSFssmIYBbkfBsxGoRJ7YtgxI5 hsa50aoW3of59I6X6rv8FfbpFS6DlEWuOiq74rC9Xps6PHG3nbjSlVCTRTfvgLMchzJDG3 DF3eACheBnXOAa84ACIUU7PiGdzx3/kNwuIDNUkFhmhf1wRzfm401W9ISO1mS15xm0b5TY X3MCF3gjlbHd5VLhlEczQemtYRewYJMw/340cCybp0K0UGOUdLWicq1LRxq6n00htVSqLw zMfcda1JZOM7fYBlihIZC7CdLlXI08uTN6ussarabnG3SC5gEpnffEwzhRW8ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744834928; a=rsa-sha256; cv=none; b=t+C1k4p/rogRP6yc/bG8vgJtmpzqV/QUGTzu2P2z2Y2z6EZJZwEftAENEHqVY+w9oaxwgN AJ1AoKvrxqY2cre0I/6E0R2mCSiex3nXSo+Uw0tGNtYvO0+C3BtMwAu8YxD0jqgxL8dss2 bGQKZ5o8BnEbGHAbP6CXHx63rPYbBCH+38pDQqIwbxBkDua5ewX9wLfzaxKNwPUPvc6+8y Qo1NBERgaGXd43Dl3gR5urtKxXO1otpm0B0H/BXNes8yGBtiinUNXMoimPE5ectD1EZ1Ki Ufhxa8a9YDovkRjtpj1L3YaR6xEN5MaJtSiehJoZrmVV84rYAdpHZEodJJcYjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744834928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BoC2O6pDHSB12Qf+mQxDKswXPnD4ZQPXji3BsYeKwNg=; b=rsFWsUDEsq6tGWBcQ+seXkI5rlAGGTbyeZMtRuFwmGIgYbygq55lQHvOZCen/FGk3d9UJW JTR7eOtgniMMdjHD+G1z86oE+8ZKP/nZdm5oLyCvXvcPP+JV+0/aynIZWYbroWqD8NbVy4 bv2CfxKD2fUbGGj1shpnJ6StXQ8B0HFW6OWaTsKqj7APYPCpeK6RWkAGho359WycAg/pI9 aCiE9CLfnBAm0TU8RK+IQks70PRy/IHqGWyVLm0wvFhdnvthwUGrYi7XZQ8uIkG8QZpvrV F6hlQf5OtRf7wgwvc9iwm6SCiZHQTmbfxop3MhyALKQDKXnm8RafPD28ozmHZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdC9r4fXbz38d; Wed, 16 Apr 2025 20:22: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 53GKM8Qm038396; Wed, 16 Apr 2025 20:22:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GKM8A3038394; Wed, 16 Apr 2025 20:22:08 GMT (envelope-from git) Date: Wed, 16 Apr 2025 20:22:08 GMT Message-Id: <202504162022.53GKM8A3038394@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: 136d69caf03b - main - libedit: import vendor snapshort 2025-01-03 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 136d69caf03bc38de95c4df34c5a683e9ce81bfa Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=136d69caf03bc38de95c4df34c5a683e9ce81bfa commit 136d69caf03bc38de95c4df34c5a683e9ce81bfa Merge: 7a4c662f407f b3884193b7bd Author: Baptiste Daroussin AuthorDate: 2025-04-16 20:21:05 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 20:21:05 +0000 libedit: import vendor snapshort 2025-01-03 contrib/libedit/Makefile | 14 ++- contrib/libedit/chared.c | 6 +- contrib/libedit/chartype.c | 12 +-- contrib/libedit/common.c | 7 +- contrib/libedit/edit.expsym | 204 ++++++++++++++++++++++++++++++++++++ contrib/libedit/editline.3 | 4 +- contrib/libedit/editline.7 | 6 +- contrib/libedit/el.c | 5 +- contrib/libedit/el.h | 5 +- contrib/libedit/eln.c | 12 ++- contrib/libedit/emacs.c | 10 +- contrib/libedit/filecomplete.c | 6 +- contrib/libedit/filecomplete.h | 5 +- contrib/libedit/history.c | 13 ++- contrib/libedit/keymacro.c | 8 +- contrib/libedit/libedit.pc | 12 +++ contrib/libedit/literal.c | 6 +- contrib/libedit/map.c | 5 +- contrib/libedit/read.c | 5 +- contrib/libedit/readline.c | 24 +++-- contrib/libedit/readline/readline.h | 38 ++++--- contrib/libedit/refresh.c | 14 ++- contrib/libedit/search.c | 7 +- contrib/libedit/sig.c | 6 +- contrib/libedit/sys.h | 4 +- contrib/libedit/tokenizer.c | 10 +- 26 files changed, 350 insertions(+), 98 deletions(-) diff --cc contrib/libedit/Makefile index 105a6a92e0ee,000000000000..f7cd3baf885f mode 100644,000000..100644 --- a/contrib/libedit/Makefile +++ b/contrib/libedit/Makefile @@@ -1,143 -1,0 +1,149 @@@ - # $NetBSD: Makefile,v 1.66 2019/10/13 07:28:10 mrg Exp $ ++# $NetBSD: Makefile,v 1.70 2023/08/03 14:56:36 rin Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/4/93 + +USE_SHLIBDIR= yes + +WARNS?= 5 +LIB= edit + +LIBDPLIBS+= terminfo ${.CURDIR}/../libterminfo + +.include "bsd.own.mk" + +COPTS+= -Wunused-parameter +CWARNFLAGS.gcc+= -Wconversion +CWARNFLAGS.clang+= -Wno-cast-qual + +SRCS = chared.c chartype.c common.c el.c eln.c emacs.c filecomplete.c \ + hist.c history.c historyn.c keymacro.c literal.c map.c \ + parse.c prompt.c read.c readline.c refresh.c search.c sig.c \ + terminal.c tokenizer.c tokenizern.c tty.c vi.c + +MAN= editline.3 editrc.5 editline.7 + ++FILES+= libedit.pc ++FILESOWN_libedit.pc= ${BINOWN} ++FILESGRP_libedit.pc= ${BINGRP} ++FILESMODE_libedit.pc= ${NONBINMODE} ++FILESDIR_libedit.pc= /usr/lib/pkgconfig ++ +MLINKS= \ +editline.3 el_deletestr.3 \ +editline.3 el_end.3 \ +editline.3 el_get.3 \ +editline.3 el_getc.3 \ +editline.3 el_gets.3 \ +editline.3 el_init.3 \ +editline.3 el_init_fd.3 \ +editline.3 el_insertstr.3 \ +editline.3 el_line.3 \ +editline.3 el_parse.3 \ +editline.3 el_push.3 \ +editline.3 el_reset.3 \ +editline.3 el_resize.3 \ +editline.3 el_set.3 \ +editline.3 el_source.3 \ +editline.3 history.3 \ +editline.3 history_end.3 \ +editline.3 history_init.3 \ +editline.3 tok_end.3 \ +editline.3 tok_init.3 \ +editline.3 tok_line.3 \ +editline.3 tok_reset.3 \ +editline.3 tok_str.3 + +MLINKS+= \ +editline.3 el_wdeletestr.3 \ +editline.3 el_wget.3 \ +editline.3 el_wgetc.3 \ +editline.3 el_wgets.3 \ +editline.3 el_winsertstr.3 \ +editline.3 el_wline.3 \ +editline.3 el_wparse.3 \ +editline.3 el_wpush.3 \ +editline.3 el_wset.3 \ +editline.3 history_w.3 \ +editline.3 history_wend.3 \ +editline.3 history_winit.3 \ +editline.3 tok_wend.3 \ +editline.3 tok_winit.3 \ +editline.3 tok_wline.3 \ +editline.3 tok_wreset.3 \ +editline.3 tok_wstr.3 + +LIBEDITDIR?=${.CURDIR} + +INCS= histedit.h +INCSDIR=/usr/include + +CLEANFILES+=common.h.tmp emacs.h.tmp fcns.h.tmp func.h.tmp +CLEANFILES+=help.h.tmp vi.h.tmp tc1.o tc1 .depend + +CPPFLAGS+=-I. -I${LIBEDITDIR} +CPPFLAGS+=-I. -I${.CURDIR} +#CPPFLAGS+=-DDEBUG_TTY -DDEBUG_KEY -DDEBUG -DDEBUG_REFRESH +#CPPFLAGS+=-DDEBUG_PASTE -DDEBUG_EDIT + +AHDR=vi.h emacs.h common.h +ASRC=${LIBEDITDIR}/vi.c ${LIBEDITDIR}/emacs.c ${LIBEDITDIR}/common.c + +DPSRCS+= ${AHDR} fcns.h func.h help.h +CLEANFILES+= ${AHDR} fcns.h func.h help.h + +SUBDIR= readline + +.depend: ${AHDR} fcns.h func.h help.h + +vi.h: vi.c makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +emacs.h: emacs.c makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +common.h: common.c makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +fcns.h: ${AHDR} makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +func.h: ${AHDR} makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +help.h: ${ASRC} makelist Makefile + ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + +tc1.o: ${LIBEDITDIR}/TEST/tc1.c + +tc1: libedit.a tc1.o + ${_MKTARGET_LINK} + ${CC} ${LDFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD} -ltermlib + +.include +.include + +# XXX +.if defined(HAVE_GCC) +COPTS.editline.c+= -Wno-cast-qual +COPTS.literal.c+= -Wno-sign-conversion +COPTS.tokenizer.c+= -Wno-cast-qual +COPTS.tokenizern.c+= -Wno-cast-qual +.endif + - COPTS.history.c+= ${GCC_NO_STRINGOP_OVERFLOW} - COPTS.historyn.c+= ${GCC_NO_STRINGOP_OVERFLOW} - COPTS.readline.c+= ${GCC_NO_STRINGOP_TRUNCATION} ${GCC_NO_STRINGOP_OVERFLOW} ++COPTS.history.c+= ${CC_WNO_STRINGOP_OVERFLOW} ++COPTS.historyn.c+= ${CC_WNO_STRINGOP_OVERFLOW} ++COPTS.readline.c+= ${CC_WNO_STRINGOP_TRUNCATION} ${CC_WNO_STRINGOP_OVERFLOW} diff --cc contrib/libedit/edit.expsym index 000000000000,c5d021b31a65..c5d021b31a65 mode 000000,100644..100644 --- a/contrib/libedit/edit.expsym +++ b/contrib/libedit/edit.expsym diff --cc contrib/libedit/libedit.pc index 000000000000,c08a8ba70b12..c08a8ba70b12 mode 000000,100644..100644 --- a/contrib/libedit/libedit.pc +++ b/contrib/libedit/libedit.pc From nobody Wed Apr 16 20:36:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdCVT6gKtz5tCYg; Wed, 16 Apr 2025 20:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdCVT5VYlz3x4p; Wed, 16 Apr 2025 20:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744835793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWIeMfsypyV3bZRJ+S+XAnHlyfoyJFIz8v7Ete7jVOM=; b=P9tkJJWjImFUiXrjPJx0BU+NGvSyWUmsI9SmexQ5wFIIr/3DbGWYMmosvv2+qn/4sv4uaE 1xZUwMzNY4i5J2RflDYkhSt6hb/NfcwzhCWzoos4plWZ/X/402NzMT2GL2yfh7eUsF5p/z tU5RQEkV2lk6g1wtvjbcU8K0rvv8ePy9KTF0iTj4yd2nsB3Tt6TjGWcw8MW6n8ysLFd7Mu DmBFsY2rNCW+IfrMlxhpDU+MJSVNbne37FZIsP5RrY+OcH1GZtfSEV8crI2w6NVwMzDTNC n+MX5AAykkMut23lCHefWahsjjFu85cjWSaEtZwIrVBDFfq/57UpI6Z9Szwizw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744835793; a=rsa-sha256; cv=none; b=RcQvH3eNqxGX4yMEuF1FIw9Fzp8xbeOp/6IY8KWQa8D9GPowphqRl0kuakQL8H4fMFilpn l3pcaZh7Vo+wok+mZSeUEHfKYvuaT2KyNV2X7k675tUR3KC4K4nPcaj233pRu1k+rP4t4S Bjb5yJ4jRzeOf/A9LMQXzfj2ukzdHar+5S9rKyVyMM/Fp8HvybTu+kd2IdIbwGCyXUD20y YLISzL9ZXo25wPlLlRyZtSRq7+cfI6NmG2Z/j15B/IfKnXIK+fZiMZ/f5A1wQFqrK8MSUo HHulORRTJvhPukwpTG+tyfTHIIICN7i4gsM9FTNKNDJ7h29AiSBmY9TJW5Mx+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744835793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWIeMfsypyV3bZRJ+S+XAnHlyfoyJFIz8v7Ete7jVOM=; b=kvzIZgs2fbGWhzKvZUEakZr10YOxwrYq5RjS2ryGb0dUaf9ebQqYqNfPLY33KbO5UxyZFa COCZGBB0kwVQM3guYhUde4ulwfR3zhw+afF657/N2D8JcEuonbRnSKs7j+seQ1N4XVX92H E7Z1O5Ipk3MQgYZObmQwNJGccmSGcHum0GVjmLZ9nQq3K6HKd45otHXHOBOC+Lp6uYls0h Z3VfCcME/1yqTZldFy+xmZx5T1aIRD2BePLlrZaKYgkNy9qUG8xMzfe3dem7rErX5K1q9h fhh+Iun9omYs0zftwCofUakYOZlTn5QJUI3YcU52o+9RQJP0FDXRly+w/HkAyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdCVT4xmkz340; Wed, 16 Apr 2025 20:36: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 53GKaXxh058736; Wed, 16 Apr 2025 20:36:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GKaX9C058733; Wed, 16 Apr 2025 20:36:33 GMT (envelope-from git) Date: Wed, 16 Apr 2025 20:36:33 GMT Message-Id: <202504162036.53GKaX9C058733@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: 9b397d784bcf - main - pci_vendors: update to 2025-03-09 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9b397d784bcfff49f467b879f0d425412d55b094 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9b397d784bcfff49f467b879f0d425412d55b094 commit 9b397d784bcfff49f467b879f0d425412d55b094 Author: Baptiste Daroussin AuthorDate: 2025-04-16 20:34:59 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 20:36:15 +0000 pci_vendors: update to 2025-03-09 --- share/misc/pci_vendors | 646 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 554 insertions(+), 92 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 0eebacf92d41..6dfe12dfc8ad 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2024.11.25 -# Date: 2024-11-25 03:15:02 +# Version: 2025.03.09 +# Date: 2025-03-09 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -44,6 +44,7 @@ 7a0f DMA (Direct Memory Access) Controller # Found on some boards with two sockets 7a10 Hyper Transport Bridge Controller + 7a13 7A2000 PCH Gigabit Ethernet Controller 7a14 EHCI USB Controller 7a15 Vivante GPU (Graphics Processing Unit) 7a18 SATA 3 AHCI Controller @@ -52,6 +53,7 @@ 7a24 OHCI USB Controller # Found on 7A2000 PCH 7a25 LG100 GPU + 7a27 7A2000 PCH I2S Controller 7a29 PCI-to-PCI Bridge 7a34 xHCI USB Controller # Found on 7A2000 PCH @@ -149,6 +151,7 @@ 0101 GP101 0102 GP102 0201 GP201 + 0202 GP202 0721 Sapphire, Inc. 0731 Jingjia Microelectronics Co Ltd 7200 JM7200 Series GPU @@ -1111,8 +1114,13 @@ 1000 04db 3808N iMR ROMB 1000 04dc 3808N iMR ROMB 1000 04dd 3808N iMR ROMB +# String pulled from Broadcom storcli "Product Name" + 1000 40d5 MegaRAID 9540-8i +# String pulled from Broadcom storcli "Product Name" + 1000 40d6 MegaRAID 9520-8i 1000 40d8 MegaRAID 9524-8i 1000 40e0 MegaRAID 9540-2M2 + 1028 1a3d BOSS-MR1 1028 2172 PERC H355 Adapter 1028 2173 PERC H355 Front 1028 2174 PERC H350 Mini @@ -1213,6 +1221,7 @@ 9100 INI-9100/9100W SCSI Host # nee ATI Technologies, Inc. 1002 Advanced Micro Devices, Inc. [AMD/ATI] + 1114 Krackan [Radeon 840M / 860M Graphics] 1304 Kaveri 1305 Kaveri 1306 Kaveri @@ -1257,6 +1266,7 @@ 1551 Arlene 1552 Pooky 1561 Anubis + 1586 Strix Halo [Radeon Graphics / Radeon 8050S Graphics / Radeon 8060S Graphics] 15bf Phoenix1 15c8 Phoenix2 15d8 Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] @@ -3981,7 +3991,7 @@ 1849 5120 Radeon RX 5600 XT 1da2 e409 Sapphire Technology Limited Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 1da2 e410 Sapphire NITRO+ RX 5700 XT - 1da2 e411 Radeon RX 5600 XT + 1da2 e411 Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 7340 Navi 14 [Radeon RX 5500/5500M / Pro 5500M] 7341 Navi 14 [Radeon Pro W5500] 7347 Navi 14 [Radeon Pro W5500M] @@ -4090,6 +4100,7 @@ 74a9 Aqua Vanjaram [Instinct MI300X HF] 74b5 Aqua Vanjaram [Instinct MI300X VF] 74bd Aqua Vanjaram [Instinct MI300X HF] + 7550 Navi 48 [RX 9070/9070 XT] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4361,7 +4372,7 @@ 9840 Kabini HDMI/DP Audio 1043 8623 AM1I-A Motherboard 1849 9840 QC5000-ITX/PH - 9850 Mullins [Radeon R3 Graphics] + 9850 Mullins [Radeon R2/R3 Graphics] 9851 Mullins [Radeon R4/R5 Graphics] 1179 f928 Beema [Radeon R5 Graphics] 9852 Mullins [Radeon R2 Graphics] @@ -4937,6 +4948,8 @@ 1014 04fc PCIe3 x8 12Gb Quad SAS RAID+ Adapter(580A) 04ed Internal Shared Memory (ISM) virtual PCI device 0611 4769 Cryptographic Adapter + 06a7 Spyre Accelerator + 06a8 Spyre Accelerator Virtual Function 3022 QLA3022 Network Adapter 4022 QLA3022 Network Adapter ffff MPIC-2 interrupt controller @@ -5015,11 +5028,35 @@ 1101 K8 [Athlon64/Opteron] Address Map 1102 K8 [Athlon64/Opteron] DRAM Controller 1103 K8 [Athlon64/Opteron] Miscellaneous Control + 1110 Krackan Internal PCIe GPP Bridge 0 to Bus A + 1111 Krackan Internal PCIe GPP Bridge 0 to Bus B + 1112 Krackan Internal PCIe GPP Bridge 0 to Bus C + 1113 Krackan PCIe Dummy Function + 1116 Krackan PCIe Dummy Function + 1117 Krackan PCIe Dummy Function + 1122 Krackan Root Complex + 1123 Krackan IOMMU 1200 Family 10h Processor HyperTransport Configuration 1201 Family 10h Processor Address Map 1202 Family 10h Processor DRAM Controller 1203 Family 10h Processor Miscellaneous Control 1204 Family 10h Processor Link Control + 1248 Krackan Data Fabric; Function 0 + 1249 Krackan Data Fabric; Function 1 + 124a Krackan Data Fabric; Function 2 + 124b Krackan Data Fabric; Function 3 + 124c Krackan Data Fabric; Function 4 + 124d Krackan Data Fabric; Function 5 + 124e Krackan Data Fabric; Function 6 + 124f Krackan Data Fabric; Function 7 + 12b8 Strix Halo Data Fabric; Function 0 + 12b9 Strix Halo Data Fabric; Function 1 + 12ba Strix Halo Data Fabric; Function 2 + 12bb Strix Halo Data Fabric; Function 3 + 12bc Strix Halo Data Fabric; Function 4 + 12bd Strix Halo Data Fabric; Function 5 + 12be Strix Halo Data Fabric; Function 6 + 12bf Strix Halo Data Fabric; Function 7 12c0 Turin Data Fabric; Function 0 12c1 Turin Data Fabric; Function 1 12c2 Turin Data Fabric; Function 2 @@ -5244,13 +5281,13 @@ 14f6 Phoenix Data Fabric; Function 6 14f7 Phoenix Data Fabric; Function 7 1502 AMD IPU Device - 1507 Strix Root Complex - 1508 Strix IOMMU - 1509 Strix Dummy Host Bridge - 150a Strix PCIe USB4 Bridge - 150b Strix GPP Bridge - 150c Strix Internal GPP Bridge to Bus [C:A] - 150d Strix PCIe Dummy function + 1507 Strix/Strix Halo Root Complex + 1508 Strix/Strix Halo IOMMU + 1509 Strix/Strix Halo Dummy Host Bridge + 150a Strix/Strix Halo PCIe USB4 Bridge + 150b Strix/Strix Halo GPP Bridge + 150c Strix/Strix Halo Internal GPP Bridge to Bus [C:A] + 150d Strix/Strix Halo PCIe Dummy Function 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port @@ -5275,6 +5312,7 @@ 153c Turin RCEC 153d Turin PCIe Dummy Host Bridge 153e Turin GPP Bridge + 01de fff8 Cosmo Baseboard 1540 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky HT Configuration 1541 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Address Maps 1542 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky DRAM Configuration @@ -5295,6 +5333,7 @@ 1555 Turin Internal PCIe GPP Bridge to Bus [D:C] 1556 Turin PCIe Dummy Function 1557 Turin USB 3.1 xHCI + 1559 Turin Secondary PCIe Dummy Function 155b Anubis Root Complex 155c Anubis IOMMU 155d Anubis UMI PCIe Dummy Bridge @@ -5344,6 +5383,7 @@ 15b5 Stoney NB Performance Monitor 15b6 Raphael/Granite Ridge USB 3.1 xHCI 15b7 Raphael/Granite Ridge USB 3.1 xHCI + 15b8 Raphael/Granite Ridge USB 2.0 xHCI 15bc Stoney PCIe [GFX,GPP] Bridge [4:0] 15be Stoney Audio Processor 15c4 Phoenix USB4/Thunderbolt NHI controller #1 @@ -5542,8 +5582,8 @@ 1716 Family 12h/14h Processor Function 5 1718 Family 12h/14h Processor Function 6 1719 Family 12h/14h Processor Function 7 - 17e0 Strix CCP/ASP - 17f0 Strix Neural Processing Unit + 17e0 Strix/Krackan/Strix Halo CCP/ASP + 17f0 Strix/Krackan/Strix Halo Neural Processing Unit 2000 79C97x [PCnet32 LANCE] 1014 2000 NetFinity 10/100 Fast Ethernet 1022 2000 PCnet - Fast 79C971 @@ -5623,6 +5663,7 @@ 43f5 600 Series Chipset PCIe Switch Downstream Port 43f6 600 Series Chipset SATA Controller 43f7 600 Series Chipset USB 3.2 Controller + 43fd 800 Series Chipset USB 3.x XHCI Controller 57a3 Matisse PCIe GPP Bridge 57a4 Matisse PCIe GPP Bridge 57ad Matisse Switch Upstream @@ -7282,6 +7323,7 @@ 1055 Microchip Technology / SMSC 7430 LAN7430 7431 LAN7431 + 1059 01a0 RD10055 M.2 Dual 1GbE-T1 40m 9130 SLC90E66 [Victory66] IDE 9460 SLC90E66 [Victory66] ISA 9462 SLC90E66 [Victory66] USB @@ -13148,10 +13190,12 @@ 22bd AD106M High Definition Audio Controller 22be AD107 High Definition Audio Controller 2302 GH100 + 230e GH100 [H20 NVL16] 2313 GH100 [H100 CNX] 2321 GH100 [H100L 94GB] 2322 GH100 [H800 PCIe] 2324 GH100 [H800] + 2328 GH100 [H20B] 2329 GH100 [H20] 232c GH100 [H20 HBM3e] 2330 GH100 [H100 SXM5 80GB] @@ -13272,6 +13316,7 @@ 2684 AD102 [GeForce RTX 4090] 2685 AD102 [GeForce RTX 4090 D] 2689 AD102 [GeForce RTX 4070 Ti SUPER] + 26af AD102 [PG137] 26b1 AD102GL [RTX 6000 Ada Generation] 26b2 AD102GL [RTX 5000 Ada Generation] 26b3 AD102GL [RTX 5880 Ada Generation] @@ -13280,6 +13325,7 @@ 26b8 AD102GL [L40G] 26b9 AD102GL [L40S] 26ba AD102GL [L20] + 26bb AD102GL [L30] 26f5 AD102GL [L40 CNX] 2702 AD103 [GeForce RTX 4080 SUPER] 2703 AD103 [GeForce RTX 4080 SUPER] @@ -13318,6 +13364,7 @@ 2882 AD107 [GeForce RTX 4060] 28a0 AD107M [GeForce RTX 4060 Max-Q / Mobile] 28a1 AD107M [GeForce RTX 4050 Max-Q / Mobile] + 28a3 AD107M [GeForce RTX 3050 A Laptop GPU] 28b0 AD107GL [RTX 2000 / 2000E Ada Generation] 28b8 AD107GLM [RTX 2000 Ada Generation Laptop GPU] 28b9 AD107GLM [RTX 1000 Ada Generation Laptop GPU] @@ -13325,12 +13372,20 @@ 28bb AD107GLM [RTX 500 Ada Generation Laptop GPU] 28e0 AD107M [GeForce RTX 4060 Max-Q / Mobile] 28e1 AD107M [GeForce RTX 4050 Max-Q / Mobile] + 28e3 AD107M [GeForce RTX 3050 A Laptop GPU] 28f8 AD107GLM [RTX 2000 Ada Generation Embedded GPU] 2900 GB100 [Reserved Dev ID A] + 2901 GB100 [B200] + 2920 GB100 [TS4] 2940 GB100 [Reserved Dev ID B] - 2941 GB100 [GB200 SKU] - 2980 GB102 - 29c0 GB102 + 2941 GB100 [HGX GB200] + 2980 GB102 [Reserved Dev ID A] + 29bc GB102 [B100] + 29c0 GB102 [Reserved Dev ID B] + 2b85 GB202 [GeForce RTX 5090] + 2b87 GB202 [GeForce RTX 5090 D] + 2c02 GB203 [GeForce RTX 5080] + 2c05 GB203 [GeForce RTX 5070 Ti] 2c18 GB203M / GN22 [GeForce RTX 5090 Max-Q / Mobile] 2c19 GB203M / GN22 [GeForce RTX 5080 Max-Q / Mobile] 2c2c GB6-256(N22W-ES-A1) @@ -13338,12 +13393,16 @@ 2c59 GB203M / GN22-X9 [GeForce RTX 5080 Max-Q / Mobile] 2d18 AD108M [GeForce RTX 5070 Max-Q / Mobile] 2d19 AD108M [GeForce RTX 5060 Max-Q / Mobile] + 2d2c GB6-128 (N22Y-ES-A1) 2d58 AD108M [GeForce RTX 5070 Max-Q / Mobile] 2d59 AD108M [GeForce RTX 5060 Max-Q / Mobile] 2d98 AD108M [GeForce RTX 5050 Max-Q / Mobile] 2dd8 AD108M [GeForce RTX 5050 Max-Q / Mobile] + 2f04 GN22 [GeForce RTX 5070] 2f18 AD108M [GeForce RTX 5070 Ti Max-Q / Mobile] 2f58 AD108M [GeForce RTX 5070 Ti Max-Q / Mobile] + 31c0 GB110 + 3340 GB120 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) 103c 1934 FlexFabric 20Gb 2-port 650M Adapter @@ -13445,6 +13504,7 @@ f500 LPe37000/LPe38000 Series 32Gb/64Gb Fibre Channel Adapter 1014 06c1 PCIe4 4-Port 32Gb Fibre Channel Adapter for POWER (FC EN1L/EN1M; CCIN 2CFC) 1014 06c2 PCIe4 2-Port 64Gb Fibre Channel Adapter for POWER (FC EN1N/EN1P; CCIN 2CFD) + 1590 0454 Synergy 5331C 32Gb Fibre Channel Host Bus Adapter f600 LPe37100S/LPe38100S Series 32Gb/64Gb Fibre Channel Adapter f700 LP7000 Fibre Channel Host Adapter f701 LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) @@ -13608,6 +13668,7 @@ 1af4 1100 QEMU Virtual Machine 8125 RTL8125 2.5GbE Controller 4c52 2022 LRES2022PT Single-port 2.5Gb Ethernet Network Adapter + 8126 RTL8126 5GbE Controller 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter 11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) @@ -15946,15 +16007,22 @@ 117c 00a2 Celerity FC-321E 117c 00a3 Celerity FC-322E 117c 00ac Celerity FC-324E + 117c 40a6 ThunderLink TLFC-3162 + 117c 40a7 ThunderLink TLFC-3322 + 00a5 ExpressSAS 24Gb/s SAS/SATA HBA + 117c 00d0 ExpressSAS H24F0 + 117c 00d1 ExpressSAS H240F + 117c 00d2 ExpressSAS H240N 00bb Celerity FC 32/64Gb/s Gen 7 Fibre Channel HBA 117c 00bc Celerity FC-321P 117c 00bd Celerity FC-322P 117c 00be Celerity FC-324P 117c 00c9 Celerity FC-641E 117c 00ca Celerity FC-642E + 117c 00d4 Celerity FC-644E 00c5 ExpressNVM PCIe Gen4 Switch 117c 00c6 ExpressNVM S48F PCIe Gen4 - 117c 00c7 ExpressNVM S468 PCIe Gen4 + 117c 00cb ExpressNVM S4FF PCIe Gen4 00e6 ExpressSAS GT 12Gb/s SAS/SATA HBA 117c 00c0 ExpressSAS H1280 GT 117c 00c1 ExpressSAS H1208 GT @@ -15968,9 +16036,11 @@ 117c 0070 ExpressSAS H1280 117c 0071 ExpressSAS H1208 117c 0080 ExpressSAS H1244 + 117c 40ae ThunderLink TLSH-3128 8072 ExpressSAS 12Gb/s SAS/SATA HBA 117c 0072 ExpressSAS H12F0 117c 0073 ExpressSAS H120F + 117c 0081 ExpressSAS H1248 117c 0082 ExpressSAS H1288 117d Becton & Dickinson 117e T/R Systems @@ -16821,7 +16891,20 @@ 11f6 2011 ReadyLink 100TX 9881 RL100TX Fast Ethernet 11f7 Scientific Atlanta -11f8 PMC-Sierra Inc. +# née PMC-Sierra Inc. +11f8 Microchip Technology + 5000 PM50100 Switchtec PFX 100xG5 Fanout PCIe Switch + 5028 PM50028 Switchtec PFX 28xG5 Fanout PCIe Switch + 5036 PM50036 Switchtec PFX 36xG5 Fanout PCIe Switch + 5052 PM50052 Switchtec PFX 52xG5 Fanout PCIe Switch + 5068 PM50068 Switchtec PFX 68xG5 Fanout PCIe Switch + 5084 PM50084 Switchtec PFX 84xG5 Fanout PCIe Switch + 5100 PM51100 Switchtec PSX 100xG5 Programmable PCIe Switch + 5128 PM51028 Switchtec PSX 28xG5 Programmable PCIe Switch + 5136 PM51036 Switchtec PSX 36xG5 Programmable PCIe Switch + 5152 PM51052 Switchtec PSX 52xG5 Programmable PCIe Switch + 5168 PM51068 Switchtec PSX 68xG5 Programmable PCIe Switch + 5184 PM51084 Switchtec PSX 84xG5 Programmable PCIe Switch 5220 BR522x [PMC-Sierra maxRAID SAS Controller] 7364 PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr] 7375 PM7375 [LASAR-155 ATM SAR] @@ -18251,6 +18334,40 @@ 51b9 6500 ION NVMe SSD 1028 22e6 Ent NVMe 6500 RI 30.72TB 1028 22f6 Ent NVMe 6500 RI FIPS 30.72TB + 51bb 9550 PRO NVMe SSD + 1028 2318 MTFDLBQ30T7THA-1BK1JABDA + 1028 2319 MTFDLBQ15T3THA-1BK1JABDA + 1028 231a MTFDLBQ7T6THA-1BK1JABDA + 1028 231b MTFDLBQ3T8THA-1BK1JABDA + 1028 2320 MTFDLAL30T7THA-1BK1JABDA + 1028 2321 MTFDLAL15T3THA-1BK1JABDA + 1028 2322 MTFDLAL7T6THA-1BK1JABDA + 1028 2323 MTFDLAL3T8THA-1BK1JABDA + 1028 2328 MTFDLAL30T7THA-1BK1DFCDA + 1028 2329 MTFDLAL15T3THA-1BK1DFCDA + 1028 232a MTFDLAL7T6THA-1BK1DFCDA + 1028 232b MTFDLAL3T8THA-1BK1DFCDA + 1028 235c MTFDLBQ30T7THA-1BK1DFCDA + 1028 235d MTFDLBQ15T3THA-1BK1DFCDA + 1028 235e MTFDLBQ7T6THA-1BK1DFCDA + 1028 235f MTFDLBQ3T8THA-1BK1DFCDA + 51bd 9550 MAX NVMe SSD + 1028 231c MTFDLBQ25T6THB-1BK1JABDA + 1028 231d MTFDLBQ12T8THB-1BK1JABDA + 1028 231e MTFDLBQ6T4THB-1BK1JABDA + 1028 231f MTFDLBQ3T2THB-1BK1JABDA + 1028 2324 MTFDLAL25T6THB-1BK1JABDA + 1028 2325 MTFDLAL12T8THB-1BK1JABDA + 1028 2326 MTFDLAL6T4THB-1BK1JABDA + 1028 2327 MTFDLAL3T2THB-1BK1JABDA + 1028 232c MTFDLAL25T6THB-1BK1DFCDA + 1028 232d MTFDLAL12T8THB-1BK1DFCDA + 1028 232e MTFDLAL6T4THB-1BK1DFCDA + 1028 232f MTFDLAL3T2THB-1BK1DFCDA + 1028 2360 MTFDLBQ25T6THB-1BK1DFCDA + 1028 2361 MTFDLBQ12T8THB-1BK1DFCDA + 1028 2362 MTFDLBQ6T4THB-1BK1DFCDA + 1028 2363 MTFDLBQ3T2THB-1BK1DFCDA 51c0 7400 PRO NVMe SSD 1028 2162 EC NVMe OPAL 7400 RI M.2 480GB 1028 2163 EC NVMe OPAL 7400 RI M.2 960GB @@ -18321,6 +18438,11 @@ 1028 2293 DC NVMe SED 7450 MU U.2 12.8TB 1028 2294 DC NVMe ISE 7450 MU U.2 12.8TB 1344 3000 U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS] + 51cb 6550 ION NVMe SSD + 1028 2379 MTFDLBQ61T4THL-1BK1JABDA + 1028 23a6 MTFDLBQ30T7THL-1BK1JABDA + 1028 23a7 MTFDLAL61T4THL-1BK1JABDA + 1028 23a8 MTFDLAL30T7THL-1BK1JABDA 5404 2210 NVMe SSD [Cobain] 5405 2300 NVMe SSD [Santana] 5407 3400 NVMe SSD [Hendrix] @@ -18330,6 +18452,9 @@ 5414 3460 NVMe SSD 5415 3500 NVMe SSD 5416 2550 NVMe SSD (DRAM-less) + 5425 2500 NVMe SSD (DRAM-less) + 5427 2650 NVMe SSD (DRAM-less) + 5429 2600 NVMe SSD (DRAM-less) 6001 2100AI NVMe SSD [Nitro] 1345 Arescom Inc 1347 Odetics @@ -18509,9 +18634,9 @@ 0206 GPS180PEX GPS Receiver (PCI Express) 0207 GLN180PEX GPS/GLONASS receiver (PCI Express) 0208 GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) - 0209 GNS181PEX GPS/Galileo/GLONASS/BEIDOU receiver (PCI Express) + 0209 GNS181PEX GNSS receiver (PCI Express) 020a GPS183PEX GPS Receiver (PCI Express) - 020b GNS183PEX GPS/Galileo/GLONASS/BEIDOU receiver (PCI Express) + 020b GNS183PEX GNSS receiver (PCI Express) 0301 TCR510PCI IRIG Timecode Reader 0302 TCR167PCI IRIG Timecode Reader 0303 TCR511PCI IRIG Timecode Reader @@ -19952,6 +20077,7 @@ 6089 T62100-6089 Unified Wire Ethernet Controller 608a T62100-608a Unified Wire Ethernet Controller 6092 T62100-KR Unified Wire Ethernet Controller + 01de fff8 Cosmo Baseboard 01de fff9 Gimlet Baseboard 6401 T6225-CR Unified Wire Ethernet Controller 6402 T6225-SO-CR Unified Wire Ethernet Controller @@ -19978,6 +20104,7 @@ 6489 T62100-6089 Unified Wire Ethernet Controller 648a T62100-608a Unified Wire Ethernet Controller 6492 T62100-KR Unified Wire Ethernet Controller + 01de fff8 Cosmo Baseboard 01de fff9 Gimlet Baseboard 6501 T6225-CR Unified Wire Storage Controller 6502 T6225-SO-CR Unified Wire Storage Controller @@ -20165,6 +20292,8 @@ a80b NVMe SSD Controller PM9B1 (DRAM-less) a80c NVMe SSD Controller S4LV008[Pascal] a80d NVMe SSD Controller PM9C1a (DRAM-less) + a80e NVMe SSD Controller PM9D3a + a80f BM9C1 QLC NVME SSD (DRAM-less) a820 NVMe SSD Controller 171X 1028 1f95 Express Flash NVMe XS1715 SSD 400GB 1028 1f96 Express Flash NVMe XS1715 SSD 800GB @@ -20450,6 +20579,7 @@ 14a3 Maverick Networks 14a4 Lite-On Technology Corporation 2100 CA1-8D128 NVMe SSD + 21f1 Plextor NVMe SSD 2200 CX2-8B256, CX2-8B512 NVMe SSD 22a0 EP2-KB960 NVMe SSD 22f1 M8Pe Series NVMe SSD @@ -20457,6 +20587,7 @@ 23f1 M9PeG, M9PeGN, M9PeY NVMe SSD 2f00 CAZ-82512 NVMe SSD 3500 CA5-8D512 NVMe SSD + 35f1 PLEXTOR PX-256M9PGN+ NVMe SSD # Wrong vendor ID used 4318 Broadcom BCM4318 [AirForce One 54g] 802.11g WLAN Controller 5100 CB1-SD256, CB1-SD512 NVMe SSD @@ -20541,7 +20672,7 @@ 7922 MT7922 802.11ax PCI Express Wireless Network Adapter 1a3b 5300 ASUS PCE-AXE59BT 7961 MT7921 802.11ax PCI Express Wireless Network Adapter - 7988 MT7988 PCIe Host Bridge [Filogic 880] + 7988 MT7988 PCI Express Host Bridge [Filogic 880] 7990 MT7996 802.11be PCI Express Wireless Network Adapter (Port 0) 7991 MT7996 802.11be PCI Express Wireless Network Adapter (Port 1) 8650 MT7650 Bluetooth @@ -21069,6 +21200,7 @@ 16d4 BCM57402 NetXtreme-E Ethernet Partition 16d5 BCM57407 NetXtreme-E 10GBase-T Ethernet Controller 16d6 BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller + 1059 01b0 RD10057 10GbE interface 117c 00cd FastFrame N4S2 Dual-port 10Gb Ethernet Adapter 14e4 1202 BCM957412M4122C OCP 1x25G Type1 wRoCE 14e4 4120 NetXtreme E-Series Advanced Dual-port 10Gb SFP+ Ethernet Network Daughter Card @@ -21152,6 +21284,7 @@ 17aa 3a23 IdeaPad S10e 1750 BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 117c 00cf FastFrame N412 Dual-port 100Gb Ethernet Adapter + 117c 40d6 ThunderLink TLNS-5102 Dual-port 100Gb Ethernet Adapter 14e4 2100 NetXtreme-E Dual-port 100G QSFP56 Ethernet PCIe4.0 x16 Adapter (BCM957508-P2100G) 14e4 5208 NetXtreme-E Dual-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957508-N2100G) 14e4 520a NetXtreme-E Dual-port 100G DSFP Ethernet OCP 3.0 Adapter (BCM957508-N2100GD) @@ -21161,6 +21294,7 @@ 1751 BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet 1028 09d4 PowerEdge XR11/XR12 LOM 1028 0b1b PowerEdge XR5610 LOM + 117c 00da FastFrame N424 Quad-port 25Gb Ethernet Adapter 14e4 4250 NetXtreme-E Quad-port 25G SFP28 Ethernet PCIe4.0 x16 Adapter (BCM957504-P425G) 14e4 5045 NetXtreme-E BCM57504 4x25G OCP3.0 14e4 5100 NetXtreme-E Single-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957504-N1100G) @@ -21184,19 +21318,24 @@ 14e4 9325 BCM57608 2x200G OCP Ethernet NIC 14e4 9326 BCM57608 2x100G OCP Ethernet NIC 14e4 9340 BCM57608 4x100G OCP Ethernet NIC + 14e4 9345 BCM57608 4x25G OCP Ethernet NIC 14e4 d125 BCM57608 2x200G PCIe Ethernet NIC 1800 BCM57502 NetXtreme-E Ethernet Partition 1801 BCM57504 NetXtreme-E Ethernet Partition + 1590 0420 Ethernet NPAR 6310C Adapter 1802 BCM57508 NetXtreme-E Ethernet Partition 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Partition 1803 BCM57502 NetXtreme-E RDMA Partition 1804 BCM57504 NetXtreme-E RDMA Partition + 1590 0420 Ethernet NPAR RoCE 6310C Adapter 1805 BCM57508 NetXtreme-E RDMA Partition 14e4 df24 NetXtreme-E NGM2100D BCM57508 2x100G KR Mezz RDMA Partition 1806 BCM5750X NetXtreme-E Ethernet Virtual Function 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Virtual Function + 1590 0420 Ethernet SRIOV 6310C Adapter 1807 BCM5750X NetXtreme-E RDMA Virtual Function 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz RDMA Virtual Function + 1590 0420 Ethernet SRIOV RoCE 6310C Adapter 1808 BCM5750X NetXtreme-E Ethernet Virtual Function 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Virtual Function 1809 BCM5750X NetXtreme-E RDMA Virtual Function @@ -21439,9 +21578,11 @@ 4717 BCM47xx Sentry5 USB Device Controller 4718 Sentry5 Crypto Accelerator 4719 BCM47xx/53xx RoboSwitch Core + 471a BCM47xx EHCI Host Controller 4720 BCM4712 MIPS CPU 4727 BCM4313 802.11bgn Wireless Network Adapter 1028 0010 Inspiron M5010 / XPS 8300 + 472a BCM47xx xHCI Host Controller 5365 BCM5365P Sentry5 Host Bridge 5600 BCM5600 StrataSwitch 24+2 Ethernet Switch Controller 5605 BCM5605 StrataSwitch 24+2 Ethernet Switch Controller @@ -21471,6 +21612,7 @@ 5f71 BRCM4387 Bluetooth Controller # Bluetooth PCI function of the BRCM4377 Wireless Network Adapter 5fa0 BRCM4377 Bluetooth Controller + 8411 BCM47xx PCIe Bridge 8602 BCM7400/BCM7405 Serial ATA Controller 9026 CN99xx [ThunderX2] Integrated USB 3.0 xHCI Host Controller 9027 CN99xx [ThunderX2] Integrated AHCI/SATA 3 Host Controller @@ -22231,6 +22373,8 @@ 0225 CX9 Family [ConnectX-9 Secure Flash Recovery-RMA] 0226 CX10 Family [ConnectX-10 Flash Recovery] 0227 CX10 Family [ConnectX-10 Secure Flash Recovery-RMA] + 0228 CX9 PCIe Switch Family [ConnectX-9 PCIe Switch Flash Recovery] + 0229 CX9 PCIe Switch Family [ConnectX-9 PCIe Switch Secure Flash Recovery-RMA] 024e MT53100 [Spectrum-2, Flash recovery mode] 024f MT53100 [Spectrum-2, Secure Flash recovery mode] 0250 Spectrum-3, Flash recovery mode @@ -22258,6 +22402,8 @@ 0278 Quantum-4 in Flash Recovery Mode 0279 Quantum-4 RMA 027a Eros Chiplet + 027c Quantum-5 in Flash Recovery Mode + 027d Quantum-5 RMA 0281 NPS-600 Flash Recovery 0282 ArcusE Flash recovery 0283 ArcusE RMA @@ -22269,6 +22415,12 @@ 0288 Arcus2 0289 Arcus2 RMA 0290 SagittaZ + 0292 Arcus3 Flash Recovery + 0293 Arcus3 RMA + 02a0 Quantum-6 in Flash Recovery Mode + 02a1 Quantum-6 RMA + 02a2 Spectrum-7 in Flash Recovery Mode + 02a3 Spectrum-7 RMA 1002 MT25400 Family [ConnectX-2 Virtual Function] 1003 MT27500 Family [ConnectX-3] 1014 04b5 PCIe3 40GbE RoCE Converged Host Bus Adapter for Power @@ -22320,6 +22472,8 @@ 1012 MT27600 Family [Connect-IB Virtual Function] 1013 MT27700 Family [ConnectX-4] 1014 04f7 PCIe3 2-port 100 GbE (NIC and RoCE) QSFP28 Adapter for Power + 117c 00af FastFrame N351 Single-port 50Gb Ethernet Adapter + 117c 00b0 FastFrame N352 Dual-port 50Gb Ethernet Adapter 15b3 0003 Mellanox Technologies ConnectX-4 Stand-up single-port 40GbE MCX413A-BCAT 15b3 0005 Mellanox Technologies ConnectX-4 Stand-up single-port 40GbE MCX415A-BCAT 15b3 0006 MCX416A-BCAT, ConnectX-4 EN, 40/56GbE 2P, PCIe3.0 x16 @@ -22330,6 +22484,9 @@ 15b3 0050 ConnectX-4 100 GbE Dual Port QSFP28 Adapter 1014 MT27700 Family [ConnectX-4 Virtual Function] 1015 MT27710 Family [ConnectX-4 Lx] + 117c 00b4 FastFrame N322 Dual-port 25Gb Ethernet Adapter + 117c 40b7 ThunderLink TLN3-3252 Dual-port 25Gb Ethernet Adapter + 117c 40b8 ThunderLink TLN3-3102 Dual-port 10Gb Ethernet Adapter 15b3 0001 ConnectX-4 Lx EN network interface card, 25GbE single-port SFP28, PCIe3.0 x8, tall bracket, ROHS R6 15b3 0003 Stand-up ConnectX-4 Lx EN, 25GbE dual-port SFP28, PCIe3.0 x8, MCX4121A-ACAT 15b3 0004 ConnectX-4 Lx Stand-up dual-port 10GbE MCX4121A-XCAT @@ -22348,6 +22505,8 @@ 1e81 0c10 25GbE dual-port SFP28, PCIe3.0 x8 [3SC10] 1016 MT27710 Family [ConnectX-4 Lx Virtual Function] 1017 MT27800 Family [ConnectX-5] + 117c 00b1 FastFrame N311 Single-port 10Gb Ethernet Adapter + 117c 00b2 FastFrame N312 Dual-port 10Gb Ethernet Adapter 15b3 0006 ConnectX-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT 15b3 0007 Mellanox ConnectX-5 MCX516A-CCAT 15b3 0020 ConnectX-5 EN network interface card, 10/25GbE dual-port SFP28, PCIe3.0 x8, tall bracket ; MCX512A-ACAT @@ -22462,6 +22621,7 @@ b200 ArcusE b201 LibraE b202 Arcus2 + b203 Arcus3 c2d1 BlueField DPU Family Auxiliary Communication Channel [BlueField Family] c2d2 MT416842 BlueField SoC management interfac c2d3 MT42822 BlueField-2 SoC Management Interface @@ -22482,11 +22642,14 @@ cf80 Spectrum-4 cf82 Spectrum-5 cf84 Spectrum-6 + cf86 Spectrum-7 d2f0 Quantum HDR (200Gbps) switch d2f2 Quantum-2 NDR (400Gbps) switch d2f4 Quantum-3 d2f6 Quantum-3CPO d2f8 Quantum-4 + d2fa Quantum-5 + d2fc Quantum-6 15b4 CCI/TRIAD 15b5 Cimetrics Inc 15b6 Texas Memory Systems Inc @@ -22539,7 +22702,9 @@ 5036 WD PC SN5000S M.2 2280 NVMe SSD (DRAM-less) 5041 WD Blue SN580 NVMe SSD (DRAM-less) 5042 WD Black SN770M NVMe SSD (DRAM-less) + 5045 WD_BLACK SN7100 NVMe SSD (DRAM-less) 5046 SanDisk Extreme NVMe SSD (DRAM-less) + 5049 SN8000S NVMe SSD 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) @@ -23645,7 +23810,6 @@ # 250GB nvme ssd from lenovo, can be found in Thinkpad x380 yoga 0005 LENSE30256GMSP34MEAT3TA 0006 LENSE30512GMSP34MEAT3TA - 3181 ThinkCentre M75n IoT 402b Intel 82599ES 10Gb 2-port Server Adapter X520-2 9602 RS780/RS880 PCI to PCI bridge (int gfx) 17ab Phillips Components @@ -24407,12 +24571,20 @@ 1924 802b XtremeScale X2552 OCP 2.0 Dual Port SFP28 1924 802c XtremeScale X2522-25G PCIe Dual Port SFP28 1924 802d XtremeScale X2562 OCP 3.0 Dual Port SFP28 + 0c03 NS9480 1/10/25/40/50/100Gb Ethernet Controller PLUS + 1924 8031 X4522 Express and Enterprise Ethernet Adapter + 1924 8032 X4542 Express and Enterprise Ethernet Adapter 1803 SFC9020 10G Ethernet Controller (Virtual Function) 1813 SFL9021 10GBASE-T Ethernet Controller (Virtual Function) 1903 SFC9120 10G Ethernet Controller (Virtual Function) 1923 SFC9140 10/40G Ethernet Controller (Virtual Function) 1a03 SFC9220 10/40G Ethernet Controller (Virtual Function) 1b03 XtremeScale SFC9250 10/25/40/50/100G Ethernet Controller (Virtual Function) + 1c03 NS9480 1/10/25/40/50/100Gb Ethernet Controller PLUS (Virtual Function) + 2c03 NS9480 1/10/25/40/50/100Gb Ethernet Controller + 1924 8031 X4522 Enterprise Ethernet Adapter + 1924 8032 X4542 Enterprise Ethernet Adapter + 3c03 NS9480 1/10/25/40/50/100Gb Ethernet Controller (Virtual Function) 6703 SFC4000 rev A iSCSI/Onload [Solarstorm] 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] @@ -24682,6 +24854,7 @@ 5021 PS5021-E21 PCIe4 NVMe Controller (DRAM-less) 5026 PS5026-E26 PCIe5 NVMe Controller 5027 PS5027-E27T PCIe4 NVMe Controller (DRAM-less) + 5031 PS5031-E31T PCIe5 NVMe Controller 1989 Montilio Inc. 0001 RapidFile Bridge 8001 RapidFile @@ -25213,6 +25386,10 @@ 1824 ASM1824 12-Port PCIe x8 Gen2 Packet Switch 2142 ASM2142/ASM3142 USB 3.1 Host Controller 1462 7a72 H270 PC MATE + 2421 ASM4242 PCIe Switch Upstream Port + 2423 ASM4242 PCIe Switch Downstream Port + 2425 ASM4242 USB 4 / Thunderbolt 3 Host Router + 2426 ASM4242 USB 3.2 xHCI Controller 2806 ASM2806 4-Port PCIe x2 Gen3 Packet Switch 2812 ASM2812 6-Port PCIe x4 Gen3 Packet Switch 2824 ASM2824 PCIe Gen3 Packet Switch @@ -25415,6 +25592,7 @@ 2720 Ultrastar DC SN650 NVMe SSD 2721 Ultrastar DC SN650 NVMe SSD 2722 Ultrastar DC SN655 NVMe SSD + 2751 Ultrastar DC SN861 NVMe SSD 3001 RapidFlex C2000 NVMe Initiator 3714 PC SN730 NVMe SSD 3734 PC SN730 NVMe SSD @@ -25533,6 +25711,7 @@ # Nytro 5060H (Rocinante High Performance) non-SED 1bb1 0181 Nytro 5060H 1bb1 01a1 Nytro XP7102 + 0155 Nytro 5x50 NVMe SSD 5012 FireCuda/IronWolf 510 SSD 5013 BarraCuda Q5 NVMe SSD (DRAM-less) 5016 FireCuda 520/IronWolf 525 SSD @@ -25568,6 +25747,8 @@ 5236 PCIe 4TG2-P Controller 1bcd Apacer Technology 0120 NVMe SSD Drive 960GB + 0180 PB4480 NVMe PCIe SSD (DRAM-less) + 0310 NVMe SSD Drive 480GB 1bcf NEC Corporation 001c Vector Engine 1.0 1bd0 Astronics Corporation @@ -25600,6 +25781,7 @@ 1007 NS6610G1U320, NS6510G1U384 NVME SSD 100c NS8510G1Uxxx, NS8610G1Uxxx NVME SSD 100e NS8500G2Uxxxx, NS8600G2Uxxxx NVME SSD + 100f NS6500G2UXXXX,NS6600G2UXXXX NVME SSD 1bee IXXAT Automation GmbH 0002 CAN-IB100/PCIe 0003 CAN-IB200/PCIe @@ -25743,7 +25925,9 @@ 1739 BC701 NVMe Solid State Drive 174a Gold P31/BC711/PC711 NVMe Solid State Drive 1959 Platinum P41/PC801 NVMe Solid State Drive + 1969 PC811 NVMe Solid State Drive 1d59 BC901 NVMe Solid State Drive (DRAM-less) + 1f69 PVC10 NVMe Solid State Drive (DRAM-less) 2204 960GB TLC PCIe Gen3 x4 NVMe M.2 22110 2427 PE6010 NVMe Solid State Drive 2429 PE6011 NVMe Solid State Drive @@ -25928,16 +26112,24 @@ 1ea0 2201 TP2511 Series U.2 NVMe Datacenter SSD(7.68TB) 1ea0 2210 TP2510 Series E3.S NVMe Datacenter SSD(7.68TB) 1ea0 2211 TP2511 Series E3.S NVMe Datacenter SSD(7.68TB) + 1ea0 2301 TP2511 Series U.2 NVMe Datacenter SSD (15.36TB) 0540 PBlaze4 NVMe SSD 0550 PBlaze5 700/900 0555 PBlaze5 510/516 0557 PBlaze5 910/916 1c63 Science and Research Centre of Computer Technology (JSC "NICEVT") 0008 K1927BB1Ya [EC8430] Angara Interconnection Network Adapter +# Other World Computing +1c7a OWC 1c7e TTTech Computertechnik AG 0200 zFAS Debug Port 1c7f Elektrobit Austria GmbH + 0300 EBX3 5100 EB5100 + 7200 EB 7200 Automotive logging and replay card +# This is a EB7200 card compatibly with a EB PCIe driver + 7201 EB7200 with EB PCIe Driver Interface + 7211 EB7210 1c8a TSF5 Corporation 0001 Hunter PCI Express 1c8c Mobiveil, Inc. @@ -25969,6 +26161,7 @@ 1cb8 Dawning Information Industry Co., Ltd. 1cc1 ADATA Technology Co., Ltd. 1202 IM2P32A8 NVMe SSD (DRAM-less) + 1602 LEGEND 900 NVMe SSD (DRAM-less) # SX6000LNP 2263 XPG SX6000 Lite NVMe SSD (DRAM-less) 32a8 SM2P32A8 NVMe SSD (DRAM-less) @@ -25990,10 +26183,12 @@ 621a LEGEND 850 NVMe SSD (DRAM-less) 622a LEGEND 960 NVMe SSD 624a LEGEND 700, XPG GAMMIX S20 NVMe SSD (DRAM-less) + 625a LEGEND 850 LITE NVMe SSD (DRAM-less) # 1TB 627a LEGEND 800 NVMe SSD (DRAM-less) # 500GB 628a LEGEND 800 NVMe SSD (DRAM-less) + 633a LEGEND 900 NVMe SSD (DRAM-less) 642a XPG GAMMIX S50 CORE NVMe SSD (DRAM-less) 8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive 1cc4 Shenzhen Unionmemory Information System Ltd. @@ -26015,7 +26210,7 @@ 17ab AH631 PCIe 3.0 NVMe SSD 256GB 2263 AM611 PCIe 3.0 x2 NVMe SSD 256GB 5008 AM610 PCIe 3.0 x2 NVMe SSD 128GB, 256GB - 5012 RPITJ512PED2OWX NVMe SSD 512GB + 5012 AH530 PCIe 3.0 NVMe SSD 512GB 5212 AM521 PCIe 3.0 NVMe SSD 256GB 6201 AM620 PCIe 3.0 NVMe SSD 128GB 6202 AM620 PCIe 3.0 NVMe SSD 256GB @@ -26024,10 +26219,14 @@ 6302 AM630 PCIe 4.0 NVMe SSD 256GB 6303 AM630 PCIe 4.0 x4 NVMe SSD Controller 6304 AM630 PCIe 4.0 NVMe SSD 1024GB + 660c RPETJ1T24MHP2QDQ PCIe 4.0 NVMe SSD 1024GB + 6a01 AM620 PCIe 3.0 NVMe SSD 128GB 6a02 AM6A0 PCIe 4.0 NVMe SSD 256GB 6a03 RPETJ512MKP1QDQ PCIe 4.0 NVMe SSD 512GB (DRAM-less) + 6a04 RPETJ1T24MKP2QDQ PCIe 4.0 NVMe SSD 1024GB (DRAM-less) 6a13 RPJYJ512MKN1QWQ PCIe 4.0 NVMe SSD 512GB (DRAM-less) 6a14 RPEYJ1T24MKN2QWY PCIe 4.0 NVMe SSD 1024GB (DRAM-less) + 6b04 AM6B0 PCIe 4.0 NVMe SSD 6b13 RPJYJ512MLR1QWY PCIe 4.0 NVMe SSD 512GB (DRAM-less) 6b14 RPJYJ1T24MLR1HWY PCIe 4.0 NVMe SSD 1024GB (DRAM-less) 8030 NVMe SSD Controller UH8X2X/UH7X2X series @@ -26051,6 +26250,10 @@ 1cc4 3123 NVMe SSD UH712a U.2 3.84TB 1cc4 3124 NVMe SSD UH712a U.2 7.68TB 1cc4 3125 NVMe SSD UH712a U.2 15.36TB + 1ea0 4124 NVMe SSD TP3511 U.2 7.68TB + 1ea0 4125 NVMe SSD TP3511 U.2 15.36TB + 1ea0 4224 NVMe SSD TP3511 E3.S 7.68TB + 1ea0 4225 NVMe SSD TP3511 E3.S 15.36TB 1cc5 Embedded Intelligence, Inc. 0100 PCIe-CAN-02 Dual CAN bus (9-pin male). PCI Express x1. 0101 PCIe-CAN-01 Single CAN bus (9-pin male). PCI Express x1. @@ -26232,6 +26435,8 @@ 00c0 Turbocard3 Accelerator 0140 Open Network Interface Card 40G e004 AB01/EMB01 Development Board +1d2a KAYA Instruments + 1000 Frame grabber 1d37 NovaSparks 0013 PM3 0014 PM4 @@ -26278,9 +26483,11 @@ 14c0 AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] 80b1 AQtion AQC100S NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G] 87b1 AQtion AQC107S NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G] + 1c7a de2b Thunderbolt 10G Ethernet Adapter 93c0 AQtion AQC114CS NBase-T/IEEE 802.3bz Ethernet Controller [Antigua 5G] 94c0 AQtion AQC113CS NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] 1043 87f5 ProArt X570-CREATOR WIFI + 1043 8812 ASUS XG-C100C 10G PCI-E Network Adapter d107 AQtion AQC107 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G] 1043 8741 XG-C100C d108 AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] @@ -26417,6 +26624,7 @@ 0102 Codensity D408 PCIe Gen4 NVMe SSD 0202 Codensity T408 Video Encoding-Decoding Accelerator 0401 Quadra Video Processing Unit (VPU) + 0411 Quadra Video Processing Unit (VPU) Virtual Function # nee Fuzhou Rockchip Electronics Co., Ltd 1d87 Rockchip Electronics Co., Ltd 0100 RK3399 PCI Express Root Port @@ -26497,6 +26705,8 @@ # PCIe accelerator card for Deep Learning training tasks 1020 Gaudi2 AI Training Accelerator 1060 Gaudi3 AI Training Accelerator + 1063 Gaudi3 AI Training Accelerator Add-In Family + 1da3 1063 HL-338 Gaudi3 AI Accelerator PCIe Add-In Card 1da8 Corigine, Inc. 3800 Network Flow Processor 3800 3803 Network Flow Processor 3800 Virtual Function @@ -26525,12 +26735,17 @@ dc36 LDMA Controller [X100 Series] dc38 LSD_CFG Controller [X100 Series] dc3a SWITCH Controller [X100 Series] + dc3b MAC Controller [D3000M Series] dc3c GPU_DMA Controller [X100 Series] + dc3e DCController [E2000 Series] + dc3f SATA Controller [D3000M Series] 1dbb NGD Systems, Inc. 1dbe INNOGRIT Corporation - 5216 NVMe SSD Controller IG5216 (DRAM-less) - 5220 NVMe SSD Controller IG5220 (DRAM-less) - 5236 NVMe SSD Controller IG5236 + 5208 NVMe SSD Controller IG5208 [Shasta] (DRAM-less) + 5216 NVMe SSD Controller IG5216 [Shasta+] (DRAM-less) + 5220 NVMe SSD Controller IG5220 [RainierQX] (DRAM-less) + 5222 NVMe SSD Controller IG5222 [RainierX] (DRAM-less) + 5236 NVMe SSD Controller IG5236 [RainierPC] 1dbe 4001 Dongting-B1 DC SSD M.2 480GB 1dbe 4002 Dongting-B1 DC SSD M.2 960GB 5636 NVMe DC SSD IG5636 @@ -26549,6 +26764,14 @@ 1dbe 2004 Dongting-N2 DC SSD U.2 3840GB 1dbe 2005 Dongting-N2 DC SSD U.2 6400GB 1dbe 2006 Dongting-N2 DC SSD U.2 7680GB + 1dbe 2118 Dongting-N2Q DC QLC SSD U.2 15360GB + 1dbe 2190 Dongting-N2Q DC QLC SSD U.2 30720GB + 1dbe 2201 Dongting-N2 2000 DC SSD U.2 1600GB + 1dbe 2202 Dongting-N2 2000 DC SSD U.2 1920GB + 1dbe 2203 Dongting-N2 2000 DC SSD U.2 3200GB + 1dbe 2204 Dongting-N2 2000 DC SSD U.2 3840GB + 1dbe 2205 Dongting-N2 2000 DC SSD U.2 6400GB + 1dbe 2206 Dongting-N2 2000 DC SSD U.2 7680GB 1dbe 3001 Donghu-Z2 DC ZNS SSD U.2 4000GB 1dbe 3002 Donghu-Z2 DC ZNS SSD U.2 8000GB 5666 NVMe SSD Controller IG5666 @@ -26561,6 +26784,9 @@ 1dbe 5008 Dongting-N3 DC SSD U.2 15360GB 1dbe 5009 Dongting-N3 DC SSD U.2 25600GB 1dbe 5010 Dongting-N3 DC SSD U.2 30720GB + 1dbe 5118 Dongting-N3Q DC QLC SSD U.2 15360GB + 1dbe 5190 Dongting-N3Q DC QLC SSD U.2 30720GB + 1dbe 6116 Dongting-Z3Q DC ZNS SSD U.2 7680GB 5669 NVMe SSD Controller IG5669 [Tacoma] 1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd 0401 StarDragon4800 PCI Express Root Port @@ -26575,6 +26801,15 @@ 0010 N-10m2 NVMe SSD 0016 N-16 0020 EN-20 BGA NVMe SSD (DRAM-less) + 0030 N-30m2 NVMe SSD + 0036 N-36m2 NVMe SSD + 1200 D1200 NVMe SSD + 3000 N3000 NVMe SSD + 3002 N3002 NVMe SSD + 3602 N3602 NVMe SSD + 4131 A1x NVMe SSD Series + 4432 D2x NVMe SSD Series + 5200 N5200 NVMe SSD 1dd8 AMD Pensando Systems 0002 DSC2 Elba Upstream Port 1dd8 100e Distributed Services Card @@ -26588,6 +26823,10 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 1dd8 500f DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4-T + 0008 DSC3 Salina Upstream Port + 1dd8 100e Distributed Services Card + 1dd8 5200 DSC3-2Q400 100/200/400G 2-port DDR5 128G eMMC G3 Services Card + 1dd8 5201 POLLARA-1Q400 100/200/400G 1-port Card 1000 DSC Capri Upstream Port 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB @@ -26621,6 +26860,8 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 1dd8 500f DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4-T + 1dd8 5200 DSC3-2Q400 100/200/400G 2-port DDR5 128G eMMC G3 Services Card + 1dd8 5201 POLLARA-1Q400 100/200/400G 1-port Card 1002 DSC Ethernet Controller 1dd8 100e Distributed Services Card 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB @@ -26643,6 +26884,8 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 1dd8 500f DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4-T + 1dd8 5200 DSC3-2Q400 100/200/400G 2-port DDR5 128G eMMC G3 Services Card + 1dd8 5201 POLLARA-1Q400 100/200/400G 1-port Card 1003 DSC Ethernet Controller VF 1dd8 100e Distributed Services Card 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB @@ -26665,6 +26908,8 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 1dd8 500f DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4-T + 1dd8 5200 DSC3-2Q400 100/200/400G 2-port DDR5 128G eMMC G3 Services Card + 1dd8 5201 POLLARA-1Q400 100/200/400G 1-port Card 1004 DSC Management Controller 1dd8 100e Distributed Services Card 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB @@ -26687,6 +26932,8 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 1dd8 500f DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4-T + 1dd8 5200 DSC3-2Q400 100/200/400G 2-port DDR5 128G eMMC G3 Services Card + 1dd8 5201 POLLARA-1Q400 100/200/400G 1-port Card 1005 DSC NVMe Controller 1dd8 100e Distributed Services Card 1dd8 5001 DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 Services Card @@ -26699,6 +26946,7 @@ 1dd8 500d DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R4 1dd8 500e DSC2-200 50/100/200G 2-port 32G RAM 64G eMMC G2 DPU R5 *** 780 LINES SKIPPED *** From nobody Wed Apr 16 20:36:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdCVW0BRJz5tCfC; Wed, 16 Apr 2025 20:36: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 4ZdCVV68C1z3x76; Wed, 16 Apr 2025 20:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744835794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=loVI2a6MpngpJleJ1ffUvm3zqwoOV4AY+ioItF2mbyA=; b=u6XBnfgnwa13zQEuUXR55A2MbwxPTaXRDAte6O6AjDMW1M56yLFe74Kh+QtzCmcGcWUYLh sjeiOv+oEuoRB6wrbb369B/QA89cUmIaP1RN4iMs+o7QbXYBRpv52Foc17Qwo4WkcsFAOv asUF4BDfxlgO53Rqvmdh4fiLOtjV+g5Ij3Jipii91MRz2Iyb03qVrqztK3JUKy0JregZRP Qkg8YjBY/bmCDkEzN5Hsnf7FnILdaRUNry/ZIZkWTmo0qIgobHVvpEjWPFS9B2VgVRTGrJ 1LM1G5OFelWYn7Co+7Z9wecrNmFVI6ZwbHXOGdq5QSTntN4Jg46t0dbh3WRSgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744835794; a=rsa-sha256; cv=none; b=ZUeOgvReUXivgY+zLn1s4j3Nyo/tNi+KpehElEdFADVE6rONnFMHWjQ+yGAoM/3ScQ+/WR FbqDcbwGUQoPpU7gcRibcPEocLnk784tfZEI7MejQhuMgbqLRhAbD+vTqPDAcn6TlOATsV bjFg2xPisr+FmRShLBUagyPfM0FI0asuiKzi6U/xZFa9OjymNuY8wZoyUaGTq5jN2CS3FX Wk79bbSnn1VmlR//MQvv2nfhHrAclU/xOzaQQPVWFOHn8DFQtYYveuu8SrHrSLtnsloWYy oy0c12SZU7nkNs5Fj/yd+Oy6snK4gDlVG+H5gS+peXobjD0hKDRqF5LlE/mogg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744835794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=loVI2a6MpngpJleJ1ffUvm3zqwoOV4AY+ioItF2mbyA=; b=Yq7FFbEXtDgZCjCBKmon6q49uDRTxKDH1GuD2yC24WL/Ol0d7Qt0D8yAYq+S0EWASU9WU2 b+6VBiGpIC6PGw5UrgV5o63tp/AKkdCX1VbKAu7EMFH0eIObjfLDOqEBZkZ5eY4xm/bOxf Yt1QTlxOERJDLQFDI4jnzv7AnBek3bncC98ymVUOCPc7RYZhFA1ELERvBOsJ2Z0FpBlIDs puVrM/QKRmJpm3dQoVTMO1KCAqQiU87+Rudi/6AcDOYYEQ0eMmuqnzO8/mbZbWLtKBXUsJ OZIPunmrZLZ+8YObSV5qIiKarkbsp2f1RsphpNyyyRGcAzFy/BrscqKqvnIZqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdCVV5cMnz39c; Wed, 16 Apr 2025 20:36: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 53GKaYcT058771; Wed, 16 Apr 2025 20:36:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GKaY0G058768; Wed, 16 Apr 2025 20:36:34 GMT (envelope-from git) Date: Wed, 16 Apr 2025 20:36:34 GMT Message-Id: <202504162036.53GKaY0G058768@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: 8c3aac52f5ef - main - usb_vendors: update to 2025-04-01 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 8c3aac52f5efe80720f35c578a9644609000a99c Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=8c3aac52f5efe80720f35c578a9644609000a99c commit 8c3aac52f5efe80720f35c578a9644609000a99c Author: Baptiste Daroussin AuthorDate: 2025-04-16 20:35:53 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 20:36:25 +0000 usb_vendors: update to 2025-04-01 --- share/misc/usb_vendors | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/misc/usb_vendors b/share/misc/usb_vendors index 3304de282c18..3e72fe4045e6 100644 --- a/share/misc/usb_vendors +++ b/share/misc/usb_vendors @@ -9,8 +9,8 @@ # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # -# Version: 2024.12.04 -# Date: 2024-12-04 20:34:02 +# Version: 2025.04.01 +# Date: 2025-04-01 20:34:02 # # Vendors, devices and interfaces. Please keep sorted. @@ -23112,6 +23112,8 @@ 357d Sharkoon 7788 JMicron JMS567 ATA/ATAPI Bridge 3636 InVibro +3752 Arculus Holdings, LLC + 0001 AuthentiKey 3767 Fanatec 0101 Speedster 3 Forceshock Wheel 3838 WEM @@ -23699,6 +23701,7 @@ 0029 AX200 Bluetooth 0032 AX210 Bluetooth 0033 AX211 Bluetooth + 0036 BE200 Bluetooth 0716 Modem Flashloader 07da Centrino Bluetooth Wireless Transceiver 07db Atom C2000 Root Hub From nobody Wed Apr 16 20:50:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdCpr2SBCz5tDXF; Wed, 16 Apr 2025 20:50:44 +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 4ZdCpq70N0z41Dq; Wed, 16 Apr 2025 20:50:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744836644; h=from:from:reply-to:subject: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=GX4RIRTjdvUBo1sNf+UssHr9eWYAkGt5ET7+8lzJN1k=; b=sB/N6Krf0AaIihCoJZQpr+P5idmnw9sRdxuYluPIPOqovB0iyPzmLoA7L+7kauIfH2+Nek YvRVDukc/KgS4+NTQkKI0PUsoAc0fg8FvDDKGhPXgaAJAs5LoRA1FzS9XGRYfkt3yYMLc1 AprTll8iuPaxS3ZOSBcPaGNvZUwWJ4XLOiwvu0+rT+cuilyOUVVLn//EdRnScaGLWmLiKj xiRvEThJO4JbCK3EJQzUTDmbrAj9YbUdMA+r3kx8LNfCq4Z98/59Y0oXFN/WCEYSJ+gqHW H619n4qtAsvZadzYmArhw1ns5c7VUSrNAZZ1eIPKQwqLsbheDnq0i8Sm7Tuotg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744836644; a=rsa-sha256; cv=none; b=YL9ha82VFr60ljnYEY6jajREyyi7Pe/za6C2AwPAhFCOsglOIWCEGbPNeHRehe1KQRmY2Y axTlzGykU0/c5u487d7YMrUDUwYPYiPqfH9QVnAxRmhpbS+4fO1izAk2nafWMmDA8AtRKp V3xK4IojHj32V0isXDsyntc8xait+GKUovbvXB0BcwNDfGDnOWEZOi6a+mbzoxvkyQS9cO ebgwFejufm059WRuGpcZITPe9UQOdhzFcZ0HbnU3tyh+/G61erl7L7lyqC+fu0iPe9xCeK ZIprVI35Gp6Yhmc3hzdg6FYlVuXYKwvjmzhLG/4fLrNir3wirnKFGrLrGowZwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744836644; h=from:from:reply-to:subject: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=GX4RIRTjdvUBo1sNf+UssHr9eWYAkGt5ET7+8lzJN1k=; b=I5f41KexRqEkhFqQ0hZuh4wmpC83JNmTuTkWGyu2kZ34l7W+qZxhZoTD57jtSF+MCsZmpq BYwufv/r34m9u1I3NC+hfONpAtGHhNuwewzwfpPUqZTrF//SRFjNjytu+79CxXqKEYhzck y3Q1sUAjFKMUlXi67jkkF/QA1ghId+9gM7ARjJh6nmmPobl5cGWSCiUMZ1uOb7K+s4QfeW FYVYJ0q+xzYms8ON11BGbx5+KrdeARqncPNEW70t7X1JkOaD1ZnbJ0Eq6GtFsoJ+qgwSVx bh4lUQY6ZHVTerT0u77uUNa4hvx7GAX+J3cyBzOL0RVWljKIOTE2j3LX76uLsQ== Received: from [IPV6:2601:5c0:4200:b830:de2:efee:3ce1:a715] (unknown [IPv6:2601:5c0:4200:b830:de2:efee:3ce1:a715]) (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 4ZdCpq5LLbz15BM; Wed, 16 Apr 2025 20:50:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Wed, 16 Apr 2025 16:50:42 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 136d69caf03b - main - libedit: import vendor snapshort 2025-01-03 Content-Language: en-US To: Baptiste Daroussin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202504162022.53GKM8A3038394@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202504162022.53GKM8A3038394@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/16/25 16:22, Baptiste Daroussin wrote: > The branch main has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=136d69caf03bc38de95c4df34c5a683e9ce81bfa > > commit 136d69caf03bc38de95c4df34c5a683e9ce81bfa > Merge: 7a4c662f407f b3884193b7bd > Author: Baptiste Daroussin > AuthorDate: 2025-04-16 20:21:05 +0000 > Commit: Baptiste Daroussin > CommitDate: 2025-04-16 20:21:05 +0000 > > libedit: import vendor snapshort 2025-01-03 Thank you! -- John Baldwin From nobody Wed Apr 16 22:38:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdGC85SfRz5tLkx; Wed, 16 Apr 2025 22: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 4ZdGC84Ttcz3JjK; Wed, 16 Apr 2025 22:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744843108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhlSWf4aBY46jV2vWtQWndnzId+spBnDTZ9jS8lIMZc=; b=vIvBUzBeGlE+kTJU4Jogkf+XtEMUJan+t5wlpWZmZou/E0SxFJUsoK5i0lOT9iUPCgWZ0K b2siqo7BrRifw8KJryhYYR1B8YdDfYAmNk13ktmjcoUJvPpBJJFz0UiUC4lFuzktzTvMv8 yaC41t3v/xhHdVGAC8qm8QHAGIJtKTRJYMVgFxTrmjMDRx/9gjiPGCiF1IVopm/jguyy2H w3ua9JHTk7IxtfRLNA/XtDWA29eEr4Wl+1FU64q+JfqDD75+j74d47iQGBRiDdf6RwRROx oz/VeGNIvzIj4V276Qz2my1EWy8e6XdXinJs0HLqvxommHZUTBG6Tegih6ddtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744843108; a=rsa-sha256; cv=none; b=spuzMqWeK9+oTgGUhyszDgKP4LaO95z0ka1QDRNTq5eksHCyj7PSd8zA+QQuJzHS5SEd4s 3Ft9YZW+L6pRHpeBWmgwr2JWB/DJZ9zGgoDWAXKwEKquZLFGBzWeJBHdJkyzJOEG4AK0T1 fhcRwjgq51MyKSzDNt1D2wLWsDg8rEYtOPqHllbi/4XfHdwiPCiTp4cnU5CLTjnc75aMtc 90WUF8L2fz54qFr+T/yhXsSh5eIEwEEJ8zNNQkNR+fhMBaQI8MBrASL0mKQPvnKUyHvon3 FHhxduTJn8KuLIZUZXQugQrgTJdtKUrRoTUcYvd5omEIfDGZiU5dA4CVf9GMBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744843108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhlSWf4aBY46jV2vWtQWndnzId+spBnDTZ9jS8lIMZc=; b=hAkkNQ7n4j8azZi0JE/tA3KrTD+Bhm8xavKJLTqMoKjFUjwzMUs/qfbIzwx8ZR+EfbnvNH j0qG3XFSDMpLQcg5uzR3wZKd9+9ZMuqQuBF2PzhA4cjdqYv4UzKnOFVGo/O0Clm5Ob+/g4 lGL3SjRe0ttKrhTs1G80LoBUVdHdNCdyiUNnddyeWs4+0GBIKfzRBsui5SihqWi5pyNA9p U8CDzaI4mwARNUyJixsbE2b8BX0JvOxJWUt0uddTXejcxUX77tU+6UmSvsnj+bR4+gADIv CcYnTYMrcD67XSOMyfsJbAyTVk/p4uaPO7Roib36sYHjdjNDAXQsIr5rlZZ8/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 4ZdGC83LH4z6Ph; Wed, 16 Apr 2025 22:38: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 53GMcSNu082479; Wed, 16 Apr 2025 22:38:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GMcS2b082476; Wed, 16 Apr 2025 22:38:28 GMT (envelope-from git) Date: Wed, 16 Apr 2025 22:38:28 GMT Message-Id: <202504162238.53GMcS2b082476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 33e22c4f94d1 - main - pathconf.2: Update man page for the _PC_NAMEDATTR_ENABLED flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33e22c4f94d1932884972333e1baa568b9957385 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=33e22c4f94d1932884972333e1baa568b9957385 commit 33e22c4f94d1932884972333e1baa568b9957385 Author: Rick Macklem AuthorDate: 2025-04-16 22:37:14 +0000 Commit: Rick Macklem CommitDate: 2025-04-16 22:37:14 +0000 pathconf.2: Update man page for the _PC_NAMEDATTR_ENABLED flag This patch updates the man page for the _PC_NAMEDATTR_ENABLED flag. Another man page that explains named attributes will be introduced in a future commit. This is a content change. Fixes: 2ec2ba7e232d ("vfs: Add VFS/syscall support for Solaris style extended attributes") --- lib/libsys/pathconf.2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libsys/pathconf.2 b/lib/libsys/pathconf.2 index 786753f2d02a..a460e86e6968 100644 --- a/lib/libsys/pathconf.2 +++ b/lib/libsys/pathconf.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 6, 2021 +.Dd April 16, 2025 .Dt PATHCONF 2 .Os .Sh NAME @@ -175,6 +175,8 @@ hole size but still reports holes. Return 1 if a file system supports hole-punching (see .Xr fspacectl 2 ) , otherwise 0. +.It Li _PC_NAMEDATTR_ENABLED +Return 1 if named attributes are enabled for the file system, otherwise 0. .El .Sh RETURN VALUES If the call to From nobody Thu Apr 17 01:05:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdKTJ14TLz5tVRh; Thu, 17 Apr 2025 01:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdKTH6fKmz3XpK; Thu, 17 Apr 2025 01:05:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IGcRJbE+ayr3aAaEbs9ltMM+WhBOj+xUcfE7sa5txw=; b=gSzum/Wn4GRvWTEUaeL9tMNkpN3UgGEmBUxSMdS/iHUCbdi4T2Q7tPzT7nKXXBRoKA9FYm dD9HpWKqVNOqKpvNSoGAxOtMWhsqTgpFCsyRW4mFTvF0UV4I8D95LEBbXUiETX1wg5FbL4 gLTr0kOvVCnXatoHT67y0sTSh9rUQawR2leRjnUEHjuS56SCT8GRmlSpPx8faAn6aMx53m mrW1cF3TzL+qs+3CTKkDGiG9pKu/SIIj7CoY4SyYxpAZ5aDaqUTOOkoLx0IcQdknzxot9M HWuO28SWne4FuzVbpoVL/th3YDsqrmdnFq/Ni5+8R0Q466a/QMzTuqiJkJK0ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744851956; a=rsa-sha256; cv=none; b=Is4kytD+aWObQaXhXLLn8Nyd31wfRmPBqZKwOa1rgEImerGkSy9A0sBvYymdEyTeRDPGcY 7WGxSqFgMIxE+SkYeXE8AK/gDJLZqQbcnWS59VKiMoAKBwZ6cLbuY2T6F+g2+ecwRzyfbH mX/Zmx4mjA92y7CofNFQxI1m9HQEso2SAstjCgMDnu7fi3R0HewVu3yBzusXZUMlomntec q6LZf7CRcjwCRA8cDsL343/Xxnep+UxcXXbnecsk691lfcPBoZVCn2k36rINN6qJaHSjAC DyrBzzemv1+3glr0keCc8oZZPD+lWhjajQYl3pXJsaCjuChFnQ/bgmLnUZryaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IGcRJbE+ayr3aAaEbs9ltMM+WhBOj+xUcfE7sa5txw=; b=JFeY6dfrxr1fkxUnZiYKe11BfgPMLC+JXbsM6EVJXNVG9x8K9zD1qV5Jk151yIVkY4NEJZ 0L2qNlBNF9LETy6Ty/foy2u3lufxmveLPT3x0Gnd1OLbN7HY5HVYdAg96kwA/5lUbh6AJ7 /kj/M1Xll8ouYV9qt4wFXAruaohXkoRvCjoXd+QSUVjdIrMmTPT9iuHQQLoIU3V59bGkNQ z1YbCzfEj0G4weVlHqq+4PmojqgMF+ueSdaz9eFyyggfUzMKySE7HZghJI5qpUE9aNqwbq UHgh4t98MDY6hjo6VNWGjuu7mhwfHRHZzMMcDpJGcs3pd10aIzHGmoZB1R15Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdKTH6Fl1zBJF; Thu, 17 Apr 2025 01:05: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 53H15t70062411; Thu, 17 Apr 2025 01:05:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H15toI062408; Thu, 17 Apr 2025 01:05:55 GMT (envelope-from git) Date: Thu, 17 Apr 2025 01:05:55 GMT Message-Id: <202504170105.53H15toI062408@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: a420e1b1cee6 - stable/14 - grep: avoid duplicated lines when we're coloring output List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: a420e1b1cee696f6f0fdeacdc04fd4f1e992234b Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a420e1b1cee696f6f0fdeacdc04fd4f1e992234b commit a420e1b1cee696f6f0fdeacdc04fd4f1e992234b Author: Kyle Evans AuthorDate: 2025-03-20 04:34:13 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:01:29 +0000 grep: avoid duplicated lines when we're coloring output For the default uncolored output, we'll just output a line once and then move on. For colored output, we'll output multiple matches per line with context from the line interspersed and may end up writing out some match context multiple times as we don't persist which part of the lines have already been printed. Fix it by tracking the length of line printed thus far in printline() and retaining it across successive calls to printline() in the same line. printline() should indicate whether it terminated the line or not to avoid tracking the logic for that in multiple places: -o lines are always terminated, so it's generally only some --color contexts where we wouldn't have terminated. Add a test to make sure that we're only printing one line going forward. Reported and tested by: Jamie Landeg-Jones Reviewed by: emaste (cherry picked from commit 4c9ffb13dd74159bd3ed7e1c4c706dbd15a70df2) --- usr.bin/grep/tests/grep_freebsd_test.sh | 15 +++++++ usr.bin/grep/util.c | 72 +++++++++++++++++++++++++++------ 2 files changed, 74 insertions(+), 13 deletions(-) diff --git a/usr.bin/grep/tests/grep_freebsd_test.sh b/usr.bin/grep/tests/grep_freebsd_test.sh index 77017529843e..906b70645151 100755 --- a/usr.bin/grep/tests/grep_freebsd_test.sh +++ b/usr.bin/grep/tests/grep_freebsd_test.sh @@ -103,10 +103,25 @@ zflag_body() atf_check grep -qz "foo.*bar" in } +atf_test_case color_dupe +color_dupe_body() +{ + + # This assumes a MAX_MATCHES of exactly 32. Previously buggy procline() + # calls would terminate the line premature every MAX_MATCHES matches, + # meaning we'd see the line be output again for the next MAX_MATCHES + # number of matches. + jot -nb 'A' -s '' 33 > in + + atf_check -o save:color.out grep --color=always . in + atf_check -o match:"^ +1 color.out" wc -l color.out +} + atf_init_test_cases() { atf_add_test_case grep_r_implied atf_add_test_case rgrep atf_add_test_case gnuext atf_add_test_case zflag + atf_add_test_case color_dupe } diff --git a/usr.bin/grep/util.c b/usr.bin/grep/util.c index 4e1c44b442f2..ed87e56956f6 100644 --- a/usr.bin/grep/util.c +++ b/usr.bin/grep/util.c @@ -72,7 +72,7 @@ static int litexec(const struct pat *pat, const char *string, size_t nmatch, regmatch_t pmatch[]); #endif static bool procline(struct parsec *pc); -static void printline(struct parsec *pc, int sep); +static bool printline(struct parsec *pc, int sep, size_t *last_out); static void printline_metadata(struct str *line, int sep); bool @@ -214,15 +214,29 @@ procmatch_match(struct mprintc *mc, struct parsec *pc) /* Print the matching line, but only if not quiet/binary */ if (mc->printmatch) { - printline(pc, ':'); + size_t last_out; + bool terminated; + + last_out = 0; + terminated = printline(pc, ':', &last_out); while (pc->matchidx >= MAX_MATCHES) { /* Reset matchidx and try again */ pc->matchidx = 0; if (procline(pc) == !vflag) - printline(pc, ':'); + terminated = printline(pc, ':', &last_out); else break; } + + /* + * The above loop processes the entire line as long as we keep + * hitting the maximum match count. At this point, we know + * that there's nothing left to be printed and can terminate the + * line. + */ + if (!terminated) + printline(pc, ':', &last_out); + first_match = false; mc->same_file = true; mc->last_outed = 0; @@ -748,26 +762,39 @@ printline_metadata(struct str *line, int sep) } /* - * Prints a matching line according to the command line options. + * Prints a matching line according to the command line options. We need + * *last_out to be populated on entry in case this is just a continuation of + * matches within the same line. + * + * Returns true if the line was terminated, false if it was not. */ -static void -printline(struct parsec *pc, int sep) +static bool +printline(struct parsec *pc, int sep, size_t *last_out) { - size_t a = 0; + size_t a = *last_out; size_t i, matchidx; regmatch_t match; + bool terminated; + + /* + * Nearly all paths below will terminate the line by default, but it is + * avoided in some circumstances in case we don't have the full context + * available here. + */ + terminated = true; /* If matchall, everything matches but don't actually print for -o */ if (oflag && matchall) - return; + return (terminated); matchidx = pc->matchidx; /* --color and -o */ - if ((oflag || color) && matchidx > 0) { + if ((oflag || color) && (pc->printed > 0 || matchidx > 0)) { /* Only print metadata once per line if --color */ - if (!oflag && pc->printed == 0) + if (!oflag && pc->printed == 0) { printline_metadata(&pc->ln, sep); + } for (i = 0; i < matchidx; i++) { match = pc->matches[i]; /* Don't output zero length matches */ @@ -780,9 +807,10 @@ printline(struct parsec *pc, int sep) if (oflag) { pc->ln.boff = match.rm_so; printline_metadata(&pc->ln, sep); - } else + } else { fwrite(pc->ln.dat + a, match.rm_so - a, 1, stdout); + } if (color) fprintf(stdout, "\33[%sm\33[K", color); fwrite(pc->ln.dat + match.rm_so, @@ -793,13 +821,31 @@ printline(struct parsec *pc, int sep) if (oflag) putchar('\n'); } - if (!oflag) { - if (pc->ln.len - a > 0) + + /* + * Don't terminate if we reached the match limit; we may have + * other matches on this line to process. + */ + *last_out = a; + if (!oflag && matchidx != MAX_MATCHES) { + if (pc->ln.len - a > 0) { fwrite(pc->ln.dat + a, pc->ln.len - a, 1, stdout); + *last_out = pc->ln.len; + } putchar('\n'); + } else if (!oflag) { + /* + * -o is terminated on every match output, so this + * branch is only designed to capture MAX_MATCHES in a + * line which may be a signal to us for a lack of + * context. The caller will know more and call us again + * to terminate if it needs to. + */ + terminated = false; } } else grep_printline(&pc->ln, sep); pc->printed++; + return (terminated); } From nobody Thu Apr 17 01:05:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdKTK3W9Xz5tVpc; Thu, 17 Apr 2025 01:05: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 4ZdKTK0nshz3Y3M; Thu, 17 Apr 2025 01:05:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6byuubT4cSGwccPGW6jzvxifC+hpZA2CPpG2l/BKkz8=; b=lxalQjEqbCTft2aolPr0etFpqdkcRZmYll1N+yiRJOP6LSToOZRSeEHYrwfg8va7xsnI+D NmcjF9EZ2y7NhAJaIb1TLfNTt5cllKUVQoENqbT2w7FdQjugHfRqpd2hDfF8rBF35pcppy jiak6JsxOxGaxCfAcT8CMQjBZ8tNN19TkFaySbECvWSND5rX2Vlnw/L7V/dUp9U1Q0KQ/a /3vpFqGPcDAGYbHLuBb42BuM2ngLOvbvBPPmJobGll4mCQ0dH+3RdESGzg9kNb1EEYKhC3 Q7/KebjC8Ye4I09jWtEuIDP/Qj5a1dBLYqujlgj96KNuOrWOaT3u/43rniANjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744851957; a=rsa-sha256; cv=none; b=KahVqpNyHLRUcU5EMJ8tw0fx2wjMUfflLjm8l7VYEaoE9rQC/Euh64DvcMRhUwbmT7Eml4 9+gAmTfNrhRVPbttQzqCaKhcO35YI0HzvUzzfyZKLnm6i0AvxPLafmRAdmbxm6Fgxgyc3z gaTo/87nBmxg50pgUa3nm/IF1J/o6U6AmlIQ1YTHMBSBBFP/wi3HT/P0VIM8PO3+gfjyVP WfqbJURRfyZnEZrak4F+ffHlpoP/sqnR6H7lspJVj3Ybphv0eu5TEBgbimVwnIE1Z8R3ew RMvyA3L4RgAHjGHH4Ok+Xvmn6UhJ4mvbsnk1xs0Moth9eNWcEwU8IE8STU5pDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6byuubT4cSGwccPGW6jzvxifC+hpZA2CPpG2l/BKkz8=; b=EywyWlf8osmlHc8Tzswo2yusfQ4dMYmAYY0w131xu1cxuXC0yi6psqeBRdvwCQ/LBRw5HW R5jZ6CzsNXK16Cj1Zt7SmpbkClt/x8LzL542sWxa3flJtzYLgL1lLd/TBBW8GKso0QqWgi a0TFnzDWHbHgn1kuuLqPtW0H/tc8EgmXhcEjx5XavNqG0sa3bc8lmX850esYLuuDBnZDKD OgGmOtwTGrczYLYIZofRU+po3MY6AyfARo9DUJJ3k4iaRJNJuzd9dinDmS8URV5hqlzwEK 1OVajyVr8Ak+qEBekgFNMxffMjrnP0V7fN5cf57IsWdPU+ZbdqeLXKy/P2Qmhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdKTK04vjz9ps; Thu, 17 Apr 2025 01:05: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 53H15uhh062446; Thu, 17 Apr 2025 01:05:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H15uHN062443; Thu, 17 Apr 2025 01:05:56 GMT (envelope-from git) Date: Thu, 17 Apr 2025 01:05:56 GMT Message-Id: <202504170105.53H15uHN062443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: c43ae65b4b89 - stable/14 - libc: allow __cxa_atexit handlers to be added during __cxa_finalize List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: c43ae65b4b89be422cdcd399a7abc44f6db4b298 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c43ae65b4b89be422cdcd399a7abc44f6db4b298 commit c43ae65b4b89be422cdcd399a7abc44f6db4b298 Author: Aurélien Croc de Suray AuthorDate: 2025-04-05 00:47:53 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:01:36 +0000 libc: allow __cxa_atexit handlers to be added during __cxa_finalize science/dlib-cpp reveals an interesting scenario that works fine on other platforms but not on FreeBSD; notably, it ends up creating a new global object from some destructor which is called during __cxa_finalize. This breaks when libdlib is dlopen()ed and then subsequently dlclose()ed, as we never end up invoking the created object's dtor until program exit when the shlib is already unmapped. Fix it by noting when we're in the middle of __cxa_finalize for a dso, and then restarting the search if __cxa_atexit() was called in the middle somewhere. We wait until we've processed the initial set before starting over and processing the newly added handlers as if it were a complete set of handlers added during runtime. The alternative is calling them as they're added to maintain a LIFO in terms of total ordering, but in theory a constructor could add another global object that also needs to be destroyed, and that object needs to be destroyed after the one that constructed it to avoid creating unexpected lifetime issues. This manifests in the pdlib PHP extension for dlib crashing, see [0]. [0] https://github.com/goodspb/pdlib/issues/39 PR: 285870 Reviewed by: kevans (also supplied commit message) (cherry picked from commit 23427c8e1fedb9fc68ad0bd27a59c7ffd2b3008c) --- lib/libc/stdlib/atexit.c | 61 ++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/lib/libc/stdlib/atexit.c b/lib/libc/stdlib/atexit.c index b2c10ca4cca5..6468b9ff0a62 100644 --- a/lib/libc/stdlib/atexit.c +++ b/lib/libc/stdlib/atexit.c @@ -38,6 +38,7 @@ static char sccsid[] = "@(#)atexit.c 8.2 (Berkeley) 7/3/94"; #include "namespace.h" #include #include +#include #include #include #include @@ -59,6 +60,8 @@ _Block_copy(void*); #define ATEXIT_FN_CXA 2 static pthread_mutex_t atexit_mutex = PTHREAD_MUTEX_INITIALIZER; +static void *current_finalize_dso = NULL; +static bool call_finalize_again = false; #define _MUTEX_LOCK(x) if (__isthreaded) _pthread_mutex_lock(x) #define _MUTEX_UNLOCK(x) if (__isthreaded) _pthread_mutex_unlock(x) @@ -118,6 +121,9 @@ atexit_register(struct atexit_fn *fptr) __atexit = p; } p->fns[p->ind++] = *fptr; + if (current_finalize_dso != NULL && + current_finalize_dso == fptr->fn_dso) + call_finalize_again = true; _MUTEX_UNLOCK(&atexit_mutex); return 0; } @@ -211,33 +217,38 @@ __cxa_finalize(void *dso) } _MUTEX_LOCK(&atexit_mutex); - for (p = __atexit; p; p = p->next) { - for (n = p->ind; --n >= 0;) { - if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) - continue; /* already been called */ - fn = p->fns[n]; - if (dso != NULL && dso != fn.fn_dso) { - /* wrong DSO ? */ - if (!has_phdr || global_exit || - !__elf_phdr_match_addr(&phdr_info, - fn.fn_ptr.cxa_func)) - continue; + current_finalize_dso = dso; + do { + call_finalize_again = false; + for (p = __atexit; p; p = p->next) { + for (n = p->ind; --n >= 0;) { + if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) + continue; /* already been called */ + fn = p->fns[n]; + if (dso != NULL && dso != fn.fn_dso) { + /* wrong DSO ? */ + if (!has_phdr || global_exit || + !__elf_phdr_match_addr(&phdr_info, + fn.fn_ptr.cxa_func)) + continue; + } + /* + Mark entry to indicate that this particular + handler has already been called. + */ + p->fns[n].fn_type = ATEXIT_FN_EMPTY; + _MUTEX_UNLOCK(&atexit_mutex); + + /* Call the function of correct type. */ + if (fn.fn_type == ATEXIT_FN_CXA) + fn.fn_ptr.cxa_func(fn.fn_arg); + else if (fn.fn_type == ATEXIT_FN_STD) + fn.fn_ptr.std_func(); + _MUTEX_LOCK(&atexit_mutex); } - /* - Mark entry to indicate that this particular handler - has already been called. - */ - p->fns[n].fn_type = ATEXIT_FN_EMPTY; - _MUTEX_UNLOCK(&atexit_mutex); - - /* Call the function of correct type. */ - if (fn.fn_type == ATEXIT_FN_CXA) - fn.fn_ptr.cxa_func(fn.fn_arg); - else if (fn.fn_type == ATEXIT_FN_STD) - fn.fn_ptr.std_func(); - _MUTEX_LOCK(&atexit_mutex); } - } + } while (call_finalize_again); + current_finalize_dso = NULL; _MUTEX_UNLOCK(&atexit_mutex); if (dso == NULL) _MUTEX_DESTROY(&atexit_mutex); From nobody Thu Apr 17 01:05:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdKTH3Vcvz5tVpR; Thu, 17 Apr 2025 01:05: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 4ZdKTG5kJdz3YJy; Thu, 17 Apr 2025 01:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ET0kEh6Zu5mKAYEDlTD9NE+Nyl795rCkXbxM9Ig36p8=; b=iRkwj/fmSESMv6g8Jt2S0bcNKzeLfQVotRcZ4U+WscCDNi0zKi6lFdH9kK4rAW29GZB7P4 v1KNX24yBNqPpGJ1SAjHbxBARuBga7HUC0hbZDKxGOWfKzALiNdBbL5QaOJfuIbNSDhoG/ xQTZv8+MNVSbkb4gW6LgsP78KBZQ48xL9sN/v794WFtexjYfPlK4UOd30kSeyDNdXNQaFW sz81utokdEQrdBXpVNdmtVFK1HvoyMDR0MySHlW1jdY4Fg/pbWE5vJNDTyjeOLaRcKkBP0 Tm95V5tKz0VIfATyaJ3X9DR0i9p1reSVO4xT3uoovXta84Rk3G4DeXddbCVBNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744851954; a=rsa-sha256; cv=none; b=yzFMklLgIR9lOZ2DjZOGNkQsdOGFZCka4bXwQ27VRX3nGLcnq2DssUM7hTyFxnZaCaWftZ 3Jm27zTQeq1G3qAtRtesTL5QH8WRAfVdgmDoOdaH7RD3J7kIQNXNaSZBGwrCBqaDf5eMhq gxrCTgu1tpWuqfq3HKVIFN8iTWgKtzF/qnarJpeIKbg/Dep7nTSX8gwhHuCckV+00Khx6N vjXt9Mpu9US4pEdLURpIHamSbZtGJXWW6TZtSzahHh1aUXrl5yyjcLz065ikevoKQylsYj 3S8QTO69OpRpskT/5cV49Tb7FNu+hfln+IP7+qgTHmZQvcm8DJxeT/VsTFT2ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ET0kEh6Zu5mKAYEDlTD9NE+Nyl795rCkXbxM9Ig36p8=; b=MO4z9i/eyXQDLk1I0nC252zYOaVn+kej3NaR+6lDtcjt/QCvTeTHB50DWJ6qQb1I4GSjQK srrYeV5bZB2JLqjY8cWAEKGNaYDYaAwCoV5xs2v+E42/sHn+pjiJiAXIgT+/543bAQRjWD i1oPdoeRnDZITvckwkBsCUdPdUjgaPUNWbZ0gAuC7enkXEnYEjgwEiMSrwio5A2C1orl+K /UzO4ihdg8jI4L5NUa7c+wNcvpa7cQAupI4n8R+oPtql0w8e9MjPEFT6E9AHrovyXvY09Z vyp/ReDpFRNXviDFNWI5viBQKMcfYDztPAFxusSfFOyYeIm2TohIMLuNjlFLpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdKTG5KQwzB37; Thu, 17 Apr 2025 01:05: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 53H15sU2062376; Thu, 17 Apr 2025 01:05:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H15sJc062373; Thu, 17 Apr 2025 01:05:54 GMT (envelope-from git) Date: Thu, 17 Apr 2025 01:05:54 GMT Message-Id: <202504170105.53H15sJc062373@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: a5b392de86f9 - stable/14 - libbe: avoid copying encryption-related props List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: a5b392de86f9e9949072ab4b7caf1439aa00a571 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a5b392de86f9e9949072ab4b7caf1439aa00a571 commit a5b392de86f9e9949072ab4b7caf1439aa00a571 Author: Kyle Evans AuthorDate: 2025-02-26 22:23:24 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:01:18 +0000 libbe: avoid copying encryption-related props libzfs insists that these be cloned from the origin, so avoid making a deep copy of them ourselves to unbreak creating a new BE from a BE with encrypted components -- in today's environment, without a loader that does encryption, this means a deep BE setup where something underneath the BE (e.g., home directories) are encrypted. Reported and tested by: arrowd Reviewed by: allanjude (cherry picked from commit 181549c37f1913f5ca292d8515a6e5e0068a9fe7) --- lib/libbe/be.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/libbe/be.c b/lib/libbe/be.c index 38e5e44abb53..a9838f2200bf 100644 --- a/lib/libbe/be.c +++ b/lib/libbe/be.c @@ -670,8 +670,20 @@ be_deep_clone_prop(int prop, void *cb) dccb = cb; /* Skip some properties we don't want to touch */ - if (prop == ZFS_PROP_CANMOUNT) + switch (prop) { + /* + * libzfs insists on these being naturally inherited in the + * cloning process. + */ + case ZFS_PROP_KEYFORMAT: + case ZFS_PROP_KEYLOCATION: + case ZFS_PROP_ENCRYPTION: + case ZFS_PROP_PBKDF2_ITERS: + + /* FALLTHROUGH */ + case ZFS_PROP_CANMOUNT: /* Forced by libbe */ return (ZPROP_CONT); + } /* Don't copy readonly properties */ if (zfs_prop_readonly(prop)) From nobody Thu Apr 17 01:05:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdKTL4PBTz5tVmK; Thu, 17 Apr 2025 01:05: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 4ZdKTL11c0z3XvV; Thu, 17 Apr 2025 01:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aLvD/PzW/QpXq877arLCXTvsTwp/OSDaLoV0zZJfQ0=; b=pgglWMxnr2Eu+wY5ODkbXg1KF+Mv7Js6DWb767invlUcqNsrcH16XHI1XiDk2i4mtf8fls k/gcN3cK4FfW8nr2kNy4YDWEzKErNl6OTSWjES7R2PcCxbajiX8rrvX1/PYy3iMgVZxqSw 047qaA+QcfrebPVefvhatspCJ0rK9M69EmR7bEVCzUKw4uyTGNL2rS3zrLAklh6XxVkNSB fgbFd8f3+1QF64lpnXG2yfZf9kyWz2T+UsON+cnJPvqP3CzJsSBiySM4hkXS9og+rT0k05 YuqftZB8qpZK0UUAQKYCOadzhYqAqYzTl/B98FWavaMHtxmkJ5qs7+l53+Y9TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744851958; a=rsa-sha256; cv=none; b=fbZTgX+CEtcGXRdxm7WBRk3/En6J8j2I8uM+8emmgOykir0RjETr5bn1nwOceuv9YFqpzP /qdJ6cA5ZGR8+3vEL8HfaxB5gLLR/xvZhra4y8PgBzpotxrOLTNshW0t707HJMvY9+5IQ6 1PD0Zu/YJd9ibdLnSIuDcdNhbkPZAl/HTv/FNnl/ygv0Rav53tRYUS7V5FmFiOhUg4MpKj hx0u3UCkrpKXCrI+pbBCDEnrZRpU2b33dCHrlNcBdJES6MYYrHyDTA4JYj2ektCBq4Y4gu zNb/GUUseik0/RQTuE9gNJjpUxkmdMt0rS378Kori8j+2bEEuxZuEfXtygr8Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744851958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aLvD/PzW/QpXq877arLCXTvsTwp/OSDaLoV0zZJfQ0=; b=EqbngRPQ296KsxqSwYIEWLOW74t6bZJdhNtGcfVCCvR03PxgmTFm2cnwr5LmqwfE/KAYz1 8E5f6h21lk5u2y+GAaMGuPAvgSl8we7jT1JZZlxCU/VpgHKopb/6CrRUgUudmwBIyki3It zW2XRn3Z3IrbVQ5iwxK8oWcmuzi9Pb2PBVhXn2bddyRnpzQJPWYBJtVeDU5E0lZh+Bf7SS yDyBKenFS/UnEcU84JAeMkZ31fR2K5ORvNU856VlPaGUAC3oURaK4TaG4c8SompTTIcmIR Qgfz9mpDiwFJb1Dofz+XtSkk4JtxZLA4rOcTjMLVNFks4cec6ZKXxm29KTnrcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdKTL0HmdzB38; Thu, 17 Apr 2025 01:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53H15vsS062480; Thu, 17 Apr 2025 01:05:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H15vL8062477; Thu, 17 Apr 2025 01:05:57 GMT (envelope-from git) Date: Thu, 17 Apr 2025 01:05:57 GMT Message-Id: <202504170105.53H15vL8062477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: df4b8eff7b19 - stable/14 - libc: tests: add some tests for __cxa_atexit handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: df4b8eff7b19311f6cc5c339aebb41ecafd2e52c Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=df4b8eff7b19311f6cc5c339aebb41ecafd2e52c commit df4b8eff7b19311f6cc5c339aebb41ecafd2e52c Author: Kyle Evans AuthorDate: 2025-04-05 00:47:54 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:01:46 +0000 libc: tests: add some tests for __cxa_atexit handling This adds a basic test that __cxa_atexit works, and also adds some tests for __cxa_atexit handlers registered in the middle of __cxa_finalize. PR: 285870 (cherry picked from commit ee9ce1078c596f5719f312feedd616ab0fb41dc9) --- lib/libc/tests/stdlib/Makefile | 2 + lib/libc/tests/stdlib/cxa_atexit_test.c | 132 +++++++++++++++++++++++++++ lib/libc/tests/stdlib/libatexit/Makefile | 11 +++ lib/libc/tests/stdlib/libatexit/libatexit.cc | 67 ++++++++++++++ 4 files changed, 212 insertions(+) diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile index 860e530389df..974bbf7c0704 100644 --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -2,6 +2,7 @@ .include ATF_TESTS_C+= clearenv_test +ATF_TESTS_C+= cxa_atexit_test ATF_TESTS_C+= dynthr_test ATF_TESTS_C+= heapsort_test ATF_TESTS_C+= mergesort_test @@ -79,5 +80,6 @@ LIBADD.${t}+= netbsd util LIBADD.strtod_test+= m SUBDIR+= dynthr_mod +SUBDIR+= libatexit .include diff --git a/lib/libc/tests/stdlib/cxa_atexit_test.c b/lib/libc/tests/stdlib/cxa_atexit_test.c new file mode 100644 index 000000000000..7e2cafbce850 --- /dev/null +++ b/lib/libc/tests/stdlib/cxa_atexit_test.c @@ -0,0 +1,132 @@ +/*- + * Copyright (c) 2025 Kyle Evans + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include +#include +#include + +#include + +#define ARBITRARY_EXIT_CODE 42 + +static char * +get_shlib(const char *srcdir) +{ + char *shlib; + + shlib = NULL; + if (asprintf(&shlib, "%s/libatexit.so", srcdir) < 0) + atf_tc_fail("failed to construct path to libatexit.so"); + return (shlib); +} + +static void +run_test(const atf_tc_t *tc, bool with_fatal_atexit, bool with_exit) +{ + pid_t p; + void (*set_fatal_atexit)(bool); + void (*set_exit_code)(int); + void *hdl; + char *shlib; + + shlib = get_shlib(atf_tc_get_config_var(tc, "srcdir")); + + hdl = dlopen(shlib, RTLD_LAZY); + ATF_REQUIRE_MSG(hdl != NULL, "dlopen: %s", dlerror()); + + free(shlib); + + if (with_fatal_atexit) { + set_fatal_atexit = dlsym(hdl, "set_fatal_atexit"); + ATF_REQUIRE_MSG(set_fatal_atexit != NULL, + "set_fatal_atexit: %s", dlerror()); + } + if (with_exit) { + set_exit_code = dlsym(hdl, "set_exit_code"); + ATF_REQUIRE_MSG(set_exit_code != NULL, "set_exit_code: %s", + dlerror()); + } + + p = atf_utils_fork(); + if (p == 0) { + /* + * Don't let the child clobber the results file; stderr/stdout + * have been replaced by atf_utils_fork() to capture it. We're + * intentionally using exit() instead of _exit() here to run + * __cxa_finalize at exit, otherwise we'd just leave it be. + */ + closefrom(3); + + if (with_fatal_atexit) + set_fatal_atexit(true); + if (with_exit) + set_exit_code(ARBITRARY_EXIT_CODE); + + dlclose(hdl); + + /* + * If the dtor was supposed to exit (most cases), then we should + * not have made it to this point. If it's not supposed to + * exit, then we just exit with success here because we might + * be expecting either a clean exit or a signal on our way out + * as the final __cxa_finalize tries to run a callback in the + * unloaded DSO. + */ + if (with_exit) + exit(1); + exit(0); + } + + dlclose(hdl); + atf_utils_wait(p, with_exit ? ARBITRARY_EXIT_CODE : 0, "", ""); +} + +ATF_TC_WITHOUT_HEAD(simple_cxa_atexit); +ATF_TC_BODY(simple_cxa_atexit, tc) +{ + /* + * This test exits in a global object's dtor so that we check for our + * dtor being run at dlclose() time. If it isn't, then the forked child + * will have a chance to exit(1) after dlclose() to raise a failure. + */ + run_test(tc, false, true); +} + +ATF_TC_WITHOUT_HEAD(late_cxa_atexit); +ATF_TC_BODY(late_cxa_atexit, tc) +{ + /* + * This test creates another global object during a __cxa_atexit handler + * invocation. It's been observed in the wild that we weren't executing + * it, then the DSO gets torn down and it was executed at application + * exit time instead. In the best case scenario we would crash if + * something else hadn't been mapped there. + */ + run_test(tc, true, false); +} + +ATF_TC_WITHOUT_HEAD(late_cxa_atexit_ran); +ATF_TC_BODY(late_cxa_atexit_ran, tc) +{ + /* + * This is a slight variation of the previous test where we trigger an + * exit() in our late-registered __cxa_atexit handler so that we can + * ensure it was ran *before* dlclose() finished and not through some + * weird chain of events afterwards. + */ + run_test(tc, true, true); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, simple_cxa_atexit); + ATF_TP_ADD_TC(tp, late_cxa_atexit); + ATF_TP_ADD_TC(tp, late_cxa_atexit_ran); + return (atf_no_error()); +} diff --git a/lib/libc/tests/stdlib/libatexit/Makefile b/lib/libc/tests/stdlib/libatexit/Makefile new file mode 100644 index 000000000000..9ba04c77af62 --- /dev/null +++ b/lib/libc/tests/stdlib/libatexit/Makefile @@ -0,0 +1,11 @@ +SHLIB_CXX= libatexit +SHLIB_NAME= libatexit.so +SHLIB_MAJOR= 1 +SHLIBDIR= ${TESTSDIR} +PACKAGE= tests +SRCS= libatexit.cc + +TESTSDIR:= ${TESTSBASE}/${RELDIR:C/libc\/tests/libc/:H} + + +.include diff --git a/lib/libc/tests/stdlib/libatexit/libatexit.cc b/lib/libc/tests/stdlib/libatexit/libatexit.cc new file mode 100644 index 000000000000..bb286c97e421 --- /dev/null +++ b/lib/libc/tests/stdlib/libatexit/libatexit.cc @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2025 Kyle Evans + * + * SPDX-License-Identifier: BSD-2-Clause + * + */ + +#include + +static int exit_code = -1; +static bool fatal_atexit; + +extern "C" { + void set_fatal_atexit(bool); + void set_exit_code(int); +} + +void +set_fatal_atexit(bool fexit) +{ + fatal_atexit = fexit; +} + +void +set_exit_code(int code) +{ + exit_code = code; +} + +struct other_object { + ~other_object() { + + /* + * In previous versions of our __cxa_atexit handling, we would + * never actually execute this handler because it's added during + * ~object() below; __cxa_finalize would never revisit it. We + * will allow the caller to configure us to exit with a certain + * exit code so that it can run us twice: once to ensure we + * don't crash at the end, and again to make sure the handler + * actually ran. + */ + if (exit_code != -1) + _exit(exit_code); + } +}; + +void +create_staticobj() +{ + static other_object obj; +} + +struct object { + ~object() { + /* + * If we're doing the fatal_atexit behavior (i.e., create an + * object that will add its own dtor for __cxa_finalize), then + * we don't exit here. + */ + if (fatal_atexit) + create_staticobj(); + else if (exit_code != -1) + _exit(exit_code); + } +}; + +static object obj; From nobody Thu Apr 17 02:23:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdMBd4XxHz5tbL6; Thu, 17 Apr 2025 02:23: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 4ZdMBd2sKlz3gkN; Thu, 17 Apr 2025 02:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744856601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24X13bY3+ymZbk2L3zz745vvhcns1CkqvatKzS4x2QU=; b=ODvhW/fdTg5IZBJCw3gi8TkFctPKESsV1jvKVf68gYldYfXRhnMl3RkHIM3fFQWYsnokNz QT+AbT6oG8EA+hJQYZYRfZmx7DQqQ9Qgz1Uja/xFLSs7F69tIRVOk5QWqu0y+vRJKenudl zin5T4jdYM/Hw5STVS5lYVBRLouxMYKOihANUpJ6cnlJ8kgu1GOzVMNuXW9mjQppNyL54x 6kUlcXJmahRL1f7RpLUXf7RX34DUB0LL9zZpVyxMaRnOe/1nU6CZD1MH1Gb8R8wCm6mV4u JKZL4VV+MvFzCNVAnLIxbOLYKF7O9tqBOzkBzFystXyqCjss9rlQr8ts5Q4z+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744856601; a=rsa-sha256; cv=none; b=LxS/uRkaaPVJFt3vH+9t6J/PR0+Roevvqx4EqNXTq3b1gbYAO5DcSrEoPyF21DGWWodtAJ aioLVfkPSqtz+SHl47+axUhDPG0uJtzBeDA0Mnhye7iFdamwctrjqLWyTlI6OmegJxRIHe hXDdxlLfkNS429hUEjx8dNJid4Pn4CgdalxD0Gp6/4CzS4Yrwiyh+qWUPmBvKcNZqyTS6o Q3N8rHjEiqlFmsExdtOcb66yPk8mBRteJuWEmyNLptZ74UvT+s9smAMRdvzD/5XYUHVepp AG0NoR+CtLL5iAihXDytm05FDSZn+L7VnmWyEsItyu0nvlLy+8qju9QUzmlGww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744856601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24X13bY3+ymZbk2L3zz745vvhcns1CkqvatKzS4x2QU=; b=tw9cCX1nQJXuN63cYwQFu87T9YVhaElYCp3Q4zB1jQo+0PfIlhyRD4clb8Wd7ar2H6ticA 6S0LKBCLmFWep3iPvuGd8KZaigUjVoBI6N313MHt+7BJV5tqwu3p+NxFa+UesqMuoC+jfM gpI2lpbaYtZKRcHXu5sVgz1N1UFGBaEEO+GnUwr1R3lZLwOBxfAabrjft4seRBYTV9bIC0 lqZEXLpZfX3yWNKk9AYDYyZKYNv/lQ+r3s/FLatrjg+HkuJ8jjF5iteQgLSyhMJ3JDXFAS cHcAN6bpPR5mPG4FqzwUd7ZpRAzPha3OlsKGBRtdC3yL7Vvcz1ywhng7Crt7mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdMBd2H43zDDV; Thu, 17 Apr 2025 02:23: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 53H2NL3l011183; Thu, 17 Apr 2025 02:23:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H2NLTe011180; Thu, 17 Apr 2025 02:23:21 GMT (envelope-from git) Date: Thu, 17 Apr 2025 02:23:21 GMT Message-Id: <202504170223.53H2NLTe011180@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 04f7496f89e2 - stable/13 - libc: allow __cxa_atexit handlers to be added during __cxa_finalize List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 04f7496f89e28057079f3f0b1a02d7d9d874487f Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=04f7496f89e28057079f3f0b1a02d7d9d874487f commit 04f7496f89e28057079f3f0b1a02d7d9d874487f Author: Aurélien Croc de Suray AuthorDate: 2025-04-05 00:47:53 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:02:12 +0000 libc: allow __cxa_atexit handlers to be added during __cxa_finalize science/dlib-cpp reveals an interesting scenario that works fine on other platforms but not on FreeBSD; notably, it ends up creating a new global object from some destructor which is called during __cxa_finalize. This breaks when libdlib is dlopen()ed and then subsequently dlclose()ed, as we never end up invoking the created object's dtor until program exit when the shlib is already unmapped. Fix it by noting when we're in the middle of __cxa_finalize for a dso, and then restarting the search if __cxa_atexit() was called in the middle somewhere. We wait until we've processed the initial set before starting over and processing the newly added handlers as if it were a complete set of handlers added during runtime. The alternative is calling them as they're added to maintain a LIFO in terms of total ordering, but in theory a constructor could add another global object that also needs to be destroyed, and that object needs to be destroyed after the one that constructed it to avoid creating unexpected lifetime issues. This manifests in the pdlib PHP extension for dlib crashing, see [0]. [0] https://github.com/goodspb/pdlib/issues/39 PR: 285870 Reviewed by: kevans (also supplied commit message) (cherry picked from commit 23427c8e1fedb9fc68ad0bd27a59c7ffd2b3008c) --- lib/libc/stdlib/atexit.c | 61 ++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/lib/libc/stdlib/atexit.c b/lib/libc/stdlib/atexit.c index 6b63d9e728c4..5b39552821ed 100644 --- a/lib/libc/stdlib/atexit.c +++ b/lib/libc/stdlib/atexit.c @@ -39,6 +39,7 @@ static char sccsid[] = "@(#)atexit.c 8.2 (Berkeley) 7/3/94"; #include "namespace.h" #include #include +#include #include #include #include @@ -60,6 +61,8 @@ _Block_copy(void*); #define ATEXIT_FN_CXA 2 static pthread_mutex_t atexit_mutex = PTHREAD_MUTEX_INITIALIZER; +static void *current_finalize_dso = NULL; +static bool call_finalize_again = false; #define _MUTEX_LOCK(x) if (__isthreaded) _pthread_mutex_lock(x) #define _MUTEX_UNLOCK(x) if (__isthreaded) _pthread_mutex_unlock(x) @@ -119,6 +122,9 @@ atexit_register(struct atexit_fn *fptr) __atexit = p; } p->fns[p->ind++] = *fptr; + if (current_finalize_dso != NULL && + current_finalize_dso == fptr->fn_dso) + call_finalize_again = true; _MUTEX_UNLOCK(&atexit_mutex); return 0; } @@ -212,33 +218,38 @@ __cxa_finalize(void *dso) } _MUTEX_LOCK(&atexit_mutex); - for (p = __atexit; p; p = p->next) { - for (n = p->ind; --n >= 0;) { - if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) - continue; /* already been called */ - fn = p->fns[n]; - if (dso != NULL && dso != fn.fn_dso) { - /* wrong DSO ? */ - if (!has_phdr || global_exit || - !__elf_phdr_match_addr(&phdr_info, - fn.fn_ptr.cxa_func)) - continue; + current_finalize_dso = dso; + do { + call_finalize_again = false; + for (p = __atexit; p; p = p->next) { + for (n = p->ind; --n >= 0;) { + if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) + continue; /* already been called */ + fn = p->fns[n]; + if (dso != NULL && dso != fn.fn_dso) { + /* wrong DSO ? */ + if (!has_phdr || global_exit || + !__elf_phdr_match_addr(&phdr_info, + fn.fn_ptr.cxa_func)) + continue; + } + /* + Mark entry to indicate that this particular + handler has already been called. + */ + p->fns[n].fn_type = ATEXIT_FN_EMPTY; + _MUTEX_UNLOCK(&atexit_mutex); + + /* Call the function of correct type. */ + if (fn.fn_type == ATEXIT_FN_CXA) + fn.fn_ptr.cxa_func(fn.fn_arg); + else if (fn.fn_type == ATEXIT_FN_STD) + fn.fn_ptr.std_func(); + _MUTEX_LOCK(&atexit_mutex); } - /* - Mark entry to indicate that this particular handler - has already been called. - */ - p->fns[n].fn_type = ATEXIT_FN_EMPTY; - _MUTEX_UNLOCK(&atexit_mutex); - - /* Call the function of correct type. */ - if (fn.fn_type == ATEXIT_FN_CXA) - fn.fn_ptr.cxa_func(fn.fn_arg); - else if (fn.fn_type == ATEXIT_FN_STD) - fn.fn_ptr.std_func(); - _MUTEX_LOCK(&atexit_mutex); } - } + } while (call_finalize_again); + current_finalize_dso = NULL; _MUTEX_UNLOCK(&atexit_mutex); if (dso == NULL) _MUTEX_DESTROY(&atexit_mutex); From nobody Thu Apr 17 02:23:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdMBf6X97z5sMkH; Thu, 17 Apr 2025 02:23: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 4ZdMBf4NVGz3gqN; Thu, 17 Apr 2025 02:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744856602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN24Laeux1XEghDaMdWbVJSAjz05zLjZOnq80NT47Tk=; b=r45tYQHvLlyg5sRuYn26UZ4kI0IpRIM2wObYksitGjFnlcrqTF1agyi/yzVklTDDBfR0hU JVRNh6nfZ0WOQKNLvc93qx0i+gpqMpc/jpR8jU/a4XheTyuu+agUhwQxqJhKfkYuB4SouX 05MZURqsZPuzYrYpxif/QQfms20LrM2RA+btE62r883IRlBq0yB0xpQGQqcXcBR8bwgt8t KoSqjP/+cOYmYxbdb6xAAgHlW+Zi4ZTrgY//J8ZP7OryCOSMjUD2IitQA3QTzpFgsWC8tZ 7Dw6PlSXH1l/mtqiwWJt3GvmXmiOqS+HeQ7qkpb0/AWgguH9IXhSvPb4wSDQ8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744856602; a=rsa-sha256; cv=none; b=Gq0jn1B2X/Et3LHCfdQbfcSmqXvdf/UhNlfxzsAQU4+PaQEsLkJPMqgp5Xv5QRURwdvEv3 JAwzuZ3p6CXGTeP1SDeO/47dkobNdLm1leQ9LnxiRvzok/wZG5PLl78/QwUjCBfOuRcpiq Brvjo+PCV135J7jRjw9tjIRyYa/iYYfBJ9YJwilZ5uG7KlymmpFcGOTDWhmy3sVscov0k8 WxEzQLji9glMxW0B5qxT6hxBaqxmdcI39WVCIYLPh45HTxTq2W3ym0QxZ7SnFOJvRj46+B xaYZMhbuFBLzC4GS6pVGCP0vVbF0600KgQxRNPULI6Iy2e6o0RzeXG7MULZ++Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744856602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN24Laeux1XEghDaMdWbVJSAjz05zLjZOnq80NT47Tk=; b=NtVbEOdtTnkQiPPEzplXSer8VviyFty3/itPc+wmJtCTAoxQVSPiX6ExdgosZUNx1Q4JIK cyPg6X45Lsef1HzG0u1OFH667KvPPNsdL6PGrAKY42ODDUPf/xLvvK+i8dCEiD6ifiIL4t 7F1Vesvv40n+WCB6ZPW0KjrjmzTYo02usIWL6h6leShkreBJU6vkP/2eQv2+UN6Ltr0sCB 70ogqqOZ061eY2V3HkPLFk3ShXXsgY5DT8w6cw7hB+VIBNAKvA9oT0dkVtPxEwgmcrgDq3 OYbxR+HM4k+F8WxctTj8iyM58edFxmCZ5FDPViO0WQ6M5VKQOxJFpD4wh2NJdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdMBf3Dr9zDGL; Thu, 17 Apr 2025 02:23: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 53H2NMZX011216; Thu, 17 Apr 2025 02:23:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H2NMCt011213; Thu, 17 Apr 2025 02:23:22 GMT (envelope-from git) Date: Thu, 17 Apr 2025 02:23:22 GMT Message-Id: <202504170223.53H2NMCt011213@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: cc7bff26328d - stable/13 - libc: tests: add some tests for __cxa_atexit handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: cc7bff26328d81268a8fba620670428ea0867d81 Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cc7bff26328d81268a8fba620670428ea0867d81 commit cc7bff26328d81268a8fba620670428ea0867d81 Author: Kyle Evans AuthorDate: 2025-04-05 00:47:54 +0000 Commit: Kyle Evans CommitDate: 2025-04-17 01:02:43 +0000 libc: tests: add some tests for __cxa_atexit handling This adds a basic test that __cxa_atexit works, and also adds some tests for __cxa_atexit handlers registered in the middle of __cxa_finalize. PR: 285870 (cherry picked from commit ee9ce1078c596f5719f312feedd616ab0fb41dc9) --- lib/libc/tests/stdlib/Makefile | 2 + lib/libc/tests/stdlib/cxa_atexit_test.c | 132 +++++++++++++++++++++++++++ lib/libc/tests/stdlib/libatexit/Makefile | 11 +++ lib/libc/tests/stdlib/libatexit/libatexit.cc | 67 ++++++++++++++ 4 files changed, 212 insertions(+) diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile index aa2fa7683cb7..9df98bd4f435 100644 --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -1,6 +1,7 @@ .include +ATF_TESTS_C+= cxa_atexit_test ATF_TESTS_C+= dynthr_test ATF_TESTS_C+= heapsort_test ATF_TESTS_C+= mergesort_test @@ -77,5 +78,6 @@ LIBADD.${t}+= netbsd util LIBADD.strtod_test+= m SUBDIR+= dynthr_mod +SUBDIR+= libatexit .include diff --git a/lib/libc/tests/stdlib/cxa_atexit_test.c b/lib/libc/tests/stdlib/cxa_atexit_test.c new file mode 100644 index 000000000000..7e2cafbce850 --- /dev/null +++ b/lib/libc/tests/stdlib/cxa_atexit_test.c @@ -0,0 +1,132 @@ +/*- + * Copyright (c) 2025 Kyle Evans + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include +#include +#include + +#include + +#define ARBITRARY_EXIT_CODE 42 + +static char * +get_shlib(const char *srcdir) +{ + char *shlib; + + shlib = NULL; + if (asprintf(&shlib, "%s/libatexit.so", srcdir) < 0) + atf_tc_fail("failed to construct path to libatexit.so"); + return (shlib); +} + +static void +run_test(const atf_tc_t *tc, bool with_fatal_atexit, bool with_exit) +{ + pid_t p; + void (*set_fatal_atexit)(bool); + void (*set_exit_code)(int); + void *hdl; + char *shlib; + + shlib = get_shlib(atf_tc_get_config_var(tc, "srcdir")); + + hdl = dlopen(shlib, RTLD_LAZY); + ATF_REQUIRE_MSG(hdl != NULL, "dlopen: %s", dlerror()); + + free(shlib); + + if (with_fatal_atexit) { + set_fatal_atexit = dlsym(hdl, "set_fatal_atexit"); + ATF_REQUIRE_MSG(set_fatal_atexit != NULL, + "set_fatal_atexit: %s", dlerror()); + } + if (with_exit) { + set_exit_code = dlsym(hdl, "set_exit_code"); + ATF_REQUIRE_MSG(set_exit_code != NULL, "set_exit_code: %s", + dlerror()); + } + + p = atf_utils_fork(); + if (p == 0) { + /* + * Don't let the child clobber the results file; stderr/stdout + * have been replaced by atf_utils_fork() to capture it. We're + * intentionally using exit() instead of _exit() here to run + * __cxa_finalize at exit, otherwise we'd just leave it be. + */ + closefrom(3); + + if (with_fatal_atexit) + set_fatal_atexit(true); + if (with_exit) + set_exit_code(ARBITRARY_EXIT_CODE); + + dlclose(hdl); + + /* + * If the dtor was supposed to exit (most cases), then we should + * not have made it to this point. If it's not supposed to + * exit, then we just exit with success here because we might + * be expecting either a clean exit or a signal on our way out + * as the final __cxa_finalize tries to run a callback in the + * unloaded DSO. + */ + if (with_exit) + exit(1); + exit(0); + } + + dlclose(hdl); + atf_utils_wait(p, with_exit ? ARBITRARY_EXIT_CODE : 0, "", ""); +} + +ATF_TC_WITHOUT_HEAD(simple_cxa_atexit); +ATF_TC_BODY(simple_cxa_atexit, tc) +{ + /* + * This test exits in a global object's dtor so that we check for our + * dtor being run at dlclose() time. If it isn't, then the forked child + * will have a chance to exit(1) after dlclose() to raise a failure. + */ + run_test(tc, false, true); +} + +ATF_TC_WITHOUT_HEAD(late_cxa_atexit); +ATF_TC_BODY(late_cxa_atexit, tc) +{ + /* + * This test creates another global object during a __cxa_atexit handler + * invocation. It's been observed in the wild that we weren't executing + * it, then the DSO gets torn down and it was executed at application + * exit time instead. In the best case scenario we would crash if + * something else hadn't been mapped there. + */ + run_test(tc, true, false); +} + +ATF_TC_WITHOUT_HEAD(late_cxa_atexit_ran); +ATF_TC_BODY(late_cxa_atexit_ran, tc) +{ + /* + * This is a slight variation of the previous test where we trigger an + * exit() in our late-registered __cxa_atexit handler so that we can + * ensure it was ran *before* dlclose() finished and not through some + * weird chain of events afterwards. + */ + run_test(tc, true, true); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, simple_cxa_atexit); + ATF_TP_ADD_TC(tp, late_cxa_atexit); + ATF_TP_ADD_TC(tp, late_cxa_atexit_ran); + return (atf_no_error()); +} diff --git a/lib/libc/tests/stdlib/libatexit/Makefile b/lib/libc/tests/stdlib/libatexit/Makefile new file mode 100644 index 000000000000..9ba04c77af62 --- /dev/null +++ b/lib/libc/tests/stdlib/libatexit/Makefile @@ -0,0 +1,11 @@ +SHLIB_CXX= libatexit +SHLIB_NAME= libatexit.so +SHLIB_MAJOR= 1 +SHLIBDIR= ${TESTSDIR} +PACKAGE= tests +SRCS= libatexit.cc + +TESTSDIR:= ${TESTSBASE}/${RELDIR:C/libc\/tests/libc/:H} + + +.include diff --git a/lib/libc/tests/stdlib/libatexit/libatexit.cc b/lib/libc/tests/stdlib/libatexit/libatexit.cc new file mode 100644 index 000000000000..bb286c97e421 --- /dev/null +++ b/lib/libc/tests/stdlib/libatexit/libatexit.cc @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2025 Kyle Evans + * + * SPDX-License-Identifier: BSD-2-Clause + * + */ + +#include + +static int exit_code = -1; +static bool fatal_atexit; + +extern "C" { + void set_fatal_atexit(bool); + void set_exit_code(int); +} + +void +set_fatal_atexit(bool fexit) +{ + fatal_atexit = fexit; +} + +void +set_exit_code(int code) +{ + exit_code = code; +} + +struct other_object { + ~other_object() { + + /* + * In previous versions of our __cxa_atexit handling, we would + * never actually execute this handler because it's added during + * ~object() below; __cxa_finalize would never revisit it. We + * will allow the caller to configure us to exit with a certain + * exit code so that it can run us twice: once to ensure we + * don't crash at the end, and again to make sure the handler + * actually ran. + */ + if (exit_code != -1) + _exit(exit_code); + } +}; + +void +create_staticobj() +{ + static other_object obj; +} + +struct object { + ~object() { + /* + * If we're doing the fatal_atexit behavior (i.e., create an + * object that will add its own dtor for __cxa_finalize), then + * we don't exit here. + */ + if (fatal_atexit) + create_staticobj(); + else if (exit_code != -1) + _exit(exit_code); + } +}; + +static object obj; From nobody Thu Apr 17 08:19:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdW5l65p5z5sp0R; Thu, 17 Apr 2025 08:19: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 4ZdW5l5MLBz3W0D; Thu, 17 Apr 2025 08:19:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744877979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SEBPuX+mHCWtYYmdqCnMOeQueNm30gwP2PJufkVEzU=; b=Z18rVbkh8neEv/kUJvTgM6IUV1IAcfbG2+jmSRIrvgkGtRajRECy+M7Hk6BtOgJuyHipwy +yeA9MzPwK8DDrzqMWwJCDVafNPcu7S7lZI4WZeHG8xOlwYZa6ru1/jL/66JCus4cSAUiy A0sIuobN1ADqlb+WUtHi4saUjHN4/mg50aOGE92k+lyTlew9aTjaEsezrFhSdSbZBK1yjK Tw8J44EaOxR/XDNdE6pCuVPjS6FHQKUuhHIc+sU7AUaZmD1IbOxT+qsEHRwRZrXke38XWv z/SQzgJih+3v3YJq/e7dPKocXQyDpUUwZxrnwRzu4ocOv4cGixeb6iAPfZ/e/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744877979; a=rsa-sha256; cv=none; b=VBlCoUCuJBRZ9E21CFcxc5bd+afVT50BtktOukIaXVYi/vMejYQb994gPyZZ7g4iGbJh2K YaXNSxgZmkWXAFbHHQBhFL8GiNNIkIrJVIQjKZjrKu2oBzNSYrYerf5Gme+zYMKphhm5XK K3VGd0TyjiWfksDJNr09N8uFvOHYnwerP7fwhmPemTnpYWH45GpPY8VkjLlLmomsIeHyFy dhMNCFs0myVLFQXuVjjaZJGf0wq9anFLj4AhIYYj7aAsi8BePvZ4w415M2RH9CZPMv2jHy OFBLlXP7ECU6tL7U7zldrYP/rku+z2AayVsmr8SCD4fTVRXLJR5rz+iiv+OKyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744877979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SEBPuX+mHCWtYYmdqCnMOeQueNm30gwP2PJufkVEzU=; b=LTNjpNQoUvuHkw558LadIN+D/EKtRMA2cInMWaCWKNp8IxHogy3CXNspR/W38PrsK8y3zR Jw/Xwq9L4sVX8srWh3+UnVXFyDtLmdZs7BXBUDa/zB8CkwE/KXJmK3fOkHYeDbKPjHa0Bp wncQuBNnj1PghlWV8Hvwb032EdFCpQsa1Dpw+ucDokdF1ayq0huh1+JGs6evJnnPfXNOo1 +5l28CQWkd94jvc8VCVvzaIaa2He2GAHfkaSTKouwjldOmZKnug8qJ2MGfazcVTZ/2MiH6 0VNtanQpMPikASLpOIenazqijvr7KGP+yxMJZxNeyO4Ii4FP12lUnkbzFYChjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdW5l4gbrzgvN; Thu, 17 Apr 2025 08:19: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 53H8Jdhl067714; Thu, 17 Apr 2025 08:19:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H8JdGv067710; Thu, 17 Apr 2025 08:19:39 GMT (envelope-from git) Date: Thu, 17 Apr 2025 08:19:39 GMT Message-Id: <202504170819.53H8JdGv067710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 8e727fb47afa - main - loader: Add loader_autoboot_show List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e727fb47afaaa61a39a24d24d58ff0061fe87d9 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=8e727fb47afaaa61a39a24d24d58ff0061fe87d9 commit 8e727fb47afaaa61a39a24d24d58ff0061fe87d9 Author: Emmanuel Vadot AuthorDate: 2025-04-14 06:37:22 +0000 Commit: Emmanuel Vadot CommitDate: 2025-04-17 08:18:20 +0000 loader: Add loader_autoboot_show It's used to control if the autoboot part of loader is displayed or not. Differential Revision: https://reviews.freebsd.org/D49819 Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG --- stand/defaults/loader.conf.5 | 4 ++++ stand/lua/menu.lua | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/stand/defaults/loader.conf.5 b/stand/defaults/loader.conf.5 index 5ef54ee2c5d0..a364030b8814 100644 --- a/stand/defaults/loader.conf.5 +++ b/stand/defaults/loader.conf.5 @@ -410,6 +410,10 @@ be displayed. If set to .Dq YES , the beastie boot menu will be skipped. +.It Va loader_autoboot_show Pq Dq Li YES +If set to +.Dq NO , +the autoboot menu will not be displayed .It Va loader_logo Pq Dq Li orbbw Selects a desired logo in the beastie boot menu. Possible values are: diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index 7c36b6c8d3c8..fb0645eb46ba 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -541,6 +541,7 @@ end function menu.autoboot(delay) local x = loader.getenv("loader_menu_timeout_x") or 4 local y = loader.getenv("loader_menu_timeout_y") or 24 + local autoboot_show = loader.getenv("loader_autoboot_show") or "yes" local endtime = loader.time() + delay local time local last @@ -548,10 +549,12 @@ function menu.autoboot(delay) time = endtime - loader.time() if last == nil or last ~= time then last = time - screen.setcursor(x, y) - printc("Autoboot in " .. time .. - " seconds. [Space] to pause ") - screen.defcursor() + if autoboot_show == "yes" then + screen.setcursor(x, y) + printc("Autoboot in " .. time .. + " seconds. [Space] to pause ") + screen.defcursor() + end end if io.ischar() then local ch = io.getchar() From nobody Thu Apr 17 08:19:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdW5n1T32z5sp2L; Thu, 17 Apr 2025 08:19: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 4ZdW5m57SSz3W3s; Thu, 17 Apr 2025 08:19:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744877980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/K3ZNI8qO8DJOZpF2an0IclTuOdxdmIeFXhQpcaX0e0=; b=fkz+slam6f0rU1G0kOnMDGFXMzjzwXvkYNl7PUbC171OOmkT6cSB9S8J5c0/a46px7ehHP Mo7Mu4WNBQOayFb6gj9imS7KRUr+W9QkHYxLnvhCnyfrKTtoUuLbmIq+2a4129dNEozqP2 vUy7CETkMwtJgBAlYv0gkBP/DPRukPoJKfXNDPCrzb+kOdmoLNYo9064F2id2xYFoEt6Zc frNlkH4sPF/HqKGtJBjJnrBHM7GDy/oI1ykyrXp4AWVP7KceH9RnuS0NNfFlUfQQb/MZMh 1whs3vIcM/c51PNe5bZY3L+FzDnZiHQoz5qKYE/8CXEUtC7V+gWssRUuwExMHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744877980; a=rsa-sha256; cv=none; b=ei+O9gFly9HtUkPD/nkAD8wPEuTUwhSFGdq3Dk4ptIc/tX+tJTCfl/F+bpEk9JzypVrmfH zm+0NYWp+bdMQSrgLEi56zJXF2GFZJBTP3bbDr4z22Ajyae9wmX+j73vXOdtiM3652QWmD y/LzxIbeTBhKaibRmKMdiPZyYg23EEyCdjKDnsSH+JQs1YNFUUO6o6utKd5oZWPTiuupnd dvVdN+eO8nqQ/aa5/JtKblviFnIPzKcrolcTnES/aHxjX4Et61nC8EiCxtV2i5wXpekvPC 5/P2mpn8zMr2KeeyYFuP60pHHJO8ytEP9LjQv1XScZgCJg+qleoKT5JTXit6Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744877980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/K3ZNI8qO8DJOZpF2an0IclTuOdxdmIeFXhQpcaX0e0=; b=DWr6JWpMLINV+T0XsxNus3iEdn2n77UAH0h9luFRS3apYP7SeZsCdNXxhlWGD65X6eTbjd /Z21/S/YcHJ1hzrz5EEj6zE5eSCXl9edh3Yb7tRYs2Tlw2mKLQvM5799+H+mIgnO8JP1n/ HnknBjuHAwYVXVw2iZC5D88x6y12LQ4qznOvTdfK6NrR0VypTU+dAu/uQLXCGkoP4CQ0bK LX6br0wCFctCtLSqVl/649WxE+yB5k7fs5Eq8JyfD6+JTbELS76ZPNCIiFn3kzfNDHxqwF 6aH9PhNHFDOy98sTkHraIrhTs4p5gTtlTuP0pjSPCi2gZx4nVUQlhZk4OhoANw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdW5m4hm9zgvP; Thu, 17 Apr 2025 08:19: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 53H8Jete067758; Thu, 17 Apr 2025 08:19:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53H8Jexm067755; Thu, 17 Apr 2025 08:19:40 GMT (envelope-from git) Date: Thu, 17 Apr 2025 08:19:40 GMT Message-Id: <202504170819.53H8Jexm067755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: a962800a09a4 - main - loader: Add loader_menu List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a962800a09a45b8f702ebd1a06b8f20bc84e97b1 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=a962800a09a45b8f702ebd1a06b8f20bc84e97b1 commit a962800a09a45b8f702ebd1a06b8f20bc84e97b1 Author: Emmanuel Vadot AuthorDate: 2025-04-14 06:38:28 +0000 Commit: Emmanuel Vadot CommitDate: 2025-04-17 08:18:48 +0000 loader: Add loader_menu If set to 'none' then the menu isn't displayed. The 'brand' and 'logo' part are stil displayed. Differential Revision: https://reviews.freebsd.org/D49820 Reviewed by: imp, kevans Sponsored by: Beckhoff Automation GmbH & Co. KG --- stand/defaults/loader.conf.5 | 4 ++++ stand/lua/drawer.lua | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/stand/defaults/loader.conf.5 b/stand/defaults/loader.conf.5 index a364030b8814..807d8ae62e9a 100644 --- a/stand/defaults/loader.conf.5 +++ b/stand/defaults/loader.conf.5 @@ -424,6 +424,10 @@ Possible values are: .Dq Li beastie , and .Dq Li none . +.It Va loader_menu +If set to +.Dq NONE , +the menu will not be displayed .It Va loader_color If set to .Dq NO , diff --git a/stand/lua/drawer.lua b/stand/lua/drawer.lua index 1bf741b2373e..ee33ae753916 100644 --- a/stand/lua/drawer.lua +++ b/stand/lua/drawer.lua @@ -166,6 +166,10 @@ local function drawmenu(menudef) local x = menu_position.x local y = menu_position.y + if string.lower(loader.getenv("loader_menu") or "") == "none" then + return + end + x = x + shift.x y = y + shift.y @@ -276,6 +280,10 @@ local function drawbox() local menu_header_align = loader.getenv("loader_menu_title_align") local menu_header_x + if string.lower(loader.getenv("loader_menu") or "") == "none" then + return + end + x = x + shift.x y = y + shift.y From nobody Thu Apr 17 14:59:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdgzM3TWnz5tHCG; Thu, 17 Apr 2025 14:59: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 4ZdgzM2KMxz3qSL; Thu, 17 Apr 2025 14:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744901983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ubik+UOPsLv/EDcbtd6C0uK1lx7urpcUKgptUQQA6kI=; b=Nof3OIkwVcNpXvIeAxbbk3CcSs3fyWGwnBAeqFj/3ZpoDK5rDDSBCsbGaYodwJKSzvvC1y S/HpXb74GK6Py40Lh5tYYM2/FzMYkej9TrAUm66mmxo/nJBU7k+ZIZryZLDO9TW9p0gz3m xYpypW0C/yEWAaATlQq6jAXVauDPfUWGekS6fYt73d59wawtYsAklpuuORWd+zi0auqX+m v/67AAx2+ZKi3Z5HA1GuBOsEhG1D5pCeFWCNcA4wYZQqvoyOemc8/krmJR/Qg6n53BwNhJ xoL3jVgLK8FjkV8gL9aqwHAJbSTG105vBfFR5v8PwiQb+IwZSf0XcVoDvS7j9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744901983; a=rsa-sha256; cv=none; b=iGIdIYh81k8kzcEXhoUnfJbKKqVkwEU3cYIG/UuNp5o/ZRpheRhc+JOwf3YRyd/0AC1y+k 8jRQidUVngHpC35BlNIwJU/zLe34/5XRHrVQJOtBaoGDYZb/CkLMc+m7Yph2gwm7k6/Nne 5BQgno8wFbzgliZzdB6J9wqDzLMcUkZkSPiu9pwaDHhymdFj1bps6w+z3KFTui9GGxk2/b EHlxFZRou1EJpNkKGwyr8BvDlmgmFTCJV09vUQDKqxxgfAM/eDgzlxUIshY5BS/wYR6zOg kF7aRbwZwSFcpN8LzHwXcDDlySxlKFJbVKVMmTjCN2vwxLYNqzdLsqS4CPtqmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744901983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ubik+UOPsLv/EDcbtd6C0uK1lx7urpcUKgptUQQA6kI=; b=t2m2aRz0RRC2ma21JmcrtVmJqHRvkjRuXdBindaTV23KgHT01ZHO6w0S0JGPhhFU0JHtkg JdEup0mcB+HZvvrzQ4O1WN0GiPO07M5axmSzxspRhe4hArTNzegq7U4gbrjk7c0Vg5eKmY SJvBrCYJL5+sh0xcTz6XCLFfaSE66fqlIqmCKIGuJyFdHU5Rjn5n3YcgAppv60PD7bG6nx HXJXdg/aICJ1Q2ViUjRQoFhM64utd6ALhqg1vnS8JGkvntS27V523yuZ8qmRE9fQGxuooI u73DivKJFa96ijV7XfRrbpv77tXk/KWqv9eZENA9VK92cjIjD6s/sAVRo6mjkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdgzM0b3Zzt8H; Thu, 17 Apr 2025 14:59: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 53HExgun017467; Thu, 17 Apr 2025 14:59:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HExgdA017464; Thu, 17 Apr 2025 14:59:42 GMT (envelope-from git) Date: Thu, 17 Apr 2025 14:59:42 GMT Message-Id: <202504171459.53HExgdA017464@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Reifenberger Subject: git: 6ebab5e6bbec - main - Use ln -sf otherwise nanobsd.sh -wkWK fails since the etc link exists already. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ebab5e6bbecdc70fb85d81f046267423f5a67b8 Auto-Submitted: auto-generated The branch main has been updated by mr: URL: https://cgit.FreeBSD.org/src/commit/?id=6ebab5e6bbecdc70fb85d81f046267423f5a67b8 commit 6ebab5e6bbecdc70fb85d81f046267423f5a67b8 Author: Michael Reifenberger AuthorDate: 2025-04-17 11:03:54 +0000 Commit: Michael Reifenberger CommitDate: 2025-04-17 14:59:15 +0000 Use ln -sf otherwise nanobsd.sh -wkWK fails since the etc link exists already. Before creating the nanobsd image nanobsd.sh creates a soft link for usr/local/etc in the function setup_nanobsd() This fails if the link already exists (when using nanobsd.sh -wkWK) Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49873 --- tools/tools/nanobsd/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 4ba35ffeb04d..65bace957f71 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -538,7 +538,7 @@ setup_nanobsd ( ) ( # are installed by this point, but are later in the process, # the symlink not being here causes problems. It never hurts # to have the symlink in error though. - ln -s ../../etc/local usr/local/etc + ln -sf ../../etc/local usr/local/etc for d in var etc do From nobody Thu Apr 17 15:20:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdhQn2LW9z5tJDk; Thu, 17 Apr 2025 15:20: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 4ZdhQn1LHBz3w26; Thu, 17 Apr 2025 15:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744903201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQYTDKDIRG5BdtAalkz75shN0M/mMR5zEtGu1p4OKos=; b=CgIplnHItjYUqE21veHZUsXOoK/DziLZNtt/Rz8XCpyI8zM8Mh38ne+BhVKZ7mZFXEaDt9 oWcof+a94NHzi67eBHnaslC54K+x2AQIKZLv/pZg2IxMS1JmqvkkaWu7Spm3VKBSTDW0CP yOr4y04J89xaPzMe1ZCy4+3eaPr0edO+KWwc+ZVo+LN3HlHuUyfJaoF+9sLpH+20xy6xbf PJWDEVXGfKNAo55nN2XrDctf0D1cc6d1X0F6NplOB2CoPkpOhDfizkFKHjt0OXIHziNKCj ShQ6QOos8GIsigG7hoCBC90wx7wh91q01u04+1hGBcGbME5zgxrUG8qMnEcQ2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744903201; a=rsa-sha256; cv=none; b=mlbesNOKleQB4k+qEtigCnZc2AYXu4FRhfw68P3Nhy8QER4oFtQ+MTqnUaPNZqmMptC1k7 wYNgezRx2eA7lXxPZZNsa4wGSNT8kiv6zSenyNS+li8oQFqVeCUocuYiAgK6mv6iIcLDSw 7Xoaf89SOfaCivT8WcgSs91zp7KTLjsCucWVKhuA+7U+E8W3Pj/ebs9VCnwpZfVtJRTJqN m6Bty0kvlnnnDUv6KD05WcZo1KT/4G2BQl4J+Ud6zG6Xh5wuvn+OGQHSCraXcUu0jBuS0q rVYwZc1xdbfy3ANgpA3x0wFCnQwaASkyGHLqN6Y41ufy6q5ts6V3vqksDSX2Qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744903201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQYTDKDIRG5BdtAalkz75shN0M/mMR5zEtGu1p4OKos=; b=upqfjjhGb28m6FuQOxiXbUARJY4WPlEzWnG+EPcAGKyspXHLmuPkOox24u0b30jqWPOYYW 6JmNiV9hfRXSuy+eFxMxd1tLayaRdcHUE4rovogjfXQKEzThbQ6vYV5JI7fCNtuXC/dr1h AgsUZKtuu3olsv0MbrifVZv6czjkDhsBqVgahwJi4Sx5gogGjZ8qlOARV+6fN/rmW8S+qr TKZy3pbtqpllAeyyQTnvVqdHHuwDE/D0JwmTZQnfyvf3vWgsqL7zLncVVpFGDoISaqFqeU fUqO4Wou2tWAafzTbJuxEJg9xQ5MDk/BXnitSCe4y38J4R4bjIlijTD7x/jUdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdhQn0Xl3ztGH; Thu, 17 Apr 2025 15:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HFK0j4057408; Thu, 17 Apr 2025 15:20:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HFK0o7057403; Thu, 17 Apr 2025 15:20:00 GMT (envelope-from git) Date: Thu, 17 Apr 2025 15:20:00 GMT Message-Id: <202504171520.53HFK0o7057403@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: 3b2f0bfc3516 - main - Add POSIX psiginfo(3) call List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 3b2f0bfc35167724a41c969c1823be6b1ede15ab Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3b2f0bfc35167724a41c969c1823be6b1ede15ab commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab Author: Ricardo Branco AuthorDate: 2025-04-16 07:52:13 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-17 15:19:44 +0000 Add POSIX psiginfo(3) call Signed-off-by: Ricardo Branco PR: 286133 MFC after: 1 week Github PR: https://github.com/freebsd/freebsd-src/pull/1666 --- include/signal.h | 1 + lib/libc/gen/Makefile.inc | 3 ++- lib/libc/gen/Symbol.map | 1 + lib/libc/gen/psignal.3 | 22 +++++++++++++++++++++- lib/libc/gen/psignal.c | 6 ++++++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/include/signal.h b/include/signal.h index 388e164d7943..c1d341f317f4 100644 --- a/include/signal.h +++ b/include/signal.h @@ -115,6 +115,7 @@ int siginterrupt(int, int); #endif #if __POSIX_VISIBLE >= 200809 +void psiginfo(const siginfo_t *, const char *); void psignal(int, const char *); #endif diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 9b92e52cdfad..a8308a057b05 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -465,7 +465,8 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \ posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ posix_spawnattr_init.3 posix_spawnattr_destroy.3 -MLINKS+=psignal.3 strsignal.3 \ +MLINKS+=psignal.3 psiginfo.3 \ + psignal.3 strsignal.3 \ psignal.3 sys_siglist.3 \ psignal.3 sys_signame.3 MLINKS+=pwcache.3 gid_from_group.3 \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index ca3974e6b747..21b66acba213 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -458,6 +458,7 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; + psiginfo; rtld_get_var; rtld_set_var; }; diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3 index cd3cef0b44a9..605c3cf2d8fe 100644 --- a/lib/libc/gen/psignal.3 +++ b/lib/libc/gen/psignal.3 @@ -25,11 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 30, 2016 +.Dd Apr 16, 2025 .Dt PSIGNAL 3 .Os .Sh NAME .Nm psignal , +.Nm psiginfo , .Nm strsignal , .Nm sys_siglist , .Nm sys_signame @@ -40,6 +41,8 @@ .In signal.h .Ft void .Fn psignal "int sig" "const char *s" +.Ft void +.Fn psiginfo "const siginfo_t *si" "const char *s" .Vt extern const char * const sys_siglist[] ; .Vt extern const char * const sys_signame[] ; .In string.h @@ -79,6 +82,16 @@ the string .Dq "Unknown signal" is produced. .Pp +The +.Fn psiginfo +function is similar to +.Fn psignal , +except that the signal number information is taken from the +.Fa si +argument which is a +.Vt siginfo_t +structure. +.Pp The message strings can be accessed directly through the external array .Va sys_siglist , @@ -104,3 +117,10 @@ The .Fn psignal function appeared in .Bx 4.2 . +The +.Fn psiginfo +function appeared in +.Fx 15.0 , +.Nx 6.0 , +and +.Dx 4.1 . diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c index ab044f683d86..291a6a9337a0 100644 --- a/lib/libc/gen/psignal.c +++ b/lib/libc/gen/psignal.c @@ -55,3 +55,9 @@ psignal(int sig, const char *s) (void)_write(STDERR_FILENO, c, strlen(c)); (void)_write(STDERR_FILENO, "\n", 1); } + +void +psiginfo(const siginfo_t *si, const char *s) +{ + psignal(si->si_signo, s); +} From nobody Thu Apr 17 15:27:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdhbh4sB0z5tJRv for ; Thu, 17 Apr 2025 15:27:44 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) (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 4Zdhbh1j4fz40Sg for ; Thu, 17 Apr 2025 15:27:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-2ff799d99dcso912606a91.1 for ; Thu, 17 Apr 2025 08:27:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1744903657; x=1745508457; 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=TRDm9BVWr8V/9AW9prak5vPVkCxLZANNq2wli1X0sdw=; b=lzzpFofDxh9bfcekYmDSB+jImif/g+tys/oC825dtvrGL6oocmJJPLtjd4Jg1SrH4r 6Zb/M8xjn0oQFTFMvoRc3AZkD0/g08OWzuDfEWfNFAJH/uQ9/Y23tT+aC1X2gX+DgDle j0ZPZnSxyyIHMzoRzjdy+yBJl4JO64PcJ2oTL/1d9b1yEbis/Owc2gw9gcHhXXjHU6/g bnS/UyxQPXC6njXB8WLcjCP1H75n9sL2YKqTh/X1j/byniClJi9SnA4yMIY6MT8x4h/W 6ae5YW88KxP6FDKcUbxUCKRolu0FNpNFIEZJHjd63/J6vJxeNP46IyErhTxDvQYOhhl0 GKww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744903657; x=1745508457; 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=TRDm9BVWr8V/9AW9prak5vPVkCxLZANNq2wli1X0sdw=; b=WU0dNTDc2JR1T6u9ONLgESThebeJ42JsuNzyun3Iv3Oor0HAmgve97Ao+/RPLbWfW1 Z1n5d1N1aR1hAYn1f5C9Lz1HLXZrZEsxPz2SZ88lcXDIjpslNR5ALcon0LUryKx+gRGj fj67yKX78kl4oC7oWKZ11gijmU+n4AFJCeVNucot+p8fyTZAVjil47iPm6G5ZKqbp0g5 XI3fG2EA2OYr5za7casKJqm5b+Xk5/ku+VWCP4aHKOKGwSKwglgk4i17n1oJ61e2rk6f Q9roXjASZPEFpj6o3htzGmy5VCY3h+cNXPNe1n4rL7BZIWwAqbnLwVKZ4+EtEUPNaj/T xsFg== X-Forwarded-Encrypted: i=1; AJvYcCUgjNjJ2G2VWrDui/GWMnVzCiijE2Skf54K/tOeIDKNNkDcmpXSdHX/PKcOk+fwZ9Gv9GtqdJoi9SitxVWT4weTYrRu@freebsd.org X-Gm-Message-State: AOJu0YzwE8qzceJyzuCOVEATjNdn44pT6KTyg/QxQ7oqyXPGXURPSUwD pVojOzbFqARyI1mthC/kDxLJnDhPUQLZ4xvi7fc3qBMvVnCN8OVQmbCDE1ODLzbo0VhsLPAaTG8 Vp4shePeGybyI0t11kZJU5ejxyZRDZfn01wWQMQ== X-Gm-Gg: ASbGnctHWnkkTGpC8Mw9K4HLD4dYDo+qK60MUOnc3rDORL8qI1qPU63toWqd0lffk2+ FOz/UbDKXzu+pOhaBnYNaozeX4CU5B/5BLSn+903e990v+HWTt6MSVTCJJ8OdO6UhvPH+G4geyL ib1sIsm9gI91qd3v1quK8VrrJ4fzjMahn8QSV+upLPplu5HrTQB+I= X-Google-Smtp-Source: AGHT+IGw5VlWSbtW/ROpZSeOoFR5FnQXE+1ecJ+dMCFnh7qlYONYldlb1sukyN3kX4skLJWMPwhKC/D75PMxDuSCa+w= X-Received: by 2002:a17:90b:574c:b0:2ee:edae:75e with SMTP id 98e67ed59e1d1-30863f1c831mr8921011a91.13.1744903657525; Thu, 17 Apr 2025 08:27:37 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202504171520.53HFK0o7057403@gitrepo.freebsd.org> In-Reply-To: <202504171520.53HFK0o7057403@gitrepo.freebsd.org> From: Warner Losh Date: Thu, 17 Apr 2025 09:27:26 -0600 X-Gm-Features: ATxdqUH-DY75TpsFNqO6tkf-gmu7msKFmVm1K7P39-tUFJbLeg8a_Eb-tcpb_nU Message-ID: Subject: Re: git: 3b2f0bfc3516 - main - Add POSIX psiginfo(3) call To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-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: 4Zdhbh1j4fz40Sg X-Spamd-Bar: ---- On Thu, Apr 17, 2025 at 9:20=E2=80=AFAM Konstantin Belousov wrote: > > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D3b2f0bfc35167724a41c969c18= 23be6b1ede15ab > > commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab > Author: Ricardo Branco > AuthorDate: 2025-04-16 07:52:13 +0000 > Commit: Konstantin Belousov > CommitDate: 2025-04-17 15:19:44 +0000 > > Add POSIX psiginfo(3) call > > Signed-off-by: Ricardo Branco > PR: 286133 > MFC after: 1 week > Github PR: https://github.com/freebsd/freebsd-src/pull/1666 We've been using 'Pull Request: ' for this trailer. Warner > --- > include/signal.h | 1 + > lib/libc/gen/Makefile.inc | 3 ++- > lib/libc/gen/Symbol.map | 1 + > lib/libc/gen/psignal.3 | 22 +++++++++++++++++++++- > lib/libc/gen/psignal.c | 6 ++++++ > 5 files changed, 31 insertions(+), 2 deletions(-) > > diff --git a/include/signal.h b/include/signal.h > index 388e164d7943..c1d341f317f4 100644 > --- a/include/signal.h > +++ b/include/signal.h > @@ -115,6 +115,7 @@ int siginterrupt(int, int); > #endif > > #if __POSIX_VISIBLE >=3D 200809 > +void psiginfo(const siginfo_t *, const char *); > void psignal(int, const char *); > #endif > > diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc > index 9b92e52cdfad..a8308a057b05 100644 > --- a/lib/libc/gen/Makefile.inc > +++ b/lib/libc/gen/Makefile.inc > @@ -465,7 +465,8 @@ MLINKS+=3Dposix_spawn.3 posix_spawnp.3 \ > posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ > posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ > posix_spawnattr_init.3 posix_spawnattr_destroy.3 > -MLINKS+=3Dpsignal.3 strsignal.3 \ > +MLINKS+=3Dpsignal.3 psiginfo.3 \ > + psignal.3 strsignal.3 \ > psignal.3 sys_siglist.3 \ > psignal.3 sys_signame.3 > MLINKS+=3Dpwcache.3 gid_from_group.3 \ > diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map > index ca3974e6b747..21b66acba213 100644 > --- a/lib/libc/gen/Symbol.map > +++ b/lib/libc/gen/Symbol.map > @@ -458,6 +458,7 @@ FBSD_1.8 { > aio_read2; > aio_write2; > execvpe; > + psiginfo; > rtld_get_var; > rtld_set_var; > }; > diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3 > index cd3cef0b44a9..605c3cf2d8fe 100644 > --- a/lib/libc/gen/psignal.3 > +++ b/lib/libc/gen/psignal.3 > @@ -25,11 +25,12 @@ > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY = OF > .\" SUCH DAMAGE. > .\" > -.Dd May 30, 2016 > +.Dd Apr 16, 2025 > .Dt PSIGNAL 3 > .Os > .Sh NAME > .Nm psignal , > +.Nm psiginfo , > .Nm strsignal , > .Nm sys_siglist , > .Nm sys_signame > @@ -40,6 +41,8 @@ > .In signal.h > .Ft void > .Fn psignal "int sig" "const char *s" > +.Ft void > +.Fn psiginfo "const siginfo_t *si" "const char *s" > .Vt extern const char * const sys_siglist[] ; > .Vt extern const char * const sys_signame[] ; > .In string.h > @@ -79,6 +82,16 @@ the string > .Dq "Unknown signal" > is produced. > .Pp > +The > +.Fn psiginfo > +function is similar to > +.Fn psignal , > +except that the signal number information is taken from the > +.Fa si > +argument which is a > +.Vt siginfo_t > +structure. > +.Pp > The message strings can be accessed directly > through the external array > .Va sys_siglist , > @@ -104,3 +117,10 @@ The > .Fn psignal > function appeared in > .Bx 4.2 . > +The > +.Fn psiginfo > +function appeared in > +.Fx 15.0 , > +.Nx 6.0 , > +and > +.Dx 4.1 . > diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c > index ab044f683d86..291a6a9337a0 100644 > --- a/lib/libc/gen/psignal.c > +++ b/lib/libc/gen/psignal.c > @@ -55,3 +55,9 @@ psignal(int sig, const char *s) > (void)_write(STDERR_FILENO, c, strlen(c)); > (void)_write(STDERR_FILENO, "\n", 1); > } > + > +void > +psiginfo(const siginfo_t *si, const char *s) > +{ > + psignal(si->si_signo, s); > +} From nobody Thu Apr 17 15:54:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdjBF4ZH9z5tL9B; Thu, 17 Apr 2025 15:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdjBF3xdhz45pf; Thu, 17 Apr 2025 15:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744905253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=97tg/LNLYGiQq2EJqn6tM5p84muc3A06buBuEDbycvo=; b=C5oJ88hEVibNQM8iJKfXILPfHzSrHOYvyKPEEht8jxNIZvDk6ONEB8N3dlu+Nw4+XNM1WD huShWuJ8CJFZFMuCbFsqDipoS+TE1yPg6qz/Q2yFOl9+fg30giYl+Jdb0Ih4ZgedGKSlqL 1QfXN+6pyFfrKpB5ZZdQACQb5v5ZbaeHH3qUQwaNBZBKhAiZxoi6TBlPXYHksqqE9W/N3X AftetLSjYaL2VFG2d/qnLeSyqzPB/oiHFhzkbr4O+SMVAj7SWTlc2A/8rq1ZwZvRDQSz8M B7DDa4800I4VnHX4XSMS1HejsXMZ5CZVeDGznEkqeEU8sOZmIpYJrdpkfWSJ+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744905253; a=rsa-sha256; cv=none; b=XpHyKKCyN/tHPFivY1Gs8jHsWm3vE5GWSqr1cxgKGV5s2AtKHYZJT0hWBzAyRZpciUKjBi KHlpqzxt90d7A5EA2b1dy9WgB5O7Uomd/FwvLL7LfsxSrZBY6Ki6Y8XxQw6Ez8GAijOPLa Q84rvwioqZVcZ3YoKzedT6JwMOAWNg9Mw4z5mRw8SxQ+v2duG9cxo6o353T7xvpbQETUrd bZ+jUZhWRFOBt1Q/J5I0i/voy2WrbhKm2iNLM9pRRNnAwFeuLqZT5mx3i/Q5a6y3iUBuDE do8f795P/G7CA7U94C3oxRkHpOXYwBH8LSOvO5RBaYkxA1k+953cP/91G/4BJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744905253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=97tg/LNLYGiQq2EJqn6tM5p84muc3A06buBuEDbycvo=; b=iIJYQe2TNYcao2des5JFwuQjTl2U0xyP6Q22IR3QzkZaTl2zu3hax3Fuy23vri7Yontz4K X5xDjkm8m5f867jpI1+3L35fNkUItbYaaGPUt8wcSjS/oay/232mbKLoS/haIkwZxuLg3Y Ctpyeolomtp6+1gGUfgvbl9O935VN2lyHmixxFK6iFwEqhAz5thIqeP8EV7VbqOR6J7KgK yWkkbbC+Ut/n6Eg1exU8obIIZnAIeLJ3vxhRpdD/Og3snG8UgIqShyrCxU7/hS+rOE+C7Z GzVVgyMMk0K9ve/qY4pZ8DguEzKLFEgX6zVx+UUeleP5aONP28PgTRHFlllKDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdjBF3TxTztmm; Thu, 17 Apr 2025 15:54: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 53HFsDL8028477; Thu, 17 Apr 2025 15:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HFsDlN028474; Thu, 17 Apr 2025 15:54:13 GMT (envelope-from git) Date: Thu, 17 Apr 2025 15:54:13 GMT Message-Id: <202504171554.53HFsDlN028474@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: 983723943a5b - main - vm_pageout: rewrite cluster() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 983723943a5b7f1f249ba8f646b20e57ad524fed Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=983723943a5b7f1f249ba8f646b20e57ad524fed commit 983723943a5b7f1f249ba8f646b20e57ad524fed Author: Doug Moore AuthorDate: 2025-04-17 15:52:34 +0000 Commit: Doug Moore CommitDate: 2025-04-17 15:52:34 +0000 vm_pageout: rewrite cluster() Implement vm_pageout_cluster using iterators instead of vm_page_next() and vm_page_prev(), and without gotos. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49848 --- sys/vm/vm_pageout.c | 64 +++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index e2efa11842b5..7b303d7d905f 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -108,6 +108,7 @@ #include #include #include +#include #include #include #include @@ -366,15 +367,16 @@ vm_pageout_flushable(vm_page_t m) static int vm_pageout_cluster(vm_page_t m) { + struct pctrie_iter pages; vm_page_t mc[2 * vm_pageout_page_count - 1]; - int alignment, num_ends, page_base, pageout_count; + int alignment, page_base, pageout_count; VM_OBJECT_ASSERT_WLOCKED(m->object); vm_page_assert_xbusied(m); + vm_page_iter_init(&pages, m->object); alignment = m->pindex % vm_pageout_page_count; - num_ends = 0; page_base = nitems(mc) / 2; pageout_count = 1; mc[page_base] = m; @@ -387,37 +389,37 @@ vm_pageout_cluster(vm_page_t m) * holes). To solve this problem we do the reverse scan * first and attempt to align our cluster, then do a * forward scan if room remains. + * + * If we are at an alignment boundary, stop here, and switch directions. */ -more: - m = mc[page_base]; - while (pageout_count < vm_pageout_page_count) { - /* - * If we are at an alignment boundary, and haven't reached the - * last flushable page forward, stop here, and switch - * directions. - */ - if (alignment == pageout_count - 1 && num_ends == 0) - break; - - m = vm_page_prev(m); - if (m == NULL || !vm_pageout_flushable(m)) { - num_ends++; - break; - } - mc[--page_base] = m; - ++pageout_count; + if (alignment > 0) { + pages.index = mc[page_base]->pindex; + do { + m = vm_radix_iter_prev(&pages); + if (m == NULL || !vm_pageout_flushable(m)) + break; + mc[--page_base] = m; + } while (pageout_count++ < alignment); } - m = mc[page_base + pageout_count - 1]; - while (num_ends != 2 && pageout_count < vm_pageout_page_count) { - m = vm_page_next(m); - if (m == NULL || !vm_pageout_flushable(m)) { - if (num_ends++ == 0) - /* Resume the reverse scan. */ - goto more; - break; - } - mc[page_base + pageout_count] = m; - ++pageout_count; + if (pageout_count < vm_pageout_page_count) { + pages.index = mc[page_base + pageout_count - 1]->pindex; + do { + m = vm_radix_iter_next(&pages); + if (m == NULL || !vm_pageout_flushable(m)) + break; + mc[page_base + pageout_count] = m; + } while (++pageout_count < vm_pageout_page_count); + } + if (pageout_count < vm_pageout_page_count && + alignment == nitems(mc) / 2 - page_base) { + /* Resume the reverse scan. */ + pages.index = mc[page_base]->pindex; + do { + m = vm_radix_iter_prev(&pages); + if (m == NULL || !vm_pageout_flushable(m)) + break; + mc[--page_base] = m; + } while (++pageout_count < vm_pageout_page_count); } return (vm_pageout_flush(&mc[page_base], pageout_count, From nobody Thu Apr 17 16:39:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdkBJ1fNJz5sQYy; Thu, 17 Apr 2025 16:39: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 4ZdkBH75dSz3KxX; Thu, 17 Apr 2025 16:39:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744907960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bIkH5v83ZJIwvQB5ilcZvacqrHKQuhCFX5EIDDiwbOI=; b=vfyjJD7TnPuR2I5MGtM/iISlocecBKoiGA5dE3QdezGsrafyMH4bdsAaeU3JAYO0vVBR37 FtwLD/ZjirBuRh6qLy+23brZQT+6FR03q2gVrPs152Yymvj9MJyZ7U40JKfGCo7Y6i37Lm 7uesCDbwgM6aPbi0WNJBDemToErRC1Z8tJox3dJYgbMi2CGjB42zlej+VIM/ML4cT5nwB2 3ThjBUOhrATuGkGKNfccuW5KUAifQmusmvje2KmXQ0S5VLh6AuR+t8puvyu+xHCux5Dr5c Cla6lBd1VGtuJMZiaj2yLiG6vYhvwmF9mOzkK2jf6mi6YIuzcr2UkmuPDyOISQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744907960; a=rsa-sha256; cv=none; b=Fia+8e4LuFkIJZDEWjfmjA2zZ0nAdFt3PGV568JGe7s/+UnCiQ4A1vhWZpjicGPbv5VFUB yq30XzadxAab2CRczjVizZgN0h7gEdWvQy/v+SNkL7/IhtOAh9VlzoTo+BMyIWDLRgUKT3 A2ayEvsnXTtNkWIIsAM0rel02f+qoxYUVb53ptAFs1eJ6eMAjJY21VogGjQh61zKLX2uev zRWU4t1p+kA0nHDkkaRp9dnsly5uXOau3vTOHs46372NAJYLBjhfEyFomZX5RKsuF0Lfir ufnzJ0Bvh/kaZqNDFMJo683hkEGs0fo3eajFQ8FAsfHYJS3m6bcWZLvZZcPWzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744907960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bIkH5v83ZJIwvQB5ilcZvacqrHKQuhCFX5EIDDiwbOI=; b=BeUu6r6XGob16a0IxdgbtW2mvJ9Z0twPHQY7tbNSJ9Zd/7TUNiOBDCOjSXJG8WGheVQqkH SakZFHQT5EMoOGG6+Vyo0D2hI/K5VvGHDSLzs2JdPrvipeVlieuvEfQHgHG2bRtex3cuAZ sJaHosoosLgf8UFSZTuqZTrOFt9R/0lffJPPQiGqFECX7r8UUsegO9bM+dfCtkRfPTlaXd 95vEfKYzZy8GS1sM5SQCDKgwc3xPg8jbSfmTFsPWj6WUOPVy/pMXlJeL7DuPkt+lSIr5QD Xz+I8GIng6qqVgZvoWdQKntKyqtX6Lu7imlyannZsej2OYNXnolrNkSCgl1kWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdkBH67lBzwbQ; Thu, 17 Apr 2025 16:39: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 53HGdJxR005082; Thu, 17 Apr 2025 16:39:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HGdJFW005079; Thu, 17 Apr 2025 16:39:19 GMT (envelope-from git) Date: Thu, 17 Apr 2025 16:39:19 GMT Message-Id: <202504171639.53HGdJFW005079@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: 93f4377caba0 - main - msdosfs manuals: Improve visibility and linking List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 93f4377caba08e4a47fb9f1878bf609bd4181564 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=93f4377caba08e4a47fb9f1878bf609bd4181564 commit 93f4377caba08e4a47fb9f1878bf609bd4181564 Author: Alexander Ziaee AuthorDate: 2024-12-18 18:06:41 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-17 16:39:13 +0000 msdosfs manuals: Improve visibility and linking + add `(FAT)` to all descriptions to enable `apropos fat` + xref all msdosfs(4) utilities in base to msdosfs(4) + xref msdosfs(4) to all msdosfs(4) utilities + remove unrelated fsck_ffs(8) from fsck_msdos(8) MFC after: 3 days Reviewed by: mhorne Approved by: mhorne (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1557 --- sbin/fsck_msdosfs/fsck_msdosfs.8 | 5 ++--- sbin/mount_msdosfs/mount_msdosfs.8 | 2 +- sbin/newfs_msdos/newfs_msdos.8 | 1 + share/man/man4/msdosfs.4 | 4 +++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sbin/fsck_msdosfs/fsck_msdosfs.8 b/sbin/fsck_msdosfs/fsck_msdosfs.8 index a74649e0c47e..7c90c8b11b5d 100644 --- a/sbin/fsck_msdosfs/fsck_msdosfs.8 +++ b/sbin/fsck_msdosfs/fsck_msdosfs.8 @@ -125,9 +125,8 @@ to assume as the answer to all operator questions. .El .Sh SEE ALSO -.Xr fsck 8 , -.Xr fsck_ffs 8 , -.Xr mount_msdosfs 8 +.Xr msdosfs 4 , +.Xr fsck 8 .Sh HISTORY The .Nm diff --git a/sbin/mount_msdosfs/mount_msdosfs.8 b/sbin/mount_msdosfs/mount_msdosfs.8 index 3a97089e220c..4ae3e6960122 100644 --- a/sbin/mount_msdosfs/mount_msdosfs.8 +++ b/sbin/mount_msdosfs/mount_msdosfs.8 @@ -33,7 +33,7 @@ .Os .Sh NAME .Nm mount_msdosfs -.Nd mount an MS-DOS file system +.Nd mount an MS-DOS (FAT) file system .Sh SYNOPSIS .Nm .Op Fl 9ls diff --git a/sbin/newfs_msdos/newfs_msdos.8 b/sbin/newfs_msdos/newfs_msdos.8 index 92e407ab81af..03dfbfced51f 100644 --- a/sbin/newfs_msdos/newfs_msdos.8 +++ b/sbin/newfs_msdos/newfs_msdos.8 @@ -252,6 +252,7 @@ Create a 30MB image file, with the FAT partition starting newfs_msdos -C 30M -@63s ./somefile .Ed .Sh SEE ALSO +.Xr msdosfs 4 , .Xr gpart 8 , .Xr newfs 8 .Sh HISTORY diff --git a/share/man/man4/msdosfs.4 b/share/man/man4/msdosfs.4 index df937311060b..d823934dcfd1 100644 --- a/share/man/man4/msdosfs.4 +++ b/share/man/man4/msdosfs.4 @@ -6,7 +6,7 @@ .Os .Sh NAME .Nm msdosfs -.Nd MS-DOS file system +.Nd MS-DOS (FAT) file system .Sh SYNOPSIS .Cd "options MSDOSFS" .Sh DESCRIPTION @@ -65,8 +65,10 @@ may also be used to extract this information. .Sh SEE ALSO .Xr mount 2 , .Xr unmount 2 , +.Xr fsck_msdosfs 8 , .Xr mount 8 , .Xr mount_msdosfs 8 , +.Xr newfs_msdos 8 , .Xr umount 8 .Sh AUTHORS This manual page was written by From nobody Thu Apr 17 18:05:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdm5Z4mk0z5sXXv; Thu, 17 Apr 2025 18:05: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 4Zdm5Z4DY3z3wxh; Thu, 17 Apr 2025 18:05:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744913122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZjrzFDxG3hEb4sPy409jCYCBseMdVuRcTRXumK1c4v0=; b=nsuDY03IGXxx2W48XryIuJ5uYv1Gcm8FTJtfFftCBg8BSBtebQBroJM1JHWWRKR/OTAkKe YRoGXGbEs3G6ozJwT73xK1f6oM7tYtMuG1Ja8+zJwrRW6I0UicINaZHFVLnWU3uLlKsM53 aVQxEbFEnhwVhVRwjzG+O2kXH5E/JlYyjt6RWuv15MKbmTRpeb4FpI0bLU9Wf9/rskx5wE pnFcRylf9E3LGQ9177iWKIG12nqsEkzoCo0BV/e6vdf7hjHd15yMquMd2MFSItcJW4DarD AnK8+muusaSi4aOel2W0wTIYFsjm083HH31cjDUeuzBXv4lz5FmH02xPASzNmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744913122; a=rsa-sha256; cv=none; b=nxf2KebuJxcrMx30rS/UubR+MsnI6osVlhPuTXrBmDI7CuSICuT52AAy+Oi/DwFpcbsLMl QCMB5fRJWwSwvEqQBlRpRX6mJh819loFSF7U1DW344CjpTnx+ZtZEdB7ny8QSu/9vrvTA1 NtHMTWPjE6mmPoR55jkNmpe7/l+PlAR3tdmDtiYVHWPObkaqA9wdBmH1U8HBVrFc81KizK DUR7ehLxI2uUAiq9BLmJDM/R40JPBjTZoy6j27MT9QwSBmhSBf1w5ZDlrDxplytG0qrceN xNxihSG0vR0jonMjcDwOhZ5LRTwAtoAvB9IeQYK/Azlch+r9ofgxmvcfI+joog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744913122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZjrzFDxG3hEb4sPy409jCYCBseMdVuRcTRXumK1c4v0=; b=wk5kIDXwCrwoxDU3Mp3MTUguU6TaohIrB03koqhXnO4FnywX72gjdIpQdU69Me6va5NZ/0 peLWaseW81ixPeIV5NU/uqlWbrhF9M9aFqb7zY6BiYSbnmXYyRiJd837XczAEKkfERbzMe xwRvD6Y8AHlAazczekK5KI4N5jJwvAI7ZfHGNlpIdJTWBvkBApxgm3kOE41DDIxhAkoDNL vJyPJnuxn7xVBeiDf082nSaW7/LEYgD2zJmMEyayxnLCW2/tVwC2jEn55qG3v2LoB8e3/7 63FpqbBXQ7DhAkdX9hGJ9hhQk//HVWsAZG/1Qy0qixYhdFd8aUQ8A/NRHLlpUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdm5Z3YcHzydM; Thu, 17 Apr 2025 18:05: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 53HI5MuD071973; Thu, 17 Apr 2025 18:05:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HI5MPA071970; Thu, 17 Apr 2025 18:05:22 GMT (envelope-from git) Date: Thu, 17 Apr 2025 18:05:22 GMT Message-Id: <202504171805.53HI5MPA071970@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: f5f37c3fb8de - main - issetugid() is a system call and belongs in section 2 (not 3). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5f37c3fb8de5d093430f2062034e7d2bc4ab52b Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=f5f37c3fb8de5d093430f2062034e7d2bc4ab52b commit f5f37c3fb8de5d093430f2062034e7d2bc4ab52b Author: Jens Schweikhardt AuthorDate: 2025-04-17 18:04:26 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-17 18:04:26 +0000 issetugid() is a system call and belongs in section 2 (not 3). --- lib/libc/stdlib/getenv.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/stdlib/getenv.3 b/lib/libc/stdlib/getenv.3 index 1337ec867237..d78dcfbef9eb 100644 --- a/lib/libc/stdlib/getenv.3 +++ b/lib/libc/stdlib/getenv.3 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 14, 2023 +.Dd April 17, 2025 .Dt GETENV 3 .Os .Sh NAME @@ -85,7 +85,7 @@ returns when the environment cannot be trusted, otherwise it acts like .Fn getenv . The environment currently is not trusted when -.Xr issetugid 3 +.Xr issetugid 2 returns a non-zero value, but other conditions may be added in the future. .Pp From nobody Thu Apr 17 18:23:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdmVS36hkz5sZ2v; Thu, 17 Apr 2025 18:23: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 4ZdmVR6TWWz44RH; Thu, 17 Apr 2025 18:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744914207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fand5zBfjVAE5cAPw6WTN5eAgNzseu1uqqaZ/VuRKyw=; b=J9tFEx3B9VN1KQNTbbfDcQvZftT3Dbmo2ciEqpNS8Se7sD8oDR2kq6q6kjj7lS+M9LPWTG CK8u3PHSF4vfBk3d3c9ZAlZcWIQ+uGZ0neHhpkqZM+9pMzYCkFaIywW+TGe1jYtW2HN2xo 7brVDMfmVZbKQN2Lu+uda+f+Dt8XMlnf++oLtKjjDK/0KAVs6mbnGzpEVfBbpi2VHk9LKz Gw/LlLCdRupgEmgkgbrt0FsyStnL/nOAQp9fgrZnHsd8g0URDdbESPU2mveEfoemscwpZH H7s3INJEtryjrEDMhBC95TAwhGGwe2f13ikRrPZ/oqTJEfGAnvHaSmRi9CgL9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744914207; a=rsa-sha256; cv=none; b=Xx1A2nV+MI9dXVkgxtwgIcs6XDZRHjtPmCXQ0VzHsmlBlPnfFtxYXmj7tttW0TsO/gzSlM P0TB8IDTmklUEUuTEMytH+IU53I3upqq+pd+s9RkVT2pVCNniy5u7vBGVw2cvHdsZ9fmVN tT+YoeotnK+fXJfGo5Xk+vANeEX+T/Fm4tu6C+7/bUP/xpZoyoqbcGhAgshJhqnLJt0XQU k2D7aQIoHP6LAFgmeMdPh/O9YU4lgzx7/RJarJq/hRcEVseQhG6brZHvLTOmrR6bXxMJ5V dkSWSaycDUC+5P4T5d4EHKubCWNTPyJGJy6p16bbNYgSF772NGvfAW5jNQLxCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744914207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fand5zBfjVAE5cAPw6WTN5eAgNzseu1uqqaZ/VuRKyw=; b=rGaM4b2pL5MtS/ALI77YFzqc5Sq7LwYBPbbjLJvZEH9oCI87X0lRIcO5ymM6fqu+0eZJii 80VKUHkZmFEaPpql98aj6dDxo0n/Wn3HuG9oYWzzX9sHnAqRw8yyuhbiSy4wv0d55NYqFS t8Qw/OY7UFqw0tHn/9pj+ucOXyo+ea9J9uIB/dQw2M5278stF3nlnhsM0t/7mXQkcBHgj6 jq5zWTb/KtlfylCushCg9vJiJHvf/rXFmHK3uf0zXYGVVoruuH92iPVl/HLtm8XpSeAdmh g5riEFsDGU34f00KTEiDSYtosiw2k/aG8mDTb6EPxWDO4FKr39tyt9CtHD4GIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdmVR5z8Sz109g; Thu, 17 Apr 2025 18:23: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 53HINRgD009219; Thu, 17 Apr 2025 18:23:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HINRqQ009216; Thu, 17 Apr 2025 18:23:27 GMT (envelope-from git) Date: Thu, 17 Apr 2025 18:23:27 GMT Message-Id: <202504171823.53HINRqQ009216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: c803e26f2416 - main - The UMA man page is lowercased. Reference it as uma.9 to avoid 404. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c803e26f24164b2f2a8545598552a221c0e225a4 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=c803e26f24164b2f2a8545598552a221c0e225a4 commit c803e26f24164b2f2a8545598552a221c0e225a4 Author: Jens Schweikhardt AuthorDate: 2025-04-17 18:22:35 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-17 18:22:35 +0000 The UMA man page is lowercased. Reference it as uma.9 to avoid 404. --- lib/geom/eli/geli.8 | 2 +- share/man/man9/malloc.9 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/geom/eli/geli.8 b/lib/geom/eli/geli.8 index d34e15dc4ad8..876caf67ab40 100644 --- a/lib/geom/eli/geli.8 +++ b/lib/geom/eli/geli.8 @@ -857,7 +857,7 @@ must allocate a buffer for every write operation, used when performing encryption. This sysctl reports the maximum size in bytes for which geli will perform the allocation using -.Xr UMA 9 , +.Xr uma 9 , as opposed to .Xr malloc 9 . .It Va kern.geom.eli.visible_passphrase : No 0 diff --git a/share/man/man9/malloc.9 b/share/man/man9/malloc.9 index d8759a255492..01d224fc3cb3 100644 --- a/share/man/man9/malloc.9 +++ b/share/man/man9/malloc.9 @@ -271,7 +271,7 @@ when an allocation failure cannot be tolerated by the caller without catastrophic effects on the system. .It Dv M_NEVERFREED This is an internal flag used by the -.Xr UMA 9 +.Xr uma 9 allocator and should not be used in regular .Fn malloc invocations. From nobody Thu Apr 17 19:19:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdnlS19nqz5sdlM; Thu, 17 Apr 2025 19:19: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 4ZdnlR66q0z3Whr; Thu, 17 Apr 2025 19:19:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ySFtWqFB01KK2KiWiBpkjnehfM3wC5OetZoHVY+icpw=; b=PEOL7Y3ZhfcAhKA6ulzt9j7l5/eTBwKuaqmm0TIwpnmj5CbQIKq9aIfr4gRpJEI21fC/w6 E3aJ7LJKcUtNhVk/absk0PbBPYfQcr5082uSkWUeeS2lV3lvob7OUPcKp1T5ubNW2ZjM8L IVXz8V/6ZIFuMCXH/wOJjwcXdyX3GaozKL6idSaqJ0eXS+e2s4iNY8wxW9E380DaZHn3Si FaDLV72ggb1SwgzdZ6KOFG7994WzYtDOyaoD4iu16YRMFspeq+3ADIfcADpKLPR1jUBwpz 0zdEfAxXZRt13nBkEGvELaQW2y75wWXks6km2XEn4w+baXMoU4INsNksHwGiUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744917587; a=rsa-sha256; cv=none; b=HTO2TzlU54gK0C2XRNkUbs2UBFl8TTzVyuN7PmOw41657SkIJnrx6QAbNxGjQt5UoFrmVD 3T84GclQs7I0+MBYgMmlbtUf2RBAMN/H7ERkv2wla4k3Y9mGBffDd3BC17RKg2bQF2MCOO OR3p1CfxslLIHAQd+syb0BHjUuHJKL6jpOlTACcyhcZ20NgkXks1d2O1y3hxTI1pd4JnSa EVEHRoqnlKczwBlIzgtkPFGAlRLFWSzF1fVpwdRxd6QAKAlosHrlkJXcJ/C0/+l8ssmriR YPsSZLGIIB7UWi+p/ce1B8SHTsSfIdZxroAMfrDiV5zyncXq2yCrpblRC9UpYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ySFtWqFB01KK2KiWiBpkjnehfM3wC5OetZoHVY+icpw=; b=A0akAK1r5LMYoTaS1RMhJ6yjD/W79W/qsgSl4S6Vf+D2svk35j5KZx0at2/JI6kS9bAGON GaORu7L7b9rnr9BoZrfOEkF+6JSuukXzOhwWAKszuaBm2UIHFrcfahT79UATqzONGb90c7 lWcZ0WLo8QnT3EFEe9StYpkQ+pzQ+Ikdnaw20NUrCFbtkMQMK+9vJ0Zo1yshdMUCRc8Jrf JA3bnNVWtNNSIWV+HAWfKu/+Va36ahhzePRP5mw5XZFBC1JCoHZJ9ATemDQMqcJuy2wsvn FQps6OsHxKqD5J0m1kc5VC/+IgNAUeOjsP6ZbfKMAnzCY4EsoqsGmxGGh0ABaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdnlR5kHzz11SN; Thu, 17 Apr 2025 19:19: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 53HJJle2004290; Thu, 17 Apr 2025 19:19:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HJJl2b004287; Thu, 17 Apr 2025 19:19:47 GMT (envelope-from git) Date: Thu, 17 Apr 2025 19:19:47 GMT Message-Id: <202504171919.53HJJl2b004287@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: 44b69b1a9624 - main - sshd: Retire DSA support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 44b69b1a962404ee650c5914b552b44a0d1c0e62 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=44b69b1a962404ee650c5914b552b44a0d1c0e62 commit 44b69b1a962404ee650c5914b552b44a0d1c0e62 Author: Jose Luis Duran AuthorDate: 2025-04-17 18:52:34 +0000 Commit: Jose Luis Duran CommitDate: 2025-04-17 19:11:46 +0000 sshd: Retire DSA support Chase 3dcf2c2cafbc ("OpenSSH: remove ability to enable DSA support (in configure)"). Reviewed by: emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D49740 --- libexec/rc/rc.d/sshd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/sshd b/libexec/rc/rc.d/sshd index 000336a6dcc8..1d2c89cc88a8 100755 --- a/libexec/rc/rc.d/sshd +++ b/libexec/rc/rc.d/sshd @@ -21,7 +21,6 @@ pidfile="/var/run/${name}.pid" extra_commands="configtest keygen reload" : ${sshd_rsa_enable:="yes"} -: ${sshd_dsa_enable:="no"} : ${sshd_ecdsa_enable:="yes"} : ${sshd_ed25519_enable:="yes"} @@ -42,7 +41,7 @@ sshd_keygen_alg() fi case $alg in - rsa|dsa|ecdsa|ed25519) + rsa|ecdsa|ed25519) keyfile="/etc/ssh/ssh_host_${alg}_key" ;; *) @@ -68,7 +67,6 @@ sshd_keygen_alg() sshd_keygen() { sshd_keygen_alg rsa - sshd_keygen_alg dsa sshd_keygen_alg ecdsa sshd_keygen_alg ed25519 } From nobody Thu Apr 17 19:19:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdnlT2K3rz5sdgQ; Thu, 17 Apr 2025 19:19: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 4ZdnlS6wD1z3Wqp; Thu, 17 Apr 2025 19:19:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NwsejIAejOmaJg4kSV+4y51Yx8tL1i0Nj8mDdYgC0Mc=; b=qONAAXZvRqlm0JCkqZ/9nt8yq4SnWU7Y36YgVaknVKmY1AM2MJzR2pPYgCwDyiNUrp6D0+ sLT4j+EIZ53YS4BgHUjAW6WwgOi/opQ+rAi+wZIgjsspjQ/3C23Ghkdm3rmqTiMpLIloUi Y8KcGQ1H/c0ad6Ha+fQkfoJn0QnJmpplOEVSDL+u1CRe4YpPo4E558GneWB8ySx1RF/pT1 eTCiB2oIZAdMcTuwmSo7BmXu3jvlw+ZTLFUsbaGCAEOKuo/wcNqNEjNnYeYxDurLgxKFfW 4mDlpVxXeuD2pVM88apWQBzCqOj8a3+mYc6q9s30SNebt6Z8Ab/gleZElGD4uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744917589; a=rsa-sha256; cv=none; b=ZJzZeXtePbCKZ3GAksxDKakxtUkZU/bd3PQCrNpERwKMoiDJlROvjkOkuXDrcHlb3ae9I+ aP94AYk/SFfiWOQDq7tkZfeINYp1dO+4z/278QLoqaEDDKu/34C4Z3Oz0j11aTac6rlPuo ka9nSdj60aJ7gOsgAEeS1Sua1z5FQvXUyEgJnjT+Cvrijfr6Jz+4MTPfLp/Fn7aVjGsmsn upe6e6wYZK5QcPOjaPJdeT24AuLYeKFP0WHJmGpEOgP0FbUp/mWUJ6ab1Z75EtxP8kJScq dx0LKFJtgUoOEi/MynOLwgf7yAu85g33VUrBYk4Dj7Z9fP/+so7jIN1M5KzQRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NwsejIAejOmaJg4kSV+4y51Yx8tL1i0Nj8mDdYgC0Mc=; b=mKBgg7UlCSrpcP/VyzG7/RakJ4p82fQiOTyGJGh/G9JXHgdd8P0HXo/dDNW3eZUWrHd0s7 ooY2sIFNW2VquU4LKTj2tUpaWGKJzObg/2PF8uYsdcr27ACrE7wIF0Gg20WqypwAu3q8bz O2I44LN+t7ijb7AlMAzXw4+NV1Fpt6MQEYhTLX4t0b14NE2j/2kn3BVzOllsnxW/+wGoVA YIhzTJRaudk1oGDeo7NoSmsKdqEMBU6K8YdwAaoJyyxlHsYsVlJXQgePiCMMIGp/uSpITh JoquYUJv28TsY3/DkZTkxvrdFh8Z6/XXldAXXQsjSFFpHmgYBwdh9Iao6PJEmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdnlS5x1Dz11Mp; Thu, 17 Apr 2025 19:19:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HJJmeA004326; Thu, 17 Apr 2025 19:19:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HJJmag004323; Thu, 17 Apr 2025 19:19:48 GMT (envelope-from git) Date: Thu, 17 Apr 2025 19:19:48 GMT Message-Id: <202504171919.53HJJmag004323@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: 9440aad19dca - main - secure: Rearrange Makefile SRCS to match upstream Makefile.in List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9440aad19dca73fdd224b128ac2dc2e78191ff15 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=9440aad19dca73fdd224b128ac2dc2e78191ff15 commit 9440aad19dca73fdd224b128ac2dc2e78191ff15 Author: Jose Luis Duran AuthorDate: 2025-04-17 18:56:00 +0000 Commit: Jose Luis Duran CommitDate: 2025-04-17 19:12:05 +0000 secure: Rearrange Makefile SRCS to match upstream Makefile.in SRCS entries are kept in the same order and with the same line breaks as upstream, to make comparison easier. No functional change intended. Reviewed by: emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D49793 --- secure/lib/libssh/Makefile | 23 ++++++++++++++++------- secure/libexec/sftp-server/Makefile | 4 ++-- secure/libexec/ssh-pkcs11-helper/Makefile | 2 +- secure/ssh.mk | 2 ++ secure/usr.bin/scp/Makefile | 2 +- secure/usr.bin/sftp/Makefile | 3 +-- secure/usr.bin/ssh-add/Makefile | 2 +- 7 files changed, 24 insertions(+), 14 deletions(-) diff --git a/secure/lib/libssh/Makefile b/secure/lib/libssh/Makefile index d5292be88a4b..f4c60c02c9eb 100644 --- a/secure/lib/libssh/Makefile +++ b/secure/lib/libssh/Makefile @@ -4,10 +4,22 @@ LIB= ssh PRIVATELIB= true SHLIB_MAJOR= 5 -SRCS= ssh_api.c ssherr.c \ - sshbuf.c sshkey.c sshbuf-getput-basic.c \ - sshbuf-misc.c sshbuf-getput-crypto.c krl.c bitmap.c -SRCS+= authfd.c authfile.c \ + +LIBOPENSSH_SRCS=\ + ssh_api.c \ + ssherr.c \ + sshbuf.c \ + sshkey.c \ + sshbuf-getput-basic.c \ + sshbuf-misc.c \ + sshbuf-getput-crypto.c \ + krl.c \ + bitmap.c + +# gss-genr.c should be in $SRCS but causes linking problems, so it is +# compiled directly into sshd instead. +SRCS= ${LIBOPENSSH_SRCS} \ + authfd.c authfile.c \ canohost.c channels.c cipher.c cipher-aes.c cipher-aesctr.c \ cleanup.c \ compat.c fatal.c hostfile.c \ @@ -30,9 +42,6 @@ SRCS+= ssh-sk-client.c PACKAGE= ssh -# gss-genr.c should be in $SRCS but causes linking problems, so it is -# compiled directly into sshd instead. - # Portability layer SRCS+= bcrypt_pbkdf.c blowfish.c bsd-misc.c bsd-signal.c explicit_bzero.c \ fmt_scaled.c freezero.c glob.c \ diff --git a/secure/libexec/sftp-server/Makefile b/secure/libexec/sftp-server/Makefile index 29f7a8df9fdd..0673e1e5613e 100644 --- a/secure/libexec/sftp-server/Makefile +++ b/secure/libexec/sftp-server/Makefile @@ -1,8 +1,8 @@ .include .include "${SRCTOP}/secure/ssh.mk" -PROG= sftp-server -SRCS= sftp-server.c sftp-common.c sftp-server-main.c +PROG= sftp-server +SRCS= sftp-common.c sftp-server.c sftp-server-main.c MAN= sftp-server.8 LIBADD= ssh diff --git a/secure/libexec/ssh-pkcs11-helper/Makefile b/secure/libexec/ssh-pkcs11-helper/Makefile index 84374fdca43b..90b15eef26d8 100644 --- a/secure/libexec/ssh-pkcs11-helper/Makefile +++ b/secure/libexec/ssh-pkcs11-helper/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-pkcs11-helper -SRCS= ssh-pkcs11.c ssh-pkcs11-helper.c +SRCS= ssh-pkcs11-helper.c ssh-pkcs11.c MAN= ssh-pkcs11-helper.8 LIBADD= crypto ssh diff --git a/secure/ssh.mk b/secure/ssh.mk index f522e1a927fc..641343ac993a 100644 --- a/secure/ssh.mk +++ b/secure/ssh.mk @@ -4,6 +4,8 @@ SSHDIR= ${SRCTOP}/crypto/openssh +SFTP_CLIENT_SRCS=sftp-common.c sftp-client.c sftp-glob.c + CFLAGS+= -I${SSHDIR} -include ssh_namespace.h .if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no" diff --git a/secure/usr.bin/scp/Makefile b/secure/usr.bin/scp/Makefile index 2ecea0ef52da..8d38d815d3fb 100644 --- a/secure/usr.bin/scp/Makefile +++ b/secure/usr.bin/scp/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= scp -SRCS= scp.c sftp-common.c sftp-client.c sftp-glob.c progressmeter.c +SRCS= scp.c progressmeter.c $(SFTP_CLIENT_SRCS) PACKAGE= ssh LIBADD= ssh diff --git a/secure/usr.bin/sftp/Makefile b/secure/usr.bin/sftp/Makefile index f903f5e611d5..cc13a86794c5 100644 --- a/secure/usr.bin/sftp/Makefile +++ b/secure/usr.bin/sftp/Makefile @@ -2,8 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= sftp -SRCS= sftp.c sftp-client.c sftp-common.c sftp-glob.c sftp-usergroup.c \ - progressmeter.c +SRCS= sftp.c sftp-usergroup.c progressmeter.c $(SFTP_CLIENT_SRCS) PACKAGE= ssh LIBADD= ssh edit diff --git a/secure/usr.bin/ssh-add/Makefile b/secure/usr.bin/ssh-add/Makefile index 8df3789534af..8de508bd6c12 100644 --- a/secure/usr.bin/ssh-add/Makefile +++ b/secure/usr.bin/ssh-add/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-add -SRCS+= ssh-add.c ssh-sk-client.c +SRCS= ssh-add.c ssh-sk-client.c PACKAGE= ssh LIBADD= ssh From nobody Thu Apr 17 19:19:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdnlV34GZz5sdjH; Thu, 17 Apr 2025 19:19: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 4ZdnlT75k7z3Wp4; Thu, 17 Apr 2025 19:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917590; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hoA91Z+tlZRuclPx2q7iD4ePpT7llXZM8DfAWYrlYog=; b=JgZvPDxryS7vIadv8KF6IbI/9PvoHelAAPjBI0Zoj+WbcCeXndkEfsjJz4o6Tzx6zbEP7u FVlrzkB1tud8NsnST1iauBKdYbxb3yOAYhFR1WpOy++hAqwQk0UUOgHyR/J26Byoldb1wp +xSn+8313KtJPRH2Bol/abevTGG3F967Bi++JpKXXRHAKFBna8fBFyknIjzLGTMfDJetr6 zCxQ2MZskvqzCG1IOgZQzzOpC3FixIyQAsPzhUNPz6iSfUFyQivagzGTVdXHpaWy93PDAc RdiWsMxLqhO7YIAW1cfb0eM0Z2EGo2WtcauN4BoJtqg7tG08x9RzchOnaP3JMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744917590; a=rsa-sha256; cv=none; b=Vc1QXcEoM2Ku8MKXUejwS1Y1esAVlPDKE8TxYpGDR8REH7PnBIZr1hOtVhCEcnm5SNORLH I2Xq3sqw9hUrfLByUCVYfg9kkLMvUAUgL6vpRWWlO7BxEtB8afncAqlyMTmJodSaUmEMPh Un9RGyY1dfj5fVOhJ/dmYD6ArP/Hq0R0Pzt6d2WXMA6X9nVnGr5i8xs/d+ATiBVK5orA24 NuhAI1ORQZ6w5JuBcVRRPQlRD3mo2GDmWGnd6ViE+O9QOYbn/oTTxmJlXt8yIEIA4CcWb/ FRgfyqLpv8ahv27qYt/Bgppfvu+IZQ3Dwbl6J6V5FkgRZrBuskip7FFm9/kdrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917590; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hoA91Z+tlZRuclPx2q7iD4ePpT7llXZM8DfAWYrlYog=; b=x3WD1ukPTBkHvnutDswxZ1GamXb2VHioceWlIwC5NSYp+bS4heacJfr5uxOoXQcdNHBxPZ vMZZ+AnUPqGvnX6q/52JKvG17SqrEmJ9urFFl6RApzhByrx9quvaXDtuwS5VVmk//A42S5 OdOZCpMgf9qpTWkNCDiUoaGG/+ehmhfwps352Ok5Rlw7nNkFOH+9phn6rKh3AJFEXygEAk 1dHmjXgRMtJBVvkhnbqjd35on6CFfmbaLsFwLT91Z99rG9MWILrDtihNdW5RWLw7MG672d x+MLprnOVBZwokhkk4GSkdiXMqVrqoCyURGKMY6SJcbivl2yQDyMgbkzGrq6HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdnlT6hp8z110Z; Thu, 17 Apr 2025 19:19: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 53HJJnlT004363; Thu, 17 Apr 2025 19:19:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HJJnoh004360; Thu, 17 Apr 2025 19:19:49 GMT (envelope-from git) Date: Thu, 17 Apr 2025 19:19:49 GMT Message-Id: <202504171919.53HJJnoh004360@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: 8c6bf983a914 - main - secure: Match SRCS with upstream Makefile.in List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 8c6bf983a9141e8f3c26e65c27985c92c238b88a Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8c6bf983a9141e8f3c26e65c27985c92c238b88a commit 8c6bf983a9141e8f3c26e65c27985c92c238b88a Author: Jose Luis Duran AuthorDate: 2025-04-17 18:59:31 +0000 Commit: Jose Luis Duran CommitDate: 2025-04-17 19:12:22 +0000 secure: Match SRCS with upstream Makefile.in Reviewed by: emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D49794 --- secure/usr.sbin/sshd/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/secure/usr.sbin/sshd/Makefile b/secure/usr.sbin/sshd/Makefile index 23a053f27ae7..935badfda561 100644 --- a/secure/usr.sbin/sshd/Makefile +++ b/secure/usr.sbin/sshd/Makefile @@ -6,7 +6,8 @@ CONFSDIR= /etc/ssh PROG= sshd SRCS= sshd.c \ platform-listen.c \ - servconf.c sshpty.c srclimit.c groupaccess.c auth2-methods.c + servconf.c sshpty.c srclimit.c groupaccess.c auth2-methods.c \ + dns.c fatal.c compat.c utf8.c authfd.c canohost.c PACKAGE= ssh MAN= sshd.8 sshd_config.5 From nobody Thu Apr 17 19:19:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdnlW4J6Zz5sdZx; Thu, 17 Apr 2025 19:19: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 4ZdnlW1y6Zz3X0H; Thu, 17 Apr 2025 19:19:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hHDlN9UnTvElE5uwEdqhpbYr7wC/cHVzOO8a2QybUfA=; b=aQfx6+ivRYLb7JVXlTt58oGyFgSfefN2VMc+hx480MysuweMxaQl4wqka7K0yIDoUQooNR 9Cj1U4lx3DAXLPMRHIeGA/mo2x87003lpsxgGLarKMa7XpXGma10bsZdmdue9g9UGIgFM5 GQzTjGr5H0/1N4N8fiemCduh0fYyAqMBZoS0VjtwPmRmUS4ZVSB7Y024PQM4o9RytSK1EI O45Yt7qOYIe93TIIQ+QCOTRKh02E2oRdDtSwJyqegoW8DfD7RT4RO3I60LOUqYm0AhFA88 KHWwe6+CiVn0PpjwznFiR+b06vV8RC6YxXfLUhG3C2q6NmgNm/yFOjSI7HY0VA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744917591; a=rsa-sha256; cv=none; b=byQ9X7ngaNKhySpK3tXEcn0/TdMLR5Zvs2CnTIYN9WCYF6wXcNjSxF8TmUFRrh/2s3C4ZN vU5YNU48owrjzGgMKdcSdl1x09Fv0ufMaH3qXMdLquS7gGZPUpakWkVYsVGmK1mPmHki5O Xfaz02Bxg55OfxA2HZiP47EVhlV5VSeluGn+y7SBDe5G/+UyiOUxUmoBhscpLvOL7EpdEE axjdnP9gf36XnxEvxG02jeHuAqd/Ak5LRaA09703mx/gu+s+oMwuHdbC3GoYaQyPfgVDxJ FU20RiyV1h0s+oQ1Cv7MW3z1TY3EkDT72Cg8aXNm6E7W9JLGpc0HHE28W3Syvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744917591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hHDlN9UnTvElE5uwEdqhpbYr7wC/cHVzOO8a2QybUfA=; b=QZ4QxeBC0jvPjUi3uOtQOAYJqMWh5c2Li3kURP7Xef2rra+WuefslLMexuq86nhGgiuA/C 8bdUJK5FgtxQvS9ZyvxocumAyTVZPeN9G4D1tYuSLAqsIIDViqaeiomN6qiJNKWAozqIR+ Ads1r6cNz+BOTQMmvwJToeCp1b1boLRnFi7Qm5Li6E//ehecE1yGmQ6hcCYtevNmeFd2jT VYtTp4hArTkMdPHEFspLCPP5ksEABtoqidUmBrIi0FVFjni5pVI84c1AdA7TW949JvPoeu 8eeYYiLEZByi93eVSYN9bRewZ5y6hJpBhjQeB0ic4m8HZVQTEDrejXtcBKl0IA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdnlW1NHKz119K; Thu, 17 Apr 2025 19:19: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 53HJJpdT004407; Thu, 17 Apr 2025 19:19:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HJJpBR004404; Thu, 17 Apr 2025 19:19:51 GMT (envelope-from git) Date: Thu, 17 Apr 2025 19:19:51 GMT Message-Id: <202504171919.53HJJpBR004404@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: 65d8491719bb - main - secure: Adapt Makefile to ssh-sk-client everywhere List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 65d8491719bbc88ed45637d2381931c2d29cfe87 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=65d8491719bbc88ed45637d2381931c2d29cfe87 commit 65d8491719bbc88ed45637d2381931c2d29cfe87 Author: Jose Luis Duran AuthorDate: 2025-04-17 19:08:02 +0000 Commit: Jose Luis Duran CommitDate: 2025-04-17 19:12:39 +0000 secure: Adapt Makefile to ssh-sk-client everywhere Upstream commit 7b47b40b1 ("adapt Makefile to ssh-sk-client everywhere") adapted the Makefiles to ssh-sk-client. Do the same here. Reviewed by: emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D49795 --- secure/lib/libssh/Makefile | 1 - secure/libexec/ssh-keysign/Makefile | 2 +- secure/libexec/ssh-pkcs11-helper/Makefile | 2 +- secure/libexec/sshd-session/Makefile | 2 +- secure/ssh.mk | 1 + secure/usr.bin/ssh-add/Makefile | 2 +- secure/usr.bin/ssh-agent/Makefile | 2 +- secure/usr.bin/ssh-keygen/Makefile | 3 +-- secure/usr.bin/ssh-keyscan/Makefile | 2 +- secure/usr.bin/ssh/Makefile | 2 +- secure/usr.sbin/sshd/Makefile | 3 ++- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/secure/lib/libssh/Makefile b/secure/lib/libssh/Makefile index f4c60c02c9eb..39083d007675 100644 --- a/secure/lib/libssh/Makefile +++ b/secure/lib/libssh/Makefile @@ -38,7 +38,6 @@ SRCS= ${LIBOPENSSH_SRCS} \ kexsntrup761x25519.c kexmlkem768x25519.c sntrup761.c kexgen.c \ sftp-realpath.c platform-pledge.c platform-tracing.c platform-misc.c \ sshbuf-io.c -SRCS+= ssh-sk-client.c PACKAGE= ssh diff --git a/secure/libexec/ssh-keysign/Makefile b/secure/libexec/ssh-keysign/Makefile index e66ed527affd..0ec54697aa81 100644 --- a/secure/libexec/ssh-keysign/Makefile +++ b/secure/libexec/ssh-keysign/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-keysign -SRCS= ssh-keysign.c readconf.c uidswap.c +SRCS= ssh-keysign.c readconf.c uidswap.c $(SKSRCS) MAN= ssh-keysign.8 BINMODE=4555 diff --git a/secure/libexec/ssh-pkcs11-helper/Makefile b/secure/libexec/ssh-pkcs11-helper/Makefile index 90b15eef26d8..9c276ef266f9 100644 --- a/secure/libexec/ssh-pkcs11-helper/Makefile +++ b/secure/libexec/ssh-pkcs11-helper/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-pkcs11-helper -SRCS= ssh-pkcs11-helper.c ssh-pkcs11.c +SRCS= ssh-pkcs11-helper.c ssh-pkcs11.c $(SKSRCS) MAN= ssh-pkcs11-helper.8 LIBADD= crypto ssh diff --git a/secure/libexec/sshd-session/Makefile b/secure/libexec/sshd-session/Makefile index 81e481559189..e9e106fe90bd 100644 --- a/secure/libexec/sshd-session/Makefile +++ b/secure/libexec/sshd-session/Makefile @@ -15,7 +15,7 @@ SRCS= sshd-session.c auth-rhosts.c auth-passwd.c \ sftp-server.c sftp-common.c \ sandbox-null.c sandbox-rlimit.c sandbox-systrace.c sandbox-darwin.c \ sandbox-seccomp-filter.c sandbox-capsicum.c sandbox-pledge.c \ - sandbox-solaris.c uidswap.c + sandbox-solaris.c uidswap.c $(SKSRCS) PACKAGE= ssh # gss-genr.c really belongs in libssh; see src/secure/lib/libssh/Makefile diff --git a/secure/ssh.mk b/secure/ssh.mk index 641343ac993a..84d9a7f57032 100644 --- a/secure/ssh.mk +++ b/secure/ssh.mk @@ -5,6 +5,7 @@ SSHDIR= ${SRCTOP}/crypto/openssh SFTP_CLIENT_SRCS=sftp-common.c sftp-client.c sftp-glob.c +SKSRCS= ssh-sk-client.c CFLAGS+= -I${SSHDIR} -include ssh_namespace.h diff --git a/secure/usr.bin/ssh-add/Makefile b/secure/usr.bin/ssh-add/Makefile index 8de508bd6c12..c908881ca2e9 100644 --- a/secure/usr.bin/ssh-add/Makefile +++ b/secure/usr.bin/ssh-add/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-add -SRCS= ssh-add.c ssh-sk-client.c +SRCS= ssh-add.c $(SKSRCS) PACKAGE= ssh LIBADD= ssh diff --git a/secure/usr.bin/ssh-agent/Makefile b/secure/usr.bin/ssh-agent/Makefile index 06abc627fcd5..49d5fe77e943 100644 --- a/secure/usr.bin/ssh-agent/Makefile +++ b/secure/usr.bin/ssh-agent/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-agent -SRCS= ssh-agent.c ssh-pkcs11-client.c +SRCS= ssh-agent.c ssh-pkcs11-client.c $(SKSRCS) PACKAGE= ssh LIBADD= crypto ssh diff --git a/secure/usr.bin/ssh-keygen/Makefile b/secure/usr.bin/ssh-keygen/Makefile index 89e61e68ee55..c9205e71d219 100644 --- a/secure/usr.bin/ssh-keygen/Makefile +++ b/secure/usr.bin/ssh-keygen/Makefile @@ -2,8 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-keygen -# XXX ssh-sk-client.c in libssh maybe? -SRCS= ssh-keygen.c sshsig.c ssh-sk-client.c +SRCS= ssh-keygen.c sshsig.c $(SKSRCS) PACKAGE= ssh LIBADD= crypto ssh diff --git a/secure/usr.bin/ssh-keyscan/Makefile b/secure/usr.bin/ssh-keyscan/Makefile index baa7f54b048d..522e47411011 100644 --- a/secure/usr.bin/ssh-keyscan/Makefile +++ b/secure/usr.bin/ssh-keyscan/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= ssh-keyscan -SRCS= ssh-keyscan.c +SRCS= ssh-keyscan.c $(SKSRCS) PACKAGE= ssh LIBADD= ssh diff --git a/secure/usr.bin/ssh/Makefile b/secure/usr.bin/ssh/Makefile index df85f47d5975..acb1fd4eaa25 100644 --- a/secure/usr.bin/ssh/Makefile +++ b/secure/usr.bin/ssh/Makefile @@ -10,7 +10,7 @@ MLINKS= ssh.1 slogin.1 PACKAGE= ssh SRCS= ssh.c readconf.c clientloop.c sshtty.c \ - sshconnect.c sshconnect2.c mux.c + sshconnect.c sshconnect2.c mux.c $(SKSRCS) # gss-genr.c really belongs in libssh; see src/secure/lib/libssh/Makefile SRCS+= gss-genr.c diff --git a/secure/usr.sbin/sshd/Makefile b/secure/usr.sbin/sshd/Makefile index 935badfda561..e6913cd9d0d6 100644 --- a/secure/usr.sbin/sshd/Makefile +++ b/secure/usr.sbin/sshd/Makefile @@ -7,7 +7,8 @@ PROG= sshd SRCS= sshd.c \ platform-listen.c \ servconf.c sshpty.c srclimit.c groupaccess.c auth2-methods.c \ - dns.c fatal.c compat.c utf8.c authfd.c canohost.c + dns.c fatal.c compat.c utf8.c authfd.c canohost.c \ + $(SKSRCS) PACKAGE= ssh MAN= sshd.8 sshd_config.5 From nobody Thu Apr 17 19:24:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdns53gxSz5sf8t for ; Thu, 17 Apr 2025 19:24:41 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zdns340j9z3Ynp for ; Thu, 17 Apr 2025 19:24:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20230601.gappssmtp.com header.s=20230601 header.b=0AM0e8Da; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::102e) smtp.mailfrom=wlosh@bsdimp.com Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-30155bbbed9so878785a91.1 for ; Thu, 17 Apr 2025 12:24:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1744917877; x=1745522677; 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=vy+F9iSMsqoNYWY1mUPxfX4f88LcTSujWdmFXLZhLSo=; b=0AM0e8DaKAgHgNwaiYA3Y7D5n4oIrSRyJdhWhHdoK9DZ9fXxTIzQD0yxwoiczDVweO Vi11r0cMGxcCocMudrri5Z6jRrmQ1TfBXO/EQeH2LofekZ5kUDqEjqbLGShW/lHC7xJA 3dwBomqTHMoisXhVnLozrKmMvh/AvRGMGPDN91eIulO9bXWZAMiLjNdZ1TIwF7uKBy6x p5M1wWXDgi0awXaE053VNL++OIxVmmROBNcVcXuhpw0MhRttueHUqS2lgDk8MJWm3MQT SVIC9BgQi4BrM+yFQ1qd9dw1t8eFaPuEh8ZENYKAoIqFK4sbPha9YizZkH0ly6+Cvow0 8Zjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744917877; x=1745522677; 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=vy+F9iSMsqoNYWY1mUPxfX4f88LcTSujWdmFXLZhLSo=; b=rvNf5FLqlsFcioImNm4BF6qOGulxUqpdZqknWu5trEBK2740WmyzSu6o5xRFk+lalj 105+MqXKmQIdzhbOcMvprLLkr7FMrhcQxtRiwFYmK0P26jzDoJZr90cPA4Hifsfsfi/S w9LN70MSEXxK4rW+AHNlbodAQN1xORMd/x6sGRIXcX8F6sT7YQ4kLpiCvWXhB3/vcC01 EyFyhkPHzrho+QBOHvWHTZJ2awDZ7A3JZAleHJEqXkJb0ry/M/Atgu793kxz/w574Vru 4CQtFH28jcfpo5u2EYi2gJInYvb3krrWL19E5XoF+VR87RalYSdzmKlcc2S/IlrhGkA7 Jyjg== X-Forwarded-Encrypted: i=1; AJvYcCVJvZMKBSipBQrxjqY1v/nwOR0/HBhNF9lXB6LUY8aKPaT+rCjvEIMZnleniHsuSJQO1LRvAdtuTbEIMMLhe2FPg0qM@freebsd.org X-Gm-Message-State: AOJu0YyU4m57v2epsIEL3GzglJdT6TDJXR5CaRh82gMueU1VymedIrfd 1YU/N1ZMrQaEs7yJwsbL6MRCPnXBpW9h/9Sb1Oj42OW6HC3NVwGXx+leg0RjEtixlZ4syFwT+Lo Q3FeWJ97+60MmtCp6IvhT7qvexxc+HEa55emQlQ== X-Gm-Gg: ASbGnctaYpLU1lt4juLmdA0zNLbilHoZij/cvuITS8IMq97NrwndEtLIepWBpbXJJSH tlOSMohTdxl2h8jSk3hQDX1SN3SpYPxC7VK67+32O/YVBKYixVeOpL0FYIA2ILmCc4dIAKnCDrE b+ZF44705jzt3KgCqaKJPPmXsP1B4YZmb6lJiG8m4tNqRSiRs/LhqwHw== X-Google-Smtp-Source: AGHT+IFMWkq3ldPqW8x5Dgr0gzlFI6Xv586sxzXR85urbGHVMleaycJOYPIxxHyvbut1EfRDcTqJr6iRwRJJ6u+4pdw= X-Received: by 2002:a17:90b:548f:b0:2fe:8a84:e033 with SMTP id 98e67ed59e1d1-3087bb2a6f8mr308930a91.2.1744917877479; Thu, 17 Apr 2025 12:24:37 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202504171520.53HFK0o7057403@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 17 Apr 2025 13:24:25 -0600 X-Gm-Features: ATxdqUFT3jVBDAbPZvcrQRb1fahTUZpWLm5RlZ1k_PCJasyKw5rnI2nclhmz9Rg Message-ID: Subject: Re: git: 3b2f0bfc3516 - main - Add POSIX psiginfo(3) call To: Konstantin Belousov Cc: src-committers , "" , "" Content-Type: multipart/alternative; boundary="0000000000004002ed0632fe5a92" X-Spamd-Result: default: False [-2.61 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.61)[-0.614]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MISSING_XM_UA(0.00)[]; ARC_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102e:from]; R_SPF_NA(0.00)[no SPF record]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; DKIM_TRACE(0.00)[bsdimp-com.20230601.gappssmtp.com:+] X-Rspamd-Queue-Id: 4Zdns340j9z3Ynp X-Spamd-Bar: -- --0000000000004002ed0632fe5a92 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 17, 2025, 9:27=E2=80=AFAM Warner Losh wrote: > On Thu, Apr 17, 2025 at 9:20=E2=80=AFAM Konstantin Belousov > wrote: > > > > The branch main has been updated by kib: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D3b2f0bfc35167724a41c969c1823be6= b1ede15ab > > > > commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab > > Author: Ricardo Branco > > AuthorDate: 2025-04-16 07:52:13 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2025-04-17 15:19:44 +0000 > > > > Add POSIX psiginfo(3) call > > > > Signed-off-by: Ricardo Branco > > PR: 286133 > > MFC after: 1 week > > Github PR: https://github.com/freebsd/freebsd-src/pull/1666 > > We've been using 'Pull Request: ' for this trailer. > And the reason we do Pull-request: or Pull Request: is that both autoclose the pull request... We're working on moving to the git standard with dashes since it simplifies tool and can have better uniformity enforcement... Warner Warner > > > --- > > include/signal.h | 1 + > > lib/libc/gen/Makefile.inc | 3 ++- > > lib/libc/gen/Symbol.map | 1 + > > lib/libc/gen/psignal.3 | 22 +++++++++++++++++++++- > > lib/libc/gen/psignal.c | 6 ++++++ > > 5 files changed, 31 insertions(+), 2 deletions(-) > > > > diff --git a/include/signal.h b/include/signal.h > > index 388e164d7943..c1d341f317f4 100644 > > --- a/include/signal.h > > +++ b/include/signal.h > > @@ -115,6 +115,7 @@ int siginterrupt(int, int); > > #endif > > > > #if __POSIX_VISIBLE >=3D 200809 > > +void psiginfo(const siginfo_t *, const char *); > > void psignal(int, const char *); > > #endif > > > > diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc > > index 9b92e52cdfad..a8308a057b05 100644 > > --- a/lib/libc/gen/Makefile.inc > > +++ b/lib/libc/gen/Makefile.inc > > @@ -465,7 +465,8 @@ MLINKS+=3Dposix_spawn.3 posix_spawnp.3 \ > > posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3= \ > > posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ > > posix_spawnattr_init.3 posix_spawnattr_destroy.3 > > -MLINKS+=3Dpsignal.3 strsignal.3 \ > > +MLINKS+=3Dpsignal.3 psiginfo.3 \ > > + psignal.3 strsignal.3 \ > > psignal.3 sys_siglist.3 \ > > psignal.3 sys_signame.3 > > MLINKS+=3Dpwcache.3 gid_from_group.3 \ > > diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map > > index ca3974e6b747..21b66acba213 100644 > > --- a/lib/libc/gen/Symbol.map > > +++ b/lib/libc/gen/Symbol.map > > @@ -458,6 +458,7 @@ FBSD_1.8 { > > aio_read2; > > aio_write2; > > execvpe; > > + psiginfo; > > rtld_get_var; > > rtld_set_var; > > }; > > diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3 > > index cd3cef0b44a9..605c3cf2d8fe 100644 > > --- a/lib/libc/gen/psignal.3 > > +++ b/lib/libc/gen/psignal.3 > > @@ -25,11 +25,12 @@ > > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILIT= Y > OF > > .\" SUCH DAMAGE. > > .\" > > -.Dd May 30, 2016 > > +.Dd Apr 16, 2025 > > .Dt PSIGNAL 3 > > .Os > > .Sh NAME > > .Nm psignal , > > +.Nm psiginfo , > > .Nm strsignal , > > .Nm sys_siglist , > > .Nm sys_signame > > @@ -40,6 +41,8 @@ > > .In signal.h > > .Ft void > > .Fn psignal "int sig" "const char *s" > > +.Ft void > > +.Fn psiginfo "const siginfo_t *si" "const char *s" > > .Vt extern const char * const sys_siglist[] ; > > .Vt extern const char * const sys_signame[] ; > > .In string.h > > @@ -79,6 +82,16 @@ the string > > .Dq "Unknown signal" > > is produced. > > .Pp > > +The > > +.Fn psiginfo > > +function is similar to > > +.Fn psignal , > > +except that the signal number information is taken from the > > +.Fa si > > +argument which is a > > +.Vt siginfo_t > > +structure. > > +.Pp > > The message strings can be accessed directly > > through the external array > > .Va sys_siglist , > > @@ -104,3 +117,10 @@ The > > .Fn psignal > > function appeared in > > .Bx 4.2 . > > +The > > +.Fn psiginfo > > +function appeared in > > +.Fx 15.0 , > > +.Nx 6.0 , > > +and > > +.Dx 4.1 . > > diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c > > index ab044f683d86..291a6a9337a0 100644 > > --- a/lib/libc/gen/psignal.c > > +++ b/lib/libc/gen/psignal.c > > @@ -55,3 +55,9 @@ psignal(int sig, const char *s) > > (void)_write(STDERR_FILENO, c, strlen(c)); > > (void)_write(STDERR_FILENO, "\n", 1); > > } > > + > > +void > > +psiginfo(const siginfo_t *si, const char *s) > > +{ > > + psignal(si->si_signo, s); > > +} > --0000000000004002ed0632fe5a92 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Apr 17, 2025, 9:27=E2=80= =AFAM Warner Losh <imp@bsdimp.com&= gt; wrote:
On Thu, Apr 17, 2025 at = 9:20=E2=80=AFAM Konstantin Belousov <kib@freebsd.org> wrote:
>
> The branch main has been updated by kib:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D3b2f0bfc35167724a41c969c1823be= 6b1ede15ab
>
> commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab
> Author:=C2=A0 =C2=A0 =C2=A0Ricardo Branco <rbranco@suse.de>
> AuthorDate: 2025-04-16 07:52:13 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Konstantin Belousov <kib@FreeBSD.org>=
> CommitDate: 2025-04-17 15:19:44 +0000
>
>=C2=A0 =C2=A0 =C2=A0Add POSIX psiginfo(3) call
>
>=C2=A0 =C2=A0 =C2=A0Signed-off-by: Ricardo Branco <rbranco@suse.de&= gt;
>=C2=A0 =C2=A0 =C2=A0PR:=C2=A0 =C2=A0 =C2=A0286133
>=C2=A0 =C2=A0 =C2=A0MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A01 week
>=C2=A0 =C2=A0 =C2=A0Github PR:=C2=A0 =C2=A0 =C2=A0 =C2=A0https://github.com/freebsd/freebsd-src/pull/1666
We've been using 'Pull Request: ' for this trailer.

And the reas= on we do Pull-request: or Pull Request: is that both autoclose the pull req= uest... We're working on moving to the git standard with dashes since i= t simplifies tool and can have better uniformity enforcement...

Warner

<= /div>
Warner

> ---
>=C2=A0 include/signal.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 + >=C2=A0 lib/libc/gen/Makefile.inc |=C2=A0 3 ++-
>=C2=A0 lib/libc/gen/Symbol.map=C2=A0 =C2=A0|=C2=A0 1 +
>=C2=A0 lib/libc/gen/psignal.3=C2=A0 =C2=A0 | 22 +++++++++++++++++++++-<= br> >=C2=A0 lib/libc/gen/psignal.c=C2=A0 =C2=A0 |=C2=A0 6 ++++++
>=C2=A0 5 files changed, 31 insertions(+), 2 deletions(-)
>
> diff --git a/include/signal.h b/include/signal.h
> index 388e164d7943..c1d341f317f4 100644
> --- a/include/signal.h
> +++ b/include/signal.h
> @@ -115,6 +115,7 @@ int siginterrupt(int, int);
>=C2=A0 #endif
>
>=C2=A0 #if __POSIX_VISIBLE >=3D 200809
> +void=C2=A0 =C2=A0psiginfo(const siginfo_t *, const char *);
>=C2=A0 void=C2=A0 =C2=A0psignal(int, const char *);
>=C2=A0 #endif
>
> diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
> index 9b92e52cdfad..a8308a057b05 100644
> --- a/lib/libc/gen/Makefile.inc
> +++ b/lib/libc/gen/Makefile.inc
> @@ -465,7 +465,8 @@ MLINKS+=3Dposix_spawn.3 posix_spawnp.3 \
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0posix_spawnattr_getsigdefault.3 posix= _spawnattr_setsigdefault.3 \
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0posix_spawnattr_getsigmask.3 posix_sp= awnattr_setsigmask.3 \
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0posix_spawnattr_init.3 posix_spawnatt= r_destroy.3
> -MLINKS+=3Dpsignal.3 strsignal.3 \
> +MLINKS+=3Dpsignal.3 psiginfo.3 \
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0psignal.3 strsignal.3 \
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0psignal.3 sys_siglist.3 \
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0psignal.3 sys_signame.3
>=C2=A0 MLINKS+=3Dpwcache.3 gid_from_group.3 \
> diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map
> index ca3974e6b747..21b66acba213 100644
> --- a/lib/libc/gen/Symbol.map
> +++ b/lib/libc/gen/Symbol.map
> @@ -458,6 +458,7 @@ FBSD_1.8 {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0aio_read2;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0aio_write2;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0execvpe;
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0psiginfo;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rtld_get_var;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rtld_set_var;
>=C2=A0 };
> diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3
> index cd3cef0b44a9..605c3cf2d8fe 100644
> --- a/lib/libc/gen/psignal.3
> +++ b/lib/libc/gen/psignal.3
> @@ -25,11 +25,12 @@
>=C2=A0 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE= POSSIBILITY OF
>=C2=A0 .\" SUCH DAMAGE.
>=C2=A0 .\"
> -.Dd May 30, 2016
> +.Dd Apr 16, 2025
>=C2=A0 .Dt PSIGNAL 3
>=C2=A0 .Os
>=C2=A0 .Sh NAME
>=C2=A0 .Nm psignal ,
> +.Nm psiginfo ,
>=C2=A0 .Nm strsignal ,
>=C2=A0 .Nm sys_siglist ,
>=C2=A0 .Nm sys_signame
> @@ -40,6 +41,8 @@
>=C2=A0 .In signal.h
>=C2=A0 .Ft void
>=C2=A0 .Fn psignal "int sig" "const char *s"
> +.Ft void
> +.Fn psiginfo "const siginfo_t *si" "const char *s"= ;
>=C2=A0 .Vt extern const char * const sys_siglist[] ;
>=C2=A0 .Vt extern const char * const sys_signame[] ;
>=C2=A0 .In string.h
> @@ -79,6 +82,16 @@ the string
>=C2=A0 .Dq "Unknown signal"
>=C2=A0 is produced.
>=C2=A0 .Pp
> +The
> +.Fn psiginfo
> +function is similar to
> +.Fn psignal ,
> +except that the signal number information is taken from the
> +.Fa si
> +argument which is a
> +.Vt siginfo_t
> +structure.
> +.Pp
>=C2=A0 The message strings can be accessed directly
>=C2=A0 through the external array
>=C2=A0 .Va sys_siglist ,
> @@ -104,3 +117,10 @@ The
>=C2=A0 .Fn psignal
>=C2=A0 function appeared in
>=C2=A0 .Bx 4.2 .
> +The
> +.Fn psiginfo
> +function appeared in
> +.Fx 15.0 ,
> +.Nx 6.0 ,
> +and
> +.Dx 4.1 .
> diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c
> index ab044f683d86..291a6a9337a0 100644
> --- a/lib/libc/gen/psignal.c
> +++ b/lib/libc/gen/psignal.c
> @@ -55,3 +55,9 @@ psignal(int sig, const char *s)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(void)_write(STDERR_FILENO, c, strlen= (c));
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(void)_write(STDERR_FILENO, "\n&= quot;, 1);
>=C2=A0 }
> +
> +void
> +psiginfo(const siginfo_t *si, const char *s)
> +{
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0psignal(si->si_signo, s);
> +}
--0000000000004002ed0632fe5a92-- From nobody Thu Apr 17 20:45:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdqdr23vHz5slHn; Thu, 17 Apr 2025 20:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zdqdr15J6z49Zf; Thu, 17 Apr 2025 20:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J8QMTlBg9nPH2MXtaoPEXwSn5qzTQWKwXh+0G3W6AOU=; b=WOFLVVg2LC3sWHwtOAFIf6wACzgmD+suRQ9wczIePCjUn7EYKxQ3ckfbLxGb5hcmFUztyp mnSGwIfNPbDRwQ476Zf7zvh2+Kl69yFmjfn6Z6Iaz7ZsX1A7hIEkYB2cbD1J5cl3bCO+N3 YjboP/vjnytUAZ8flXusrvbfT1A5stcxMRxYNOgPdLlAXy+C85ZcgafIKCSSuGc/pltJzj 01bf6/13+fWULa5vwBxzWzNckWfvb9D3dvXooYTuELBe7vbtmMEDQJ6eUFZ+7uSN9x+m75 gEeMJL87DACmJAYHrUwi1Zems55tbdCOIXRcIjaS0sTHndZ04xH6GTdUqJQpFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744922704; a=rsa-sha256; cv=none; b=VhLpgIyFjgQrIWu8GTtegF5M5dHvYv7Semho1Df+Iuak8oH9YchRUL1lJ2+iFdWgCjHcuu c95SC6Y80Pj3/2aBPHBhGgh3C/xF/uy6weislS8zlc7YBssBXm8oBBsCYVGg9hcJmvZs7L bm56I2vRw1NNfSBubExnOK/nQAhQwyr1ULZy1qTrbt3Usn9dHSdQDBM6kWpp/xJF/d/7dx 5ihxwnAWTfTFYRp6AeEpQ559lOkL6YXmjtNDVuIN2LuBAYF7tYxc/0Zh6svf3NEu8HWT8o 4rScbLDstR9DomYQq2yPKztA2E2MyzES6+yQC6FFpWgFcU1ML/3n7uOe3ieQ/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=1744922704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J8QMTlBg9nPH2MXtaoPEXwSn5qzTQWKwXh+0G3W6AOU=; b=bxMsCyUaAVyc2rLBCq5UWahcGPMDZ61XWE5Sz4J5cOt080MgZ/sBbB8bXE5VhW8GWQlE9H dceK0lAeD2WIvihPtS3BwLB8V5rNFO5BhtYB4C6UMektb/Znx6OzX8cDAQjTuSjhmOeN6J gcYTwvtNGfnrCfMBPr8+OlLqsBWRnCyLtCimEh5sr+Hp/ZWTnFdbD58tF4HG96bB76Z+V7 kZEHY9L/YBXV5C73U+y5upiwdZITld4NgzWQMn2yedG+yUu5Cjos1/7sxz/VgC0Oyw2bKr p6nFbbSoOyX/GdzQCEPG+eUTNvqzOh3urcGVbNCkdNaGORkBrRGTVcz5oVS+7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdqdr0Kz2z13Tt; Thu, 17 Apr 2025 20:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HKj3QT071172; Thu, 17 Apr 2025 20:45:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HKj3tZ071169; Thu, 17 Apr 2025 20:45:03 GMT (envelope-from git) Date: Thu, 17 Apr 2025 20:45:03 GMT Message-Id: <202504172045.53HKj3tZ071169@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: 4048ccc6ae37 - main - kern_sig.c: extract the first stop handling into a helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4048ccc6ae374c015c31f7b35221d5da8fe7d63f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4048ccc6ae374c015c31f7b35221d5da8fe7d63f commit 4048ccc6ae374c015c31f7b35221d5da8fe7d63f Author: Konstantin Belousov AuthorDate: 2025-04-17 11:44:51 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-17 20:33:47 +0000 kern_sig.c: extract the first stop handling into a helper Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49678 --- sys/kern/kern_sig.c | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 0ee58af7fbe4..520577961c3a 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -115,6 +115,8 @@ static int filt_signal(struct knote *kn, long hint); static struct thread *sigtd(struct proc *p, int sig, bool fast_sigblock); static void sigqueue_start(void); static void sigfastblock_setpend(struct thread *td, bool resched); +static void sig_handle_first_stop(struct thread *td, struct proc *p, + int sig, bool ext); static uma_zone_t ksiginfo_zone = NULL; const struct filterops sig_filtops = { @@ -2820,6 +2822,29 @@ sig_suspend_threads(struct thread *td, struct proc *p) } } +static void +sig_handle_first_stop(struct thread *td, struct proc *p, int sig, bool ext) +{ + if ((td->td_dbgflags & TDB_FSTP) == 0 && + ((p->p_flag2 & P2_PTRACE_FSTP) != 0 || + p->p_xthread != NULL)) + return; + + p->p_xsig = sig; + p->p_xthread = td; + + /* + * If we are on sleepqueue already, let sleepqueue + * code decide if it needs to go sleep after attach. + */ + if (ext || td->td_wchan == NULL) + td->td_dbgflags &= ~TDB_FSTP; + + p->p_flag2 &= ~P2_PTRACE_FSTP; + p->p_flag |= P_STOPPED_SIG | P_STOPPED_TRACE; + sig_suspend_threads(td, p); +} + /* * Stop the process for an event deemed interesting to the debugger. If si is * non-NULL, this is a signal exchange; the new signal requested by the @@ -2880,24 +2905,8 @@ ptracestop(struct thread *td, int sig, ksiginfo_t *si) * already set p_xthread, the current thread will get * a chance to report itself upon the next iteration. */ - if ((td->td_dbgflags & TDB_FSTP) != 0 || - ((p->p_flag2 & P2_PTRACE_FSTP) == 0 && - p->p_xthread == NULL)) { - p->p_xsig = sig; - p->p_xthread = td; + sig_handle_first_stop(td, p, sig, false); - /* - * If we are on sleepqueue already, - * let sleepqueue code decide if it - * needs to go sleep after attach. - */ - if (td->td_wchan == NULL) - td->td_dbgflags &= ~TDB_FSTP; - - p->p_flag2 &= ~P2_PTRACE_FSTP; - p->p_flag |= P_STOPPED_SIG | P_STOPPED_TRACE; - sig_suspend_threads(td, p); - } if ((td->td_dbgflags & TDB_STOPATFORK) != 0) { td->td_dbgflags &= ~TDB_STOPATFORK; } From nobody Thu Apr 17 20:45:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdqds6Xcpz5skyH; Thu, 17 Apr 2025 20:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zdqds211zz49Nx; Thu, 17 Apr 2025 20:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2E77blHQKuaFuxhFZSOppKmGInyvHDF4Dwns3Jg3HZo=; b=lTCOyRY8hVw0a0RsLCmgvJVA1ZPdCPYJYGQQ/SJqQN9hJEG9eyGqxpRJdO4YbJ8XJuQRoN JCQmf6yRxR/EwTvnXXwyyDUXTXGOP/sk+yWcUMGiKpUoHlaHVp5R/srr2FtMlg+g94mDtw g8t4B6IZomIE3vxHgVZYxC4TzMlBo223cm5+J5cGL7kQLM5zU4WM+fDrtm3uvo6vvl4zx8 yOXq4oS6OJnyMKZYyxP3Qtak/A9cykT0gmE1hQs0Rn989zArBWcWPmhJBXYohs9i0PG8/p vwe2OdXMgvRxIHBYxv5L7LR/2TgMMMgBA2qYOB0WgYxWo21BNh90/g83WNpBfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744922705; a=rsa-sha256; cv=none; b=wxR2MKYqzTDpi5+/WUcNJbL8v9JaX4emYB+G9Ghwp2bqXGYBxEg2uaUnVspkyfqaYVbFPM +Ng6D+Qvvlv6vdjO0fpL0j+FIB8bbqF+vti66OA/Ix48xpPzaEHqC5FcIeUbOVJMz2NCuF zkR67d2ImM/Dxf9NtYql6o/YmHLF8eWQ4pCtYZtkL1sgXbDNznDSsjPALZ/hz/uAPN94Ii d+SC8Hgc8bhOJZmuOSaofaGbxWnFpdF4euS5o/wNjHlcA8eWT78AGSq/OTIIHv1WDoVX5e AgF/QZp/yHxP6q3cVHntmHAmAjowRdqyQYEpJfXwjvaT107YMDXnuxz6fquY0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2E77blHQKuaFuxhFZSOppKmGInyvHDF4Dwns3Jg3HZo=; b=eUw+E4a3IkeqpKwdsha9nRwzZpod25Hn4ixQwYyZflX4tRyoEmgrRmMmCogqMxRzXwNpNw UyVx4M8XwaZ1EDQrDIoOETQMR0i9ZqJl4GTi0uwsx5Xd/4BEagLiUHJGxwPtRNDmB7GUpz N6Rs7RA0lMzK1DWzDeKT+fP/PvMxE3MkHW6re+lq/mxVcBlQ0uuqS3tNahrGEaCzqQo1lC DzrRxpzGi25xP0j8vwaj7XHJHD8RvFXwFnIIl+U7OgpHXUUvcbMx7nL6enMRWj2lOdDch9 gE0KHiEyDOth094rEq+GwA2ZqKZ45x3Acsj3bWV3EMa5sSj0AogG6FODDHV99A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdqds1Zzdz13kp; Thu, 17 Apr 2025 20:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HKj5ZN071205; Thu, 17 Apr 2025 20:45:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HKj5fd071202; Thu, 17 Apr 2025 20:45:05 GMT (envelope-from git) Date: Thu, 17 Apr 2025 20:45:05 GMT Message-Id: <202504172045.53HKj5fd071202@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: ecc662c749b1 - main - PT_ATTACH: do not interrupt interruptible sleeps List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: ecc662c749b11434c63a0d3578fc40df6b4798ec Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ecc662c749b11434c63a0d3578fc40df6b4798ec commit ecc662c749b11434c63a0d3578fc40df6b4798ec Author: Konstantin Belousov AuthorDate: 2025-04-16 00:09:44 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-17 20:33:47 +0000 PT_ATTACH: do not interrupt interruptible sleeps Handle the first SIGSTOP from the PT_ATTACH specially: instead of waking up some thread in the target process, execute sig_suspend_threads() in the debugger. This is equivalent to the action of the xthread, except that all threads are suspended without interruption. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49678 --- sys/kern/kern_sig.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 520577961c3a..ba3b04ac6e22 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -2365,6 +2365,15 @@ tdsendsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) if (prop & SIGPROP_CONT) sigqueue_delete_stopmask_proc(p); else if (prop & SIGPROP_STOP) { + if ((p->p_flag & P_TRACED) != 0 && + (p->p_flag2 & P2_PTRACE_FSTP) != 0) { + td->td_dbgflags |= TDB_FSTP; + PROC_SLOCK(p); + sig_handle_first_stop(td, p, sig, true); + PROC_SUNLOCK(p); + return (0); + } + /* * If sending a tty stop signal to a member of an orphaned * process group, discard the signal here if the action @@ -3345,7 +3354,8 @@ issignal(struct thread *td) } } - if ((p->p_flag & (P_TRACED | P_PPTRACE)) == P_TRACED && + if (false && + (p->p_flag & (P_TRACED | P_PPTRACE)) == P_TRACED && (p->p_flag2 & P2_PTRACE_FSTP) != 0 && SIGISMEMBER(sigpending, SIGSTOP)) { /* From nobody Thu Apr 17 20:45:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdqdt5c99z5slNN; Thu, 17 Apr 2025 20:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zdqdt3DMjz49L7; Thu, 17 Apr 2025 20:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lheUgNwghlLdqUb9FEvkWCfWwf7s0BeD9MnXtHh2sQE=; b=W3TK+dlilIysby4UiKNE2kz2VCWlZ6IWCnslEDaIC3ok0pr+ZdYUHxvPi3kDSeoejdD1ho c5V0gzNKvXEwT5CKu4jh7ODs4bAfobbSEzHUmCg6nuvpdpJlx9jbl4MLe37yu5GgAet4Yo QbNfhzNFk1fN4671QpOmav2I4alrgimDDyIrbqwi97UcNwpXMX9NZUGpKS+oH+y3MJF63n z3F97Vc81nvznkOIHSq5T9Sd2KyCTi/3PyizkpqB1OwZO+82vuzIO7jXJYQVjGYP7xE7mT pHaYdjgUW3cZCL2dIswm5krmzPGLlOskcLoeEoAPZHS6v0c28GV81EWDvFRY2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744922706; a=rsa-sha256; cv=none; b=biobTlv9VDv39KbfXne+NQshW60nRaZfcjcawCxgtCPRuj/VXKmIMeIU4TbKqWT2vjEKKH gdzRGIJnScJyxECNwZEIPtOleKILLesiUSQjrdM3j8LfqYo403cGC/X43ico+NUaufipUh p8eRP3ipaaKFWXCqe6uOc9cO34Z34f2uhNuiZvFLlfCRTdaRlw2kPjBv4Tuws6rtMpp4Hq RtJkUr0VhXN4+RyfLhep52fJRBfquqHtpfddG2iETKpeakkrTLO3FIWpv+UbJXV8x4uBP4 0ztdKSy7A2KaO5xpdZrVzj2hIShroIHbQim6z7MJut+NFp3V4+U/LbrBgj11kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lheUgNwghlLdqUb9FEvkWCfWwf7s0BeD9MnXtHh2sQE=; b=ZLgzFa9VcwwT9mNIaIpqdSkIGJeNOODs5SFSXrzc/2hQCxXGv+cqly3bHzHhFqIB4sA8sK jOA/+lBGlMZjG/XkpQjqk0tEvtGHI8Q+odJHi4nz48hFVM7Fn7PADTmWhuNI5cr2TdsgNQ Xf/aKsjBE7bW2jkdv7J8xi6cu7+/bp0qaxkkbZJN71dkcM11+SsapZ1ePEpaf5NYmwqKOe qPONO2hSelV9c5Aye3gKgz8d6XlBH2/QT8GJl3brLjW6Mplu7Fp4DFo/ydemBpnjAnh9AC DwZgv+wp4VhwgSFOeK8fPS4OCBNxIuLQJED202adkWEbNLlY1HaBQSRgak+M2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdqdt2ZR9z13pQ; Thu, 17 Apr 2025 20:45: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 53HKj65W071238; Thu, 17 Apr 2025 20:45:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HKj6Ra071235; Thu, 17 Apr 2025 20:45:06 GMT (envelope-from git) Date: Thu, 17 Apr 2025 20:45:06 GMT Message-Id: <202504172045.53HKj6Ra071235@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: a6b7d5cddacd - main - kern_sig.c: add chicken bit for old way of SIGSTOP handling on PT_ATTACH List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a6b7d5cddacd4aa14ee058195eedfe207a69029e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a6b7d5cddacd4aa14ee058195eedfe207a69029e commit a6b7d5cddacd4aa14ee058195eedfe207a69029e Author: Konstantin Belousov AuthorDate: 2025-04-17 11:51:42 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-17 20:33:47 +0000 kern_sig.c: add chicken bit for old way of SIGSTOP handling on PT_ATTACH Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49678 --- sys/kern/kern_sig.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index ba3b04ac6e22..91287b3c1f87 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -174,6 +174,11 @@ SYSCTL_BOOL(_kern, OID_AUTO, sig_discard_ign, CTLFLAG_RWTUN, "Discard ignored signals on delivery, otherwise queue them to " "the target queue"); +static bool pt_attach_transparent = true; +SYSCTL_BOOL(_debug, OID_AUTO, ptrace_attach_transparent, CTLFLAG_RWTUN, + &pt_attach_transparent, 0, + "Hide wakes from PT_ATTACH on interruptible sleeps"); + SYSINIT(signal, SI_SUB_P1003_1B, SI_ORDER_FIRST+3, sigqueue_start, NULL); /* @@ -2365,7 +2370,8 @@ tdsendsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) if (prop & SIGPROP_CONT) sigqueue_delete_stopmask_proc(p); else if (prop & SIGPROP_STOP) { - if ((p->p_flag & P_TRACED) != 0 && + if (pt_attach_transparent && + (p->p_flag & P_TRACED) != 0 && (p->p_flag2 & P2_PTRACE_FSTP) != 0) { td->td_dbgflags |= TDB_FSTP; PROC_SLOCK(p); @@ -3354,7 +3360,7 @@ issignal(struct thread *td) } } - if (false && + if (!pt_attach_transparent && (p->p_flag & (P_TRACED | P_PPTRACE)) == P_TRACED && (p->p_flag2 & P2_PTRACE_FSTP) != 0 && SIGISMEMBER(sigpending, SIGSTOP)) { From nobody Thu Apr 17 20:45:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdqdw0D5Hz5slNQ; Thu, 17 Apr 2025 20:45: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 4Zdqdv3fPdz49Rj; Thu, 17 Apr 2025 20:45:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vuRztD8rFxsP3UdMqSNSd53kptfyvrKBaL86M/nz0T4=; b=VWh36mUBdz8Eo9ti2x78KlEGaVtQ0IAQ6/qlfz6zo9MCl1FjOwn9CeR/JxAKXiNEbz5FNk U0JtvW3RI20cj9J34XYBZhgS1cH9jIgXZoJyRaccGPe4SiDnAhd32EruPKlGwrhP66COfS SJ0ov8/f6hXOo+zzHBaTSM8KLFJ/vqf4MtWx78VfXZN/YIrF+Hkd07EcKeAoN4r/k3N7Pu oamYNrfzk2dsb8tVatn3JPXc1A1cvbmrgrCzk0C6Zs3Dba8HFw9zKNXgOlfqN69Om8yYk5 +60+lGNKTvfJwoNn9Xt1iamzOmxQ9lUNnEf51tsNSqBKcLG1OAv9mwmFn019DA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744922707; a=rsa-sha256; cv=none; b=VH0Xv6Ipn6fp/geVCghzVxJRFp5w2PBHYF4LpM/x/oUKxyB0rqQerHBN9vvnp8k8ttLDym sHJmuRpls25lLNiDiMIlMvLyMF7+UlrXUFjbxl+s9SuXTSrMHl6A4PZ/tMekB5RsO0S1t2 fpDk8fd/IVLCUMbcqK575MmtU+0UwtZ4Nb9hUt5wtA9j+4L1EZGLfV8nbuVMS54QdprRPF FeaWbhgB+RRgDRtTXLe70+wg5AxKyqVe/6rHlery0BI2i3YuG3PQkxyJoa+IfwpKhA2gS7 PyzggRBLJqylQ66AirHJtGlt7taNokyLNpIAlb/z19HzGjK64U1yQuVgHEIH3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744922707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vuRztD8rFxsP3UdMqSNSd53kptfyvrKBaL86M/nz0T4=; b=Bq2zIuGCNT4v6TkHZk3zUbtmTmcB0roxUVjHQ83fHXUzRcnVu+LhQw6vGADFn4Q+H6sckM JNM788CzV4B9evjGEwWkGLYJglAHecidvh9dyZHyInVnLzAboGUWK5LNHNmH/0833Oj4Ll LgEYHhy33SMarJRlwfS/f55vzBk8J/8huoIu1LfwEDTExMqNlde9lhZQTH1o7uzQY4l3pp ztqbvhxiZTiALKOqAvt2Xscp5p9e0HQZil1vI7LiMA/DvsAnToQ8dF0hEdpy1FAUscADX9 xioIe71HpELkvjAeRkct1J2di4T75z6sX9SQlgwdxnRLNGcmZZBnQnhrLdsUrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdqdv3BN9z13WW; Thu, 17 Apr 2025 20:45: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 53HKj7OY071278; Thu, 17 Apr 2025 20:45:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HKj7sp071275; Thu, 17 Apr 2025 20:45:07 GMT (envelope-from git) Date: Thu, 17 Apr 2025 20:45:07 GMT Message-Id: <202504172045.53HKj7sp071275@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: 1f8d845d1cdf - main - ptrace_test PT_SC_REMOTE: fix a race List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 1f8d845d1cdfeaefa539df5f6f33bec3da65152c Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1f8d845d1cdfeaefa539df5f6f33bec3da65152c commit 1f8d845d1cdfeaefa539df5f6f33bec3da65152c Author: Konstantin Belousov AuthorDate: 2025-04-16 15:02:58 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-17 20:33:47 +0000 ptrace_test PT_SC_REMOTE: fix a race Only one of PT_TRACE_ME/PT_ATTACH is needed. Having them both causes the race between parent and child on the attachment way. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49678 --- tests/sys/kern/ptrace_test.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/sys/kern/ptrace_test.c b/tests/sys/kern/ptrace_test.c index db681293f043..de411af6bc40 100644 --- a/tests/sys/kern/ptrace_test.c +++ b/tests/sys/kern/ptrace_test.c @@ -4378,7 +4378,10 @@ ATF_TC_BODY(ptrace__PT_SC_REMOTE_getpid, tc) exit(0); } - attach_child(fpid); + wpid = waitpid(fpid, &status, 0); + REQUIRE_EQ(wpid, fpid); + ATF_REQUIRE(WIFSTOPPED(status)); + REQUIRE_EQ(WSTOPSIG(status), SIGSTOP); pscr.pscr_syscall = SYS_getpid; pscr.pscr_nargs = 0; From nobody Thu Apr 17 21:59:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHJ2cljz5sqKm; Thu, 17 Apr 2025 21:59: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 4ZdsHH6Spcz3V4L; Thu, 17 Apr 2025 21:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=me9/qwt6JYUtWyd3cOmESsMMvFrePn+1W8DrofdIxN8=; b=F9XDL4LmmslE0rXvgJVVKiLanpSpbwJi3V1L/fPhBoLr40ar0qPK1qbei8Z6DR4AmNyGF5 qqcGmwJNubDhOOKM/nbJFYqmwwrnTiTNv0Pz0/dfcVVhQJ2Bl2fRBvDSLGjfh7UTbyjtoo jDgWCxd7o0EPN5p2PW0LMudh9HE9R7ERaOaKN+WoxvhWt9QY5wqObkeqm2fJcBwHdQL3O5 Jkl27QNcEjGphYH082/Jh2wiB5QS5TUOUapI7cfzjak4/bxjUCELiuicCEDPY1yPDYEwHU UvJeyryMkdU0FuskTmNZuFoyXqiTDl7igdu6vQM2Gd30UIRNS9yggJMdIhDOrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927147; a=rsa-sha256; cv=none; b=Px9CqVE0CFQrBrv8rit+A1Ptl12NkiEQmwDEdwL6s+oMpPxEg1/DQg2kaH0+kC7WBFqz0D LIoxf5X3OAemGdf4kRhhvwrBTwxAT7EEWB7K26VjLmeNl4wC/nNZ3J7JpHxRC0YGNrqJNW BBISZ9s+MlDr7Xwj2njoDueRmZrz5JLEUN9VrhN6Z/h+svWLfL0zzoMtv9ereUNViacVxV crt/BGg3JPnCG3QGdxhuXOk0jkJwTDajKh/kJfIMB90FwpMpHhRgUW1BxfkrrYPdDb3CHO 4j6Jja6W+SrSfUdW1JiRxnjYEM9mNgGxlvj7Px9roPIvi8k8nLne+n6PXrPIRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=me9/qwt6JYUtWyd3cOmESsMMvFrePn+1W8DrofdIxN8=; b=BVhcA9krlXAloEkTMTgpetzQgjFy2H1MMYfFP4PLzGE/+myT5wN/pYFooKVGaxKl50plBq qqJ8PLBM4nIh8+S4ixigKpspOhkC9VygHs36x8IfL95hQ30sVUFUYk2sWCRaxTIqPcWLzg kHgJZL0jU3SwkM8+byXV12ihKH0hQfoInVGUVxgv8i1vzLM4W9MwaV0A6pW144HJvJUfof Krov+16dTOsMMRKyBb4epLLtXOgrrjJhoHID0u4yEPxOwcogE/dlZUppmJ/DfJamgTsaw8 rM307oCRj6I9Kai3cHWBn81TdblrWMARFxQjPxLn6K5MSSdYRNsiPYAe7p6i8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHH62CJz15mT; Thu, 17 Apr 2025 21:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HLx7t0002464; Thu, 17 Apr 2025 21:59:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLx7M7002461; Thu, 17 Apr 2025 21:59:07 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:07 GMT Message-Id: <202504172159.53HLx7M7002461@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: 4caaab2e6d49 - main - kboot: Spell Reserved correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4caaab2e6d492c30b21de6aa9c251d5071724eb9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4caaab2e6d492c30b21de6aa9c251d5071724eb9 commit 4caaab2e6d492c30b21de6aa9c251d5071724eb9 Author: Warner Losh AuthorDate: 2025-04-17 04:03:10 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:45 +0000 kboot: Spell Reserved correctly Also, remove trailing NULL entry that's no longer needed. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49854 --- stand/kboot/libkboot/seg.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/kboot/libkboot/seg.c b/stand/kboot/libkboot/seg.c index 6979d5cfa5fd..708170b6c381 100644 --- a/stand/kboot/libkboot/seg.c +++ b/stand/kboot/libkboot/seg.c @@ -216,8 +216,7 @@ static struct kv { linux_code, "Kernel code", KV_KEEPER }, { linux_data, "Kernel data", KV_KEEPER }, { linux_bss, "Kernel bss", KV_KEEPER }, - { firmware_reserved, "reserved" }, - { 0, NULL }, + { firmware_reserved, "Reserved" }, }; static const char * From nobody Thu Apr 17 21:59:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHK2Kmhz5sr4t; Thu, 17 Apr 2025 21:59: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 4ZdsHK0qbKz3Tln; Thu, 17 Apr 2025 21:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmhTswf18K7ziCHWypym6XTsdRDGE1+/L5qfhamX8tg=; b=giVOFTcRUJMzCnqt71yBhAdkC11r71Tcr/3ZUQn50uZSWrMG/YW0cYGvieOyZAJi/1pZX6 5f/GS8foce9fT8iYRk8lrkWA+rW5GV9nXFKZ63G1KwvhowgrVSVG+D5hQlsZaz3ScaJJXk xDbTYaMb2WkoKne/Di12XLGHh6/JBsUTy1eApAXJyybM+eG4gXg0Zm9jaDB4rGPYVbTpfj t08fXPS1eRC/uvYX7c837gQj6hBVTrDldYeV4Yo95BWciTjN/X9xerofSNYIm3RjmcXJGW VJFhC58aSAgdXlzbAtq5ryeKonID8Ryo9Fq3u2gPT5izqYlThq9a6iY0hMh9zw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927149; a=rsa-sha256; cv=none; b=rRMUhSfUpjsxMzMglKQ7qFobQWw0/6bSqFrLXItYCX/brfbTL6qD2WksmBtPdlKXg57AjM UtUqSXPn+dkAEYE7HvTfvVs9OJR6flyx/cGyQM18CwrPcL73lVub/MvPCMsFzqmQBg4rNR uX737j6qHLQ7A7R4LjUfl86ZZYJ1liG5bSkhCXBe5VrmF/dUdJUPxd0EDzZOV3A4+ejZWi B2XG22/jbW1Ffz9s/GTvvz0glMLgdMO6eIVXnpEy+0OCvd43t2m49awpB85ic0E3hgdoeu M8dnCb1o+L0mCB2ZGzoNpSzkvZupV4SGmb+KExXWoHmiAu0hJHl5DoNdOY/48A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmhTswf18K7ziCHWypym6XTsdRDGE1+/L5qfhamX8tg=; b=wZambvGODWnNbxzQbmEATVpvagCeG6d4P/gUgHza6Wg0MqNfnDxn25pXGY9Kx0O6KPP6ge 8q4mcFbHdSPVKRhff3+ZqnhRdLGuuod//TU8at+2cUqC4Ude+SgYjOtYgZxpLac4hwjBxs DZT4hKsLiAe2Nx3fIg14/LYcUi64sc/kTHa/Fm8attCJIup3nP6ng7uM7gJvWphho3as5n 0kDf8HMGnhCaxoG8/kURpSTDW25Q9oJvNUz8w8RDvyD//NkVKOK3VP24lfRYHflbSodIHl SucvNzG/WZ46ozxY0dy1vU2cqXJGGttW75ZMuzuVKk4qBg18SYBE/BIgqJLRZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHK0L1Dz15Zd; Thu, 17 Apr 2025 21:59: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 53HLx8TK002499; Thu, 17 Apr 2025 21:59:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLx828002496; Thu, 17 Apr 2025 21:59:08 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:08 GMT Message-Id: <202504172159.53HLx828002496@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: 58c99df2196c - main - kboot: .note.GNU-stack is needed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 58c99df2196c5564a6922dcfe4d03387cebdd10c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=58c99df2196c5564a6922dcfe4d03387cebdd10c commit 58c99df2196c5564a6922dcfe4d03387cebdd10c Author: Warner Losh AuthorDate: 2025-04-17 04:03:26 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:45 +0000 kboot: .note.GNU-stack is needed Add '.section .note.GNU-stack,"",%progbits' to all assembler. Newer versions of clang complain when this isn't present because executable stacks are going away in the future. We don't need an executable stack anyway. Sponsored by: Netflix Reviewed by: kevans, andrew, emaste, jhibbits Differential Revision: https://reviews.freebsd.org/D49855 --- stand/kboot/kboot/arch/aarch64/tramp.S | 2 ++ stand/kboot/kboot/arch/amd64/amd64_tramp.S | 2 ++ stand/kboot/kboot/arch/powerpc64/kerneltramp.S | 2 ++ stand/kboot/libkboot/arch/aarch64/host_syscall.S | 2 ++ stand/kboot/libkboot/arch/amd64/host_syscall.S | 2 ++ stand/kboot/libkboot/arch/powerpc64/host_syscall.S | 2 ++ 6 files changed, 12 insertions(+) diff --git a/stand/kboot/kboot/arch/aarch64/tramp.S b/stand/kboot/kboot/arch/aarch64/tramp.S index 32616f239c50..f58a95cb8463 100644 --- a/stand/kboot/kboot/arch/aarch64/tramp.S +++ b/stand/kboot/kboot/arch/aarch64/tramp.S @@ -99,3 +99,5 @@ tramp_size: .globl tramp_data_offset tramp_data_offset: .long trampoline_data-tramp + + .section .note.GNU-stack,"",%progbits diff --git a/stand/kboot/kboot/arch/amd64/amd64_tramp.S b/stand/kboot/kboot/arch/amd64/amd64_tramp.S index b95e99cbaf0f..2f2f765d3547 100644 --- a/stand/kboot/kboot/arch/amd64/amd64_tramp.S +++ b/stand/kboot/kboot/arch/amd64/amd64_tramp.S @@ -105,3 +105,5 @@ tramp_size: tramp_data_offset: .long trampoline_data-tramp .size tramp_data_offset, 4 + + .section .note.GNU-stack,"",%progbits diff --git a/stand/kboot/kboot/arch/powerpc64/kerneltramp.S b/stand/kboot/kboot/arch/powerpc64/kerneltramp.S index 211a6e474d2a..e9678dc02e72 100644 --- a/stand/kboot/kboot/arch/powerpc64/kerneltramp.S +++ b/stand/kboot/kboot/arch/powerpc64/kerneltramp.S @@ -99,3 +99,5 @@ endkerneltramp: .data CNAME(szkerneltramp): .long endkerneltramp - CNAME(kerneltramp) + + .section .note.GNU-stack,"",%progbits diff --git a/stand/kboot/libkboot/arch/aarch64/host_syscall.S b/stand/kboot/libkboot/arch/aarch64/host_syscall.S index db3ecf0f885d..3b1c345f2cf6 100644 --- a/stand/kboot/libkboot/arch/aarch64/host_syscall.S +++ b/stand/kboot/libkboot/arch/aarch64/host_syscall.S @@ -16,3 +16,5 @@ ENTRY(host_syscall) ret /* Note: We're exposing the raw return value to the caller */ END(host_syscall) + + .section .note.GNU-stack,"",%progbits diff --git a/stand/kboot/libkboot/arch/amd64/host_syscall.S b/stand/kboot/libkboot/arch/amd64/host_syscall.S index 5bf0fca0cec1..0869bfe245f6 100644 --- a/stand/kboot/libkboot/arch/amd64/host_syscall.S +++ b/stand/kboot/libkboot/arch/amd64/host_syscall.S @@ -27,3 +27,5 @@ ENTRY(host_syscall) ret /* Note: We're exposing the raw return value to the caller */ END(host_syscall) + + .section .note.GNU-stack,"",%progbits diff --git a/stand/kboot/libkboot/arch/powerpc64/host_syscall.S b/stand/kboot/libkboot/arch/powerpc64/host_syscall.S index f9108065ebfa..84fde2041704 100644 --- a/stand/kboot/libkboot/arch/powerpc64/host_syscall.S +++ b/stand/kboot/libkboot/arch/powerpc64/host_syscall.S @@ -30,3 +30,5 @@ ENTRY(host_syscall) blr /* Note: We're exposing the raw return value to the caller */ END(host_syscall) + + .section .note.GNU-stack,"",%progbits From nobody Thu Apr 17 21:59:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHL58vvz5sr4y; Thu, 17 Apr 2025 21:59: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 4ZdsHL12TQz3TpF; Thu, 17 Apr 2025 21:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pLM0X8ZhiqYHKP3UpQoN0fSWtQaVcBG2jnU9JlNCOGQ=; b=yT+uVePuiqXJzwpwch63sxThBC8+aLNGdEf62AWKqi4ZylmHdbOGvXsQnd+wf6OhQ6bQ6g B0hEsuki6STaMTljBri/S8upf5mrUwUZ/p3eTZFe+FVopIJSn3h5yxvluKZf6aRG2lSmfM edlGxlUkXrqGje9y61d+AdkcFoY44wBNR84gMUfoZuzQ5XQ8f4wrjVj2cWdu78vJEIUGk+ hPnadowKSMdZy0hQDkZIKUDLyyN9grfe1lpuzrG8rh6BenAd3dduZvr1jbHMjXg0tU2F0C PgCLwcm2Yp476Pl42/xOfkq2aI53CgR8qSoiSExxDFDqNFAaNZuz/V73ckISgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927150; a=rsa-sha256; cv=none; b=cPJr6NsDiZrPlDnagnO6hLPDxxwdKZEC3NLo2o7ZvwvjDSVBPFoAoU/klCpZiWIpKGGcmc lCrVdlWCilq+tdoLipgZ4PJNB9TelsQWhm0WeEhiDjwP0yNgQw6hS5t1ZQvemVAMUHeN4I 2HPMBymHeXmC8Ix8GQQ8VwUdV3Qccy7EruBt+/A6eIUQ5SkPH8OpxZ8QAgViYRuePa9wC7 FF6nRy9FwzETaX8pyQdq56fzqA6dPdXeZ1yVUj7C62l36Wh5qESAniwnrgCbwp00ewCwiX iPGfjMwMUYNPNHer5ml6VqC1I9ARn+ZrmmQao3dTGWAZAj78339mXPg4+Y0s1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pLM0X8ZhiqYHKP3UpQoN0fSWtQaVcBG2jnU9JlNCOGQ=; b=M9aRFG/lbOZBkn+3V+EtQZAHk29QtpnFkb1cRYzCwbPNRXJJArC4OG6nc6UGtb03SjWVHT 9AosB/qpnleIO+qoxKMmJU9/5b9SlzGWl2XYxlGiXOXjeknk+c0Fqr0D68JmdblLqdhcK2 i9DWJZ+HvClXBkfMceTwXlxJw9huNf6pXqUw6EHLGaMjdMN6/eq8x6Hqqp0ASordXMO1Lk 1GEEY/1uyVtQYKWfcW7t49gB4kamnnMSPpId/yw0F++mh16r3VGk7Yx4SKk2aTjx62UWNa jSFBWZD5kqX4Xfx7x5T8ykLImbxAdqb8RWct4M/T91SOAUTJ420cheGxLDkcGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHL0SBfz15l8; Thu, 17 Apr 2025 21:59: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 53HLxA6T002531; Thu, 17 Apr 2025 21:59:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLx98Z002528; Thu, 17 Apr 2025 21:59:09 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:09 GMT Message-Id: <202504172159.53HLx98Z002528@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: 14acbf6159c3 - main - kboot: Add option to parse 32-bit quantity List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 14acbf6159c3efa8ce3965bb1211d4232af3fb4f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=14acbf6159c3efa8ce3965bb1211d4232af3fb4f commit 14acbf6159c3efa8ce3965bb1211d4232af3fb4f Author: Warner Losh AuthorDate: 2025-04-17 04:03:34 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:45 +0000 kboot: Add option to parse 32-bit quantity The type that's exposed from sysfs' memory map is 32-bit and so is the data-type of memory description. Sponsored by: Netflix Reviewed by: kevans, andrew, jhibbits Differential Revision: https://reviews.freebsd.org/D49856 --- stand/kboot/include/util.h | 1 + stand/kboot/libkboot/util.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/stand/kboot/include/util.h b/stand/kboot/include/util.h index ca71277bc66a..682ab8830bfa 100644 --- a/stand/kboot/include/util.h +++ b/stand/kboot/include/util.h @@ -7,4 +7,5 @@ #pragma once bool file2str(const char *fn, char *buffer, size_t buflen); +bool file2u32(const char *fn, uint32_t *val); bool file2u64(const char *fn, uint64_t *val); diff --git a/stand/kboot/libkboot/util.c b/stand/kboot/libkboot/util.c index 0100a7cc5d8a..c7fe8b542643 100644 --- a/stand/kboot/libkboot/util.c +++ b/stand/kboot/libkboot/util.c @@ -44,3 +44,16 @@ file2u64(const char *fn, uint64_t *val) *val = v; return true; } + +bool +file2u32(const char *fn, uint32_t *val) +{ + unsigned long v; + char buffer[80]; + + if (!file2str(fn, buffer, sizeof(buffer))) + return false; + v = strtoul(buffer, NULL, 0); /* XXX check return values? */ + *val = v; + return true; +} From nobody Thu Apr 17 21:59:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHN4K59z5sqvq; Thu, 17 Apr 2025 21:59: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 4ZdsHN2sX2z3Tx8; Thu, 17 Apr 2025 21:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sduElGHA9/L5HufBw6jPmRSmQHe58XK2TCZ1Tf+bZZ8=; b=Y+hNcRfGUnc6zIWofHvCZggCF7FNhSY33VTND7y2acH4IYfWP5bPYRz3lFtjlV5jiB2od7 yf4M1hPUxLLlx6tQ8TtX5my/LkhmdosgNFDOMG8dsVaPSWSn6mtcWcwUfKwBOwz7x28hI8 BQyRoCO35WndesNhRNt2LRau65kkQ9LC02kjAbTaEtvIyPhZrLuTfeTDI+u7/QuYUyJe3D p7YK8fSULMqArI8ASTAzVB2++GYT1ZzMu+4hfnsA+zmBPGPOIQnEbCbTdOKnnXhcvWiz41 JkziMPsa01VREMWaQlr62q34438UBTDwy+pWQcw/4EN4v5SnmAtqAIK/ClNj0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927152; a=rsa-sha256; cv=none; b=Fxiy718lSST0pWtAixhgxKR0ZRetxbRqUbIxX7Kj3+hkPal+k0YjY/Xn9sly1CZesQr9iM DyRuAUlJ/owCZ4X3Jq8QMjlIbAgA7llOZCVm/Pa7fXM3IsT9w0aFT4UhpodKvQM1+t0pYs AEoH3at6i9Os35ez/Jg0C2LHHPxbv1Q52lzpj6hKA7UDS22hkevQP79sh38/916Wb7r4es NdutmLjMMJern+U7c7plvEmDDGE2sf3rU51Wb8PAAj3KDZr8UdALh5DgWiO6K0TEci4OXA IqtJcDDd3Gl0E+A3VyrFrSZB/NsMsGSjQ5omq8s2t8M240tx33I8qvlFaFvMEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sduElGHA9/L5HufBw6jPmRSmQHe58XK2TCZ1Tf+bZZ8=; b=GY7Z51w7wJcIT/2fcgaoQ3aL2yRv7dxs/FGnN7FUNsxk8z0SEAkIvQeChY4dLTh81iU3il hYTwidjORez7mv/S/L6vz9rIIlQypXbe/6h12016IF1aDHLpWnGY5yZdubkq3024HPiaeM +9hYcjqOsJDZyqCFds68ZerjFPtUStgFiKkuzVDSfs92uHc+PUMHoVA8ymf+Kp/wvrxKWZ vxa2Ck4jIB7B1DErozKPPWveeYxb3mISNJsWQesCGxXLTqa4Szv0iCg9C3g8iXcKS2Vae/ Db7X3U9RBkaLyoQrWXlQs6iNRBtR48H7koEVkGO/XsGZIZ3Wt91Jwz7trcH+Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHN2L1rz15mV; Thu, 17 Apr 2025 21:59: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 53HLxCtR002595; Thu, 17 Apr 2025 21:59:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxCha002592; Thu, 17 Apr 2025 21:59:12 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:12 GMT Message-Id: <202504172159.53HLxCha002592@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: f0f44cdb69c1 - main - kboot: Save the upper limit of the call stack. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: f0f44cdb69c16842cec5c8b0716edeff214eebf6 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f0f44cdb69c16842cec5c8b0716edeff214eebf6 commit f0f44cdb69c16842cec5c8b0716edeff214eebf6 Author: Warner Losh AuthorDate: 2025-04-17 04:03:48 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:45 +0000 kboot: Save the upper limit of the call stack. The location of argc argument is a fine limit for the extent of the stack traceback. We could save the location of return address for the call to _start_c, but we'd have to move that into MD assembler. While not hard, it wouldn't improve the traces we can get. And the math to find it is architecture dependent (though the same for both arm64 and amd64). Sponsored by: Netflix Reviewed by: kevans, andrew, jhibbits Differential Revision: https://reviews.freebsd.org/D49858 --- stand/kboot/libkboot/crt1.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stand/kboot/libkboot/crt1.c b/stand/kboot/libkboot/crt1.c index 2fbe00262da7..67ddacccfd26 100644 --- a/stand/kboot/libkboot/crt1.c +++ b/stand/kboot/libkboot/crt1.c @@ -57,6 +57,8 @@ extern int main(int, const char **, char **); #include "start_arch.h" +void *stack_upper_limit; + void _start_c(long *p) { @@ -64,6 +66,7 @@ _start_c(long *p) const char **argv; char **envp; + stack_upper_limit = p; /* Save the upper limit of call stack */ argc = p[0]; argv = (const char **)(p + 1); envp = (char **)argv + argc + 1; From nobody Thu Apr 17 21:59:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHP5wWpz5sr1m; Thu, 17 Apr 2025 21:59: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 4ZdsHP3fg4z3TxB; Thu, 17 Apr 2025 21:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lceggn4kcjUNz5MQKUuBsB4DSfgERQJz71PyX1h6eOg=; b=Bjg73bBNLtJ/WMYYfSI1hW+fqVqCAdkmnDr61+ChURREG/iKGPDdhhT1u/ykS2C5mvvnsQ RzTrhoKCRGzpdAZW2WsFy3o3zv+CmNiUxDTiEIhG6ZtbtO+B4LnqC/6UZMyL+DQjiYhCVf Tdzvtq9C6VahseCxa/3wkIxLreClx8LL57gkJa8kj2Foq2kB7bjea+7lhaddh5bb7EYxB0 ahmtK9XpRLipFN6QeLoWcYrp11jaVXcswx+nwqzYoFV1/T+9psojlF+BeMdyrXEvKffazO mfk9F7o3EeYJT9yoQsx471QhBC8w8nEA18XS/iOvD1hsazMV1n+ymycSGDLpXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927153; a=rsa-sha256; cv=none; b=U0m1rPREjCUvwlwcvIQov8VJ4RmVr+d5n08IivqNSqz9hBkGgVsHXg90HXAzgUtK4II0NH lHt/+iw2FMw4EkosS+ZOcOcuqxbJtIntVmJWWapgINNTjU1VXYYLn123d+p3ZH1j97ePBF 7yu8TvLZJHaXnqphMJSCJHFrTjYbrP6gUdy892u6C7HQYqFzeNSyklYeXzWOaxo8l1l6id 29E1JgmIH3/t7gm+9Zc2EerxhGQ9IGza4ujd9Kvc95TgAOD6diuW9o+lU7oy2jUSk3b8bM eiQVkql2ju2N0w5sqpAOIBEOxltX7wUKk+NwWSMExp+UkI4Ne1rYoKPRIsbxDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lceggn4kcjUNz5MQKUuBsB4DSfgERQJz71PyX1h6eOg=; b=Qyr3pW6HgO+fjvdRIonJ2FdnQJMDT7/SP9T+h7b0mRPb2YYnR7BQ5h7es2yXmTAqafEb9S zEr8o8HKFKZUBcc4ke/rzDwEDUICoOpeeRV9HRphTJjAgjj1CAM9VIybkafI326tnsh8q1 YXPwNrNKrjfQAd5hP6OlXpBwU7J+ahDGbfydZ7TBHKYK55gCka2eQlL4ob5W+0ZbjUXtNp sczan/hkBQiJlpVhr9wrSRAT/R0OXV/312SH+Ac0nFRr6fNUtizjApEs9AzaK55On1uNry A6jRPviIP9q19lSCdnW8BhTDWIv0gssRN3Jsd0MC/f4OSJyCa4B12ZpJfWIh+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 4ZdsHP30Hxz15SB; Thu, 17 Apr 2025 21:59: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 53HLxDve002627; Thu, 17 Apr 2025 21:59:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxDMg002624; Thu, 17 Apr 2025 21:59:13 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:13 GMT Message-Id: <202504172159.53HLxDMg002624@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: d27413a7d775 - main - loader: Remove unneeded includes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: d27413a7d7751083d763a73442d416a2dc05c3d5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d27413a7d7751083d763a73442d416a2dc05c3d5 commit d27413a7d7751083d763a73442d416a2dc05c3d5 Author: Warner Losh AuthorDate: 2025-04-17 04:03:56 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:45 +0000 loader: Remove unneeded includes We've not needed to include link.h in the loader for a long time. I shoud have removed it in f38658e1408c rather than going link.h -> sys/sys_link.h. It's purely a userland shared library thing. Remove it now, since it's not needed. Also remove a few headers that are redundant with stand.h in this environment. Sponsored by: Netflix Reviewed by: kevans, andrew, jhibbits Differential Revision: https://reviews.freebsd.org/D49859 --- stand/common/load_elf.c | 3 --- stand/common/load_elf_obj.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index e19aefa121e7..537692e7d745 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -30,11 +30,8 @@ #include #include #include -#include -#include #include #include -#include #include "bootstrap.h" #include "modinfo.h" diff --git a/stand/common/load_elf_obj.c b/stand/common/load_elf_obj.c index 1e07828dd8ac..c20da80eb602 100644 --- a/stand/common/load_elf_obj.c +++ b/stand/common/load_elf_obj.c @@ -30,11 +30,8 @@ #include #include #include -#include -#include #include #include -#include #include "bootstrap.h" #include "modinfo.h" From nobody Thu Apr 17 21:59:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHR5jJBz5sqyC; Thu, 17 Apr 2025 21:59: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 4ZdsHQ58s6z3TpR; Thu, 17 Apr 2025 21:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QRfJob98j9ad8KWz7c0tWsTTL/bMXVosqLsbBPW6/KA=; b=aUM6x9mHUIPkp9NcKW9IiMjbkuE+V2yqf55euKQWXrTVn8wOPawulE11MhmxKfui1uBhX2 rYubngueVn1LuEAU3zxbgXVI+d0Tc0vKSqFBmpaBQrMNYuippu5texJZ/eyiuz4Xi9QOka J3/Cbdsii+Eh3sSaqIt7Pr3YI7CeWElwSgPdW5JD67f/aycOxbvypN0G3lhO+bapPaZslp Lfvs4q+fu4XYtRj7QAl+blQOdcnz5Lj8edJ9kg9tw6oNbmdFNX/ykCNY2nYsw2fG2uzwFO VucWHf6WaQ3VPIaCddJWyOUbBTKtzHpY1sw36WLtFvbQLSo6y1G1EdyeZFsebA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927154; a=rsa-sha256; cv=none; b=KXHNXdaxJYIpHPSWcmTEUgyJYpP0Q3KfXF365692Xrw58evrCGgDIxHvSbOWv+mYaiF1n0 tACcdBxJkeUNS7MFtOpUE2sxqR2le+C0tBWNLzaB2hBr1LN4l0vtJHOZ9wYySouZyfXbC0 nfv9/Cwh/XkwdoJVYbU4aEvGZyewkLYdgYeXcQJFPt/blx2a02pwNpl0gb7Jzjik8Q5hp0 kD2Lmexz0Ms64RVUN139QEtrPUl0tN3MMHh62G6Q/J5MKvXhEzkD41+3+R1JnLmZN8jyeB wj1Cr+Z70OIAdeyjeIBZw3EB/VG1BKo9Kmk0xW4UTw1mRdlD8y18/2Kx6qVQBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QRfJob98j9ad8KWz7c0tWsTTL/bMXVosqLsbBPW6/KA=; b=j4zQD8kxZQc8i5PAL0pBzj+iSwxUOfxcD4W1izZtDZikv/Cm5+cLE/q7rA46ExgHwZU0sl UAJQtsL5Gzmsd9J+TevAoz6iSScqwm7AWU/1WoZydFQgm0VLbPiAdwZHxJXTsJt0S1PZUs 9HLGR2HQ6kXLcpBbQiiqiS3a5jucj5PGTILrhCQeSbS0zJBWhe1bE3QUOEJJ4ktJkaHiLJ GqE2sJ4RLvUVA1cLZ/Iy8X7ETD/AQOeu+A1zmm29XrOS8hkJHY+KLLpaITnGTxIs5Co4gc SnEjbOuZncXikZrTxaq+DVtR2jFEK3aaP6x8s0+G/kWuzS8CwDg6GQhnxu2ZIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHQ4DBVz15Zf; Thu, 17 Apr 2025 21:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HLxExW002665; Thu, 17 Apr 2025 21:59:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxEbG002662; Thu, 17 Apr 2025 21:59:14 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:14 GMT Message-Id: <202504172159.53HLxEbG002662@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: 03bca3cfb4bb - main - arm64: Reword a comment about kexec / kboot path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 03bca3cfb4bb37f6496bc5e50a9d5936b0483084 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=03bca3cfb4bb37f6496bc5e50a9d5936b0483084 commit 03bca3cfb4bb37f6496bc5e50a9d5936b0483084 Author: Warner Losh AuthorDate: 2025-04-17 04:04:03 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 arm64: Reword a comment about kexec / kboot path Sponsored by: Netflix Reviewed by: kevans, andrew, jhibbits Differential Revision: https://reviews.freebsd.org/D49860 --- sys/arm64/arm64/machdep.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 6184ce937b8a..d3955d8c9863 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -502,10 +502,12 @@ efi_early_map(vm_offset_t va) /* - * When booted via kboot, the prior kernel will pass in reserved memory areas in - * a EFI config table. We need to find that table and walk through it excluding - * the memory ranges in it. btw, this is called too early for the printf to do - * anything since msgbufp isn't initialized, let alone a console... + * When booted via kexec from Linux, the prior kernel will pass in reserved + * memory areas in an EFI config table. We need to find that table and walk + * through it excluding the memory ranges in it. btw, this is called too early + * for the printf to do anything (unless EARLY_PRINTF is defined) since msgbufp + * isn't initialized, let alone a console, but breakpoints in printf help + * diagnose rare failures. */ static void exclude_efi_memreserve(vm_paddr_t efi_systbl_phys) From nobody Thu Apr 17 21:59:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHS4Kskz5sr5D; Thu, 17 Apr 2025 21:59:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdsHR5jLxz3V79; Thu, 17 Apr 2025 21:59:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dAKXTSRwKrdqVy8l7vj9IUDgud6eJodu7VNZpywwgBI=; b=WvraPmkI6O7vHWTNFKSEDViCUEHJdqOt1gQR6/qWIufOFm4lcy5jWDa2tVWqcZ1fIjzgZk k2KfKTGSZ/SBeviLWlwWC6eXRAKIP2U3k3c9PLMpMImWOdfNyIcTf9Vm/yo4munSqXzOAG uZ+5YobUWOHbBnsbm1Skl5rvpA4L6q3hJuw0i3IuCtuT3kYFdWnuM6X7N7oKCEo6M5fZMt 4fQi2FMkoMR9sXls9zefByZhrzlraXMqpTCQu580ap7kWe9yKQ7dDWrgTSC7xTyEaWdksW pKpDwMwdIUl/ibRQBLG7Ei74IPvEfllPc0xBfJu45BgxUFLHUrHvxNU402yfzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927155; a=rsa-sha256; cv=none; b=FbQYPsqtCikRIvLtEs1oIqSYxY53xHL2BCF4Bt2oJFkmV4YjNEJGBh0auatHJE7V37My73 +QM1zo5/7t4NexhQBxib7/0Kh7MnYZUMQRQOntBhqGTZaFFoTYE9VueJiPpGVKHOvaO2JV pYk/owTWsakjGZbpM1U5POkTbWe0J6G3WNJd10yQuE+NanW0vms4sP9YshiO081YoMNByY Fqqt8Jjz0TH5io9bNbAISZEj+hHH0+zpzN98uZsa0+2rxjqxNM1jxNUXcyRVdiYMp+3AN7 5N/Xvnm+uSLoPAOqTYvlH6W1AJgF/OMCHEP7Fp4Y2N9DvNHU/1PK2NeHOG1IQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dAKXTSRwKrdqVy8l7vj9IUDgud6eJodu7VNZpywwgBI=; b=dBtRH5o4Gl+5IhyXEfWjLqNoQ/Ok6Pubt7fVNQ7+iwY/W8UFrj9eU8Jcf6hMoULOVoWefZ NAY7RHzKgzTgYKo8uTPF1rs+n5PXMP9BTRLccsQAZWpQkEVNJUez0xqAWFKapkQqZUg1Kt Qnnz+FedDf95VMoOd/2IUizqpETD2CSs8SoXwZL0pYpvPb+vo9120VGVPxJ8kkr4q1t0NA TIDLEZD+VcG1JJeA9cOww22O1f3/iJaTONiv3od25zOpd4NXD1dOwan2RLrrwG10i6tZXX QFtXh+e8pZ66hAWuvxEu5lGp+De6FmACab510pIK/CzUnXu+1LQtVj5AT8ozlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHR58hrz15lB; Thu, 17 Apr 2025 21:59: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 53HLxFl5002697; Thu, 17 Apr 2025 21:59:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxF7R002694; Thu, 17 Apr 2025 21:59:15 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:15 GMT Message-Id: <202504172159.53HLxF7R002694@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: 0c48531b4698 - main - kboot: Account for machine specific padding List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0c48531b4698c62d3553d75b283b3ebc26e19063 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0c48531b4698c62d3553d75b283b3ebc26e19063 commit 0c48531b4698c62d3553d75b283b3ebc26e19063 Author: Warner Losh AuthorDate: 2025-04-17 04:04:13 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot: Account for machine specific padding AMD64 kernels have an extra 2MB of padding that we need to account for. So make the padding proper on a per-architecture basis. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49861 --- stand/kboot/kboot/main.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/stand/kboot/kboot/main.c b/stand/kboot/kboot/main.c index 65f7b77f1ace..5b7bfa246f55 100644 --- a/stand/kboot/kboot/main.c +++ b/stand/kboot/kboot/main.c @@ -49,9 +49,23 @@ static void kboot_zfs_probe(void); extern int command_fdt_internal(int argc, char *argv[]); +/* + * On amd64, KERNSTART is where the first actual kernel page is mapped, after + * the compatibility mapping. We reserve 2MB at the start of the address space + * for the page tables, etc, and so need to offset this there (and only there). + * The loader needs to know about this so we can pad everything to the proper + * place in PA. Ideally, we'd include vmparam.h to figure this out, but the + * macros it uses are not easily available in this compile environment, so we + * hard code that knowledge here. + */ +#if defined(__amd64__) +#define KERN_PADDING (2 << 20) +#else +#define KERN_PADDING 0 +#endif + #define PA_INVAL (vm_offset_t)-1 static vm_offset_t pa_start = PA_INVAL; -static vm_offset_t padding; static vm_offset_t offset; static uint64_t commit_limit; @@ -386,6 +400,8 @@ main(int argc, const char **argv) bootdev = getenv("currdev"); } #endif + if (bootdev == NULL) + bootdev = "host:/"; if (bootdev != NULL) { /* * Otherwise, honor what's on the command line. If we've been @@ -514,15 +530,13 @@ kboot_copyin(const void *src, vm_offset_t dest, const size_t len) if (pa_start == PA_INVAL) { pa_start = kboot_get_phys_load_segment(); -// padding = 2 << 20; /* XXX amd64: revisit this when we make it work */ - padding = 0; offset = dest; get_phys_buffer(pa_start, len, &destbuf); } remainder = len; do { - segsize = get_phys_buffer(dest + pa_start + padding - offset, remainder, &destbuf); + segsize = get_phys_buffer(dest + pa_start + KERN_PADDING - offset, remainder, &destbuf); bcopy(src, destbuf, segsize); remainder -= segsize; src += segsize; @@ -540,7 +554,7 @@ kboot_copyout(vm_offset_t src, void *dest, const size_t len) remainder = len; do { - segsize = get_phys_buffer(src + pa_start + padding - offset, remainder, &srcbuf); + segsize = get_phys_buffer(src + pa_start + KERN_PADDING - offset, remainder, &srcbuf); bcopy(srcbuf, dest, segsize); remainder -= segsize; src += segsize; From nobody Thu Apr 17 21:59:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHT6FRgz5sqsG; Thu, 17 Apr 2025 21:59: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 4ZdsHS6FK1z3VGC; Thu, 17 Apr 2025 21:59:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x+EtFs1BWvhHYrIvjmdj73Rj6Qoifw5nvxZgtPj1MIg=; b=T/P/WN6+j3Zp+BgzSHQ3WpPlnvu8ughJj8yzNN6CaANRzFsk0YgBZYvLsV+fpoLJNgH0OU XMjQp3GHnBJh2VCrsC2Q+nyvlm6deszfLmG+VNYLUUY2B1dCOZU4F/yfM3yNBuHRnqFxUC PhES55yvp1ayAVe9CtgoAEqwLB/kuwBEWcPBi4qRoTuTbG18oWn2OcylF0Tla+z+iQTpQm 4cIySpFIa779U7ecByXG6/+pvYsCvLiAZ5eOfBGx3XwO5a31Vldc3te2/+4fqLS50YHtse vhW+MCXhwTr4gsFHFEjtWPwPUmlROT6Nh7b6rFPQJYafsM6llL/mF4yGh2y97w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927156; a=rsa-sha256; cv=none; b=dwAy2cu28c8jl/KiJUhD9UvR6gXRScL6Xx4rZ7HHNIqIrlqJoRRLn4HJ8mCDINiEB2eQkY LlAA7ZOpvbdsp+qx6Tm7NkpoAlKE6gPtA5FsWhAQvDOw/dmNCVu/14xwFIRi4XOQ4ycCnF h/rX/0OeO8ioLSRE2Mvn5aM7Cv4SiiHR5SQ+IWYZmnjqmle1VjhuwH++/OkF5CJyNNn0pg 5edclpURVfMH8j/YwHM799ZUrv5pIqeFX8MPZMpo/qDymmQ1zDM/pIQwju2c3CjUu/Y5A8 QmLG84dpBTuny3rLlFUnVIQsmtYC51RO6JZqP1x6GYLbWF2Vz8xX0BF1X1L+xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x+EtFs1BWvhHYrIvjmdj73Rj6Qoifw5nvxZgtPj1MIg=; b=vD0/jYstZ8259zOdaUuuZmyMAH2pBv2ydUv8BkiPkmrTDTdztNGw+v4NgK3LvDWJbPlCBu 2YTXXhbj72KU44Gti3ebpzdTKOT7j3FfpDiETzTVlmVLagiHdirdUsLgQE8y5uFT763NPS YMVZaSLLX0Nf3aDmEg6T//FDZJewkVXq/DVV1YrlemWVr60Vqo4JhmVsOvEQhOwT/VS4G0 Un6Cqen3DQfpBrFzsFNt8HpxOWLDCCSr4zw8hKaz/8GeNXJbv5wYtBSaP+O/44x1zIhBj7 CDGRYbx1IanKWe6S0v2oFz/UI9Tv0d9zsnvFrIjmdZL698tWaCJ8nRxF8xzQ9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHS5hCsz153x; Thu, 17 Apr 2025 21:59: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 53HLxGEg002731; Thu, 17 Apr 2025 21:59:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxGOl002728; Thu, 17 Apr 2025 21:59:16 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:16 GMT Message-Id: <202504172159.53HLxGOl002728@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: 988ee1cc6858 - main - kboot: Method to populate the avail array from EFI map List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 988ee1cc6858136298008df674c13fa17e943f1b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=988ee1cc6858136298008df674c13fa17e943f1b commit 988ee1cc6858136298008df674c13fa17e943f1b Author: Warner Losh AuthorDate: 2025-04-17 04:04:24 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot: Method to populate the avail array from EFI map If we can get an efi memory map, populate_avail_from_efi will create an avail array. We only use the regiions marked as 'free' to find a place for the kernel to land. The other regions are also eligible, but usually too small to materially affect where we'd put the kernel (not to worry, the kernel will use that memory). Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49862 --- stand/kboot/include/efi.h | 1 + stand/kboot/libkboot/efi.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/stand/kboot/include/efi.h b/stand/kboot/include/efi.h index 10368bd4a829..f75a9ea055d3 100644 --- a/stand/kboot/include/efi.h +++ b/stand/kboot/include/efi.h @@ -15,3 +15,4 @@ typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); void foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp); void print_efi_map(struct efi_map_header *efihdr); +bool populate_avail_from_efi(struct efi_map_header *efihdr); diff --git a/stand/kboot/libkboot/efi.c b/stand/kboot/libkboot/efi.c index 1f7f28093819..1c1d9a34d297 100644 --- a/stand/kboot/libkboot/efi.c +++ b/stand/kboot/libkboot/efi.c @@ -7,6 +7,7 @@ #include #include "stand.h" #include "efi.h" +#include "seg.h" void foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) @@ -32,6 +33,7 @@ foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void * } } +/* XXX REFACTOR WITH KERNEL */ static void print_efi_map_entry(struct efi_md *p, void *argp __unused) { @@ -95,3 +97,38 @@ print_efi_map(struct efi_map_header *efihdr) foreach_efi_map_entry(efihdr, print_efi_map_entry, NULL); } + +static void +efi_map_entry_add_avail(struct efi_md *p, void *argp) +{ + bool *retval = argp; + + /* + * The kernel itself uses a lot more types as memory it can use. Be + * conservative here so we don't overwrite anything during the reboot + * process which copies the new kernel (so we can't use the Linux kenrel + * space for example). Anything that's not free, we simply don't add to + * the system ram space. We just need to find a big enough place we can + * land the kernel, and most of the other types we might use are + * typically too small anyway, even if we could safely use them. + */ + if (p->md_type != EFI_MD_TYPE_FREE) + return; + + /* + * The memory map is always disjoint, so we never have to remove avail. + */ + add_avail(p->md_phys, p->md_phys + p->md_pages * EFI_PAGE_SIZE - 1, + SYSTEM_RAM); + *retval = true; +} + +bool +populate_avail_from_efi(struct efi_map_header *efihdr) +{ + bool retval = false; + + init_avail(); + foreach_efi_map_entry(efihdr, efi_map_entry_add_avail, &retval); + return retval; +} From nobody Thu Apr 17 21:59:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHb1WqXz5sqyK; Thu, 17 Apr 2025 21:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdsHY2QBvz3Ty2; Thu, 17 Apr 2025 21:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3JQN6lG25ShA7g9RrJz7yEqXbNtxZ7C33bVcFdkR3Ys=; b=TYk9socaxmIvdblctjDjWTmL22SUqaJeRDc+J9PaN3lUBg4J+aojJONZCrYEKsvJs0SGxV lkU+5o4g4wIyraB0QcqE+Fs4BtkZEEuPFAWnTVlQmEnzh1lVk3wV652sg0FVZmiOTwfZhc x5DuvxP6YUo4hjyNycwXSUES8OiClqMkfHOOZLq3QcegtA9LKUWbpshn27/cgH4bo4OhGL pzUPt2b6M/AfG04rVKNf4HUE2CJW+KqlwyBI+Xixn6vhZefGVPDugs1BSpL/cinKC0FotK z1pAgAcQvnF7/SzQBqVORt8mjFDXiXnxAXf/zsy0lO1zyf6ubpKblJ+l99NWQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927161; a=rsa-sha256; cv=none; b=fTjU8BD1F9o/xPziXVPD8N2gdHfCVetrvEbHhL3jGm5NY/18E4cmDzMo+nzGb5703hW2xz DfRALzLIq7G8XpEcC+hUUfqiCtQd4HxdBw5jzDdwZoF+7+rHTWpJvkgdWkG/nebezygHkV f0AmtxcwBd2SajSsKrBiH+euFRGRsxAQMdxySmd/tDdQiadUQF1i7zTmOEdUlDiAR6woko FTGi1zln3PDVOzycJNAguk2Ina4o8nzDh+gr8m32UC2z+5mnekYMBRiHXxLzz0NcE0l0Mp 4d9pwvVzdI7Xt81k3K2uX+Etxlly2+rAZBKL+xbYvltfLWY4BEKsdXK8q9NPbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3JQN6lG25ShA7g9RrJz7yEqXbNtxZ7C33bVcFdkR3Ys=; b=ni+rBUJ+uoJizUyAHHv8a5fJ6Up99u+NVvyBedZS+/BOVcYYTOqEOue4lzFfKwBmNBUo76 Jmzcna7oBB0fNy1PT5B81qiSiut4dfcD/V4qs/A6CSrNjNSFGfIXT0tJbZFES3jUoq0yRv CBlM+uW0XhiEv8dF77jgHP3a8mYEHRQaTJNQ59Lw6+gadxVR4T9XqwjRcg4fgjVnIRSEsB jt1cQbUmFPn+cy9jti+FNEgpdcYscX8RxsVuST8U3kOJ8g/sAtNptxcpCevVR5mrneohyY Qax9Fg39lSq0S4+Qk6rkKBGZC5MKl891AzU88rEreAQN/rZ9aSc0Oc8yLcWdww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHY206Jz15lC; Thu, 17 Apr 2025 21:59: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 53HLxL6v002867; Thu, 17 Apr 2025 21:59:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxL5u002864; Thu, 17 Apr 2025 21:59:21 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:21 GMT Message-Id: <202504172159.53HLxL5u002864@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: b7d1c3fdde3b - main - kboot/amd64: Use efi_bi_loadsmap in bi_loadsmap List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b7d1c3fdde3bcd9ec54f5fff49fc0970720fc045 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b7d1c3fdde3bcd9ec54f5fff49fc0970720fc045 commit b7d1c3fdde3bcd9ec54f5fff49fc0970720fc045 Author: Warner Losh AuthorDate: 2025-04-17 04:05:05 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot/amd64: Use efi_bi_loadsmap in bi_loadsmap For the EFI case, we just need to call efi_bi_loadsmap in bi_loadsmap. If we need to do BIOS again, we'll revisit. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49867 --- stand/kboot/kboot/arch/amd64/load_addr.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/stand/kboot/kboot/arch/amd64/load_addr.c b/stand/kboot/kboot/arch/amd64/load_addr.c index e0815cd0790f..7a878ae88cba 100644 --- a/stand/kboot/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/kboot/arch/amd64/load_addr.c @@ -68,18 +68,5 @@ kboot_get_phys_load_segment(void) void bi_loadsmap(struct preloaded_file *kfp) { - struct bios_smap smap[32], *sm; - struct memory_segments *s; - int smapnum, len; - - for (smapnum = 0; smapnum < min(32, nr_seg); smapnum++) { - sm = &smap[smapnum]; - s = &segs[smapnum]; - sm->base = s->start; - sm->length = s->end - s->start + 1; - sm->type = SMAP_TYPE_MEMORY; - } - - len = smapnum * sizeof(struct bios_smap); - file_addmetadata(kfp, MODINFOMD_SMAP, len, &smap[0]); + efi_bi_loadsmap(kfp); } From nobody Thu Apr 17 21:59:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHX4yhSz5sr86; Thu, 17 Apr 2025 21:59: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 4ZdsHW0zN8z3V7q; Thu, 17 Apr 2025 21:59:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=39lB3ekm2j/Ng/WJgCwi3DZSjUOJCNfHpatWSj20PvA=; b=ZTqaOS4AIn45YxVdcVEQWMRrigiv8+gcOajHcct+jbzreArdtJkKUEDg4AcIpNsoqBPYSc lHg4XY4btCJ0tsHKmYtAjyQ6V9nRXrG8GgZq1BDrXcJKczTSuWUxRS8ly8OA/z+0G/+7Vi voLxKtan8qWLIM4qxlH27G8/MQepCvSFjltswMaPUtRNbxYtxKgMG2Wgs4GRU2a1LS7oQ3 wroufz9luwPyKFGOv4SEiLYmDNx1A1nAtsHNks4kk15UR5W3xMjiWA8xpw3yjUSg0pNOL2 QMWzkA6u4iBfZt4A4ZGW0m5xZ9KScC38mSB9+D/eoKhs5EYzjLd84TE/oYU9jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927159; a=rsa-sha256; cv=none; b=BeI+2PbUPLzaIIpeTbXrDa4+7rzRJuxunT1gUEVb1WAmYjIB7NnWuoJ9dJyR3GqYRMrZYs n0WiH+H2aAn1Zpi+LfIUZIDbIdHNHIsD/o8Na1A8+8sG5UsScDUNOb5Hnl5Xx9QyS0tZoE Aj5KzOtJ5onRLayNpLTGSg+ldupcQNRz7n4cm/CmQndFo2YVE9agihndicuI04CKLCF/Bb /Y+4KbWf2ow0BxLYfdc9HnaWna58W7QUo1VgK/V+us8m9wqB/dp+aCgiHRfN8EBJC23Kw2 NWQoCMMUOqLJH8Qal3kHeKkPmX79tEpd8shk/1+3zSwHeD7oJmdck49N8JMVJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=39lB3ekm2j/Ng/WJgCwi3DZSjUOJCNfHpatWSj20PvA=; b=jmtYi0hEG2H5iaN0oIUbGzLm99RG9fdRJ/LNCvdfQNgS0dqTlkXjIbWkR7wLj4xHir5som q33fq3LPnQ5nxj3/qJrmbCeTk0ZePj18uZx6rz5Y0kLyYWQei4a5OQookMCbSpNoVXvmty 7Imyb0EP2dtV7kaCqvip9PDD5EZaD/+6TLk4bsjTFQNpxu1cfHNkGEXMljsoNR9jtDHAZE dQuqY+MVR6nvWRX6KCZMowtZogQ+x/FC914yhxfmA7jYI5JprkTN0EiVKCmg6gIxJXkh6t QP4ckhoy1MEuKLwziT+gOSPp7JvNoVjQBg0TDTPbPDmYYW0KUzz7BgBxvd85Yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHW0SnFz1540; Thu, 17 Apr 2025 21:59: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 53HLxIma002795; Thu, 17 Apr 2025 21:59:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxIsU002792; Thu, 17 Apr 2025 21:59:18 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:18 GMT Message-Id: <202504172159.53HLxIsU002792@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: 9acf6422208a - main - kboot/amd64: Use common routines for memory map parsing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 9acf6422208a7b43b2ba7d3e66f13f2874d4a3aa Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9acf6422208a7b43b2ba7d3e66f13f2874d4a3aa commit 9acf6422208a7b43b2ba7d3e66f13f2874d4a3aa Author: Warner Losh AuthorDate: 2025-04-17 04:04:39 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot/amd64: Use common routines for memory map parsing Use populate_avail_from_iomem and efi_read_from_sysfs from the refactored work rather than replicating them (imperfectly) here. Note: memmap might need to be revisited. EFI memory maps are complex on x86 and we might need to reconstruct it from /sys/firmware/memmap as well as using that for the BIOS case, should we ever want to support that again (hardware makes no sense, but many VM hosting services use that). For now, we're going all in on EFI, though, and will revisit what to do about BIOS later. The zfsboot project suggests BIOS support isn't really that hard (but is a distraction atm). Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49864 --- stand/kboot/kboot/arch/amd64/load_addr.c | 111 ++----------------------------- 1 file changed, 6 insertions(+), 105 deletions(-) diff --git a/stand/kboot/kboot/arch/amd64/load_addr.c b/stand/kboot/kboot/arch/amd64/load_addr.c index 4bd2a19dab48..ae53aa75da19 100644 --- a/stand/kboot/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/kboot/arch/amd64/load_addr.c @@ -29,117 +29,18 @@ #include "stand.h" #include "host_syscall.h" +#include "efi.h" #include "kboot.h" #include "bootstrap.h" -/* Refactor when we do arm64 */ - -enum types { - system_ram = 1, - acpi_tables, - acpi_nv_storage, - unusable, - persistent_old, - persistent, - soft_reserved, - reserved, -}; - -struct kv -{ - uint64_t type; - char * name; -} str2type_kv[] = { - { system_ram, "System RAM" }, - { acpi_tables, "ACPI Tables" }, - { acpi_nv_storage, "ACPI Non-volatile Storage" }, - { unusable, "Unusable memory" }, - { persistent_old, "Persistent Memory (legacy)" }, - { persistent, "Persistent Memory" }, - { soft_reserved, "Soft Reserved" }, - { reserved, "reserved" }, - { 0, NULL }, -}; - -#define MEMMAP "/sys/firmware/memmap" - -static struct memory_segments segs[64]; /* make dynamic later */ -static int nr_seg; - -static bool -str2type(struct kv *kv, const char *buf, uint64_t *value) -{ - while (kv->name != NULL) { - if (strcmp(kv->name, buf) == 0) { - *value = kv->type; - return true; - } - kv++; - } - - return false; -} - bool enumerate_memory_arch(void) { - int n; - char name[MAXPATHLEN]; - char buf[80]; - - for (n = 0; n < nitems(segs); n++) { - snprintf(name, sizeof(name), "%s/%d/start", MEMMAP, n); - if (!file2u64(name, &segs[n].start)) - break; - snprintf(name, sizeof(name), "%s/%d/end", MEMMAP, n); - if (!file2u64(name, &segs[n].end)) - break; - snprintf(name, sizeof(name), "%s/%d/type", MEMMAP, n); - if (!file2str(name, buf, sizeof(buf))) - break; - if (!str2type(str2type_kv, buf, &segs[n].type)) - break; - } - - nr_seg = n; - - return true; -} - -#define BAD_SEG ~0ULL - -#define SZ(s) (((s).end - (s).start) + 1) - -static uint64_t -find_ram(struct memory_segments *segs, int nr_seg, uint64_t minpa, uint64_t align, - uint64_t sz, uint64_t maxpa) -{ - uint64_t start; - - printf("minpa %#jx align %#jx sz %#jx maxpa %#jx\n", - (uintmax_t)minpa, - (uintmax_t)align, - (uintmax_t)sz, - (uintmax_t)maxpa); - /* XXX assume segs are sorted in numeric order -- assumed not ensured */ - for (int i = 0; i < nr_seg; i++) { - if (segs[i].type != system_ram || - SZ(segs[i]) < sz || - minpa + sz > segs[i].end || - maxpa < segs[i].start) - continue; - start = roundup(segs[i].start, align); - if (start < minpa) /* Too small, round up and try again */ - start = (roundup(minpa, align)); - if (start + sz > segs[i].end) /* doesn't fit in seg */ - continue; - if (start > maxpa || /* Over the edge */ - start + sz > maxpa) /* on the edge */ - break; /* No hope to continue */ - return start; - } - - return BAD_SEG; + efi_read_from_sysfs(); + if (!populate_avail_from_iomem()) + return (false); + print_avail(); + return (true); } uint64_t From nobody Thu Apr 17 21:59:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHb3K3Bz5srBM; Thu, 17 Apr 2025 21:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdsHZ3LCxz3VDS; Thu, 17 Apr 2025 21:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b8kzhOYK5f2RtkwXYEe2nnPwcCMf6wcxvGy8eRjHXCE=; b=tMV6/79pUTNodUcK8fJVpl3lwOME3TNxSVvsRRdqRycj7dIvf5nNSQGCQAc9bALDaxPrLy m5wQasrtR2X1h9SnSPorIOyGBrKt3AKMIKMCTg4CqAxKgcTPkJmNxlcYVtctFxImF/7DPp 7rvaMDi8rHd1tVarMfi1tQSL6XduFp0mIAl0eHe3g6NFv8Ar6qE9Bb0iidwcfOl4iF6v0H nBj3psfemTB6mJeOGR2UeAfJ88Co3m+c1wDy5koJhgXs2+o/OAliCku+pYJ1hXJ/vvbf9y NIlFFZlaMmWKCPGV32XLlH9TqML5C8k+aqfUVNl77YWmjCSUFB8vv9CKxQoN+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927162; a=rsa-sha256; cv=none; b=HZbxDvMyhZYVVPj+ZqflJ0OikrlosXAFClIuotGa6/rZSOg6ss5a4F62a4VJdtPAG6s/MH mmpUa+MQ+g0LAjT9HSJZir+q/SKTAXA/OYQzAGghcHq/EwRNshwQHKdaCxf7tVNF264stN QeYZipoevZtPtOO6AQKq83KvOP16sVnCH6pdRfTntIGXvVrfEVwKYb7JNXxR2pBu/XHt6X OREzrqKz1Cm/mCUKXElmuE15vS2hK5j6VmY4nfTDkBP5Z9Qjx6qxNTT0+UkCb4H60HMfRG 2Ia66GxA3bZj8MsXKLFaQvcz5nrqG6NB5odB21wlUi1mh4AlxPkoRN0qV64yKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b8kzhOYK5f2RtkwXYEe2nnPwcCMf6wcxvGy8eRjHXCE=; b=VstLEtAgqRPf6F07sgLgFWwftO9RWmpWe6ZfA9S2O0qAQk0ctS+t7S8g5SebzIDQMRgKSp 1Z9OB+3zH8kdb+QGWeihPDKbQGMhxYjSSxzKMi/X7fTXi0iyeDJKlCiATZr6q6elKw11/w 0TxOJaorHIbL2d27Lhne+qCbNfgbgBpVHlRlb6RvBhyDapFV4uCy1ZBjjop5Bj8cGtkpVP ta6WGOcc87UBO2k7JbGWGB1FumK1PtRBG1UdwmByOziV4bKhQmCcrVxkltVF7wehfgKRU2 pwk4cC6pQN/CUW6Y0HZT+VE10SdMLCduz4/FPEhGPtKFe5eKzLtMBgNyi1fskg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHZ2wtXz15Gv; Thu, 17 Apr 2025 21:59: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 53HLxMhb002900; Thu, 17 Apr 2025 21:59:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxMnX002897; Thu, 17 Apr 2025 21:59:22 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:22 GMT Message-Id: <202504172159.53HLxMnX002897@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: f3c0d74e3b8e - main - kboot: Implement data_from_kernel to read kernel variables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: f3c0d74e3b8e969b9f790f4ec2ac173243f21920 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f3c0d74e3b8e969b9f790f4ec2ac173243f21920 commit f3c0d74e3b8e969b9f790f4ec2ac173243f21920 Author: Warner Losh AuthorDate: 2025-04-17 04:05:16 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot: Implement data_from_kernel to read kernel variables Since the linux kernel doesn't expose enough of the EFI details to userland via /sys/firmware/efi, write a routine to extract data from the kernel directly by parsing /proc/kproc and /proc/kallsyms. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49868 --- stand/kboot/include/util.h | 4 + stand/kboot/libkboot/Makefile | 1 + stand/kboot/libkboot/dfk.c | 292 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 297 insertions(+) diff --git a/stand/kboot/include/util.h b/stand/kboot/include/util.h index 682ab8830bfa..dabf3d1ba9fb 100644 --- a/stand/kboot/include/util.h +++ b/stand/kboot/include/util.h @@ -6,6 +6,10 @@ #pragma once +/* dfk.c: */ +bool data_from_kernel(const char *sym, void *buf, size_t len); + +/* util.c: */ bool file2str(const char *fn, char *buffer, size_t buflen); bool file2u32(const char *fn, uint32_t *val); bool file2u64(const char *fn, uint64_t *val); diff --git a/stand/kboot/libkboot/Makefile b/stand/kboot/libkboot/Makefile index dc85ffe8afb2..1c91636cc69b 100644 --- a/stand/kboot/libkboot/Makefile +++ b/stand/kboot/libkboot/Makefile @@ -8,6 +8,7 @@ CFLAGS+=-I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} CFLAGS+=-I${LDRSRC} SRCS= crt1.c +SRCS+= dfk.c SRCS+= host_syscall.S SRCS+= host_syscalls.c SRCS+= seg.c diff --git a/stand/kboot/libkboot/dfk.c b/stand/kboot/libkboot/dfk.c new file mode 100644 index 000000000000..09f4512f5c99 --- /dev/null +++ b/stand/kboot/libkboot/dfk.c @@ -0,0 +1,292 @@ +/* + * Copyright (c) 2025 Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * Common macros to allow compiling this as a Linux binary or in libsa. + */ +#ifdef _STANDALONE +#include "stand.h" +/* Not ideal, but these are missing in libsa */ +#define perror(msg) printf("ERROR %d: %s\n", errno, msg) +#define fprintf(x, ...) printf( __VA_ARGS__ ) +#include +#include +#include "util.h" +#else +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define PAGE_SIZE 4096 +#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \ + (ehdr).e_ident[EI_MAG1] == ELFMAG1 && \ + (ehdr).e_ident[EI_MAG2] == ELFMAG2 && \ + (ehdr).e_ident[EI_MAG3] == ELFMAG3) + +#define ELF_TARG_CLASS ELFCLASS64 +#define ELF_TARG_MACH EM_X86_64 +#define ELF_TARG_DATA ELFDATA2LSB +#endif + +#define KCORE_PATH "/proc/kcore" +#define KALLSYMS_PATH "/proc/kallsyms" + +struct elf_file +{ + uint8_t buf[PAGE_SIZE]; + int fd; +}; + +// All the line_buffer stuff can be replaced by fgetstr() + +struct line_buffer +{ + int fd; + char buf[PAGE_SIZE]; + char *pos; + char *eos; +}; + +/* + * We just assume we have to fill if we are called. + */ +static bool +lb_fill(struct line_buffer *lb) +{ + ssize_t rv; + + lb->pos = lb->eos = lb->buf; // Reset to no data condition + rv = read(lb->fd, lb->buf, sizeof(lb->buf)); + if (rv <= 0) + return (false); + lb->pos = lb->buf; + lb->eos = lb->buf + rv; + return (true); +} + +static bool +lb_fini(struct line_buffer *lb) +{ + close(lb->fd); + return (true); +} + +static bool +lb_init(struct line_buffer *lb, const char *fn) +{ + lb->fd = open(fn, O_RDONLY); + if (lb->fd == -1) + return (false); + lb->pos = lb->eos = lb->buf; + if (!lb_fill(lb)) { + lb_fini(lb); + return (false); + } + return (true); +} + +// True -> data returned +// False -> EOF / ERROR w/o data +static bool +lb_1line(struct line_buffer *lb, char *buffer, size_t buflen) +{ + char *bufeos = buffer + buflen - 1; // point at byte for NUL at eos + char *walker = buffer; + + while (walker < bufeos) { // < to exclude space for NUL + if (lb->pos >= lb->eos) { // Refill empty buffer + if (!lb_fill(lb)) { // Hit EOF / error + if (walker > buffer) // Have data? return it + break; + // No data, signal EOF/Error + return (false); + } + } + *walker = *lb->pos++; + if (*walker == '\n') + break; + walker++; + } + /* + * We know walker <= bufeos, so NUL will fit. + */ + *++walker = '\0'; + return (true); +} + +/* + * Scan /proc/kallsyms to find @symbol and return the value it finds there. + */ +unsigned long +symbol_addr(const char *symbol) +{ + struct line_buffer lb; + unsigned long addr; + char line[256]; + + if (!lb_init(&lb, KALLSYMS_PATH)) + return (0); + while (lb_1line(&lb, line, sizeof(line))) { + char *val, *name, *x, t; + + /* + * Parse lines of the form + * valtname\n + * looking for one with t in [dDbB] (so data) name == symbol, + * skipping lines that don't match the pattern. + */ + val = line; + x = strchr(val, ' '); + if (x == NULL) + continue; /* No 1st */ + *x++ = '\0'; + t = *x++; + if (strchr("dDbB", t) == NULL) + continue; /* Only data types */ + if (*x++ != ' ') + continue; /* No 2nd */ + name = x; + x = strchr(x, '\n'); + if (x == NULL) + continue; /* No traling newline */ + *x++ = '\0'; + if (strcmp(name, symbol) == 0) { + unsigned long v; + char *eop = NULL; + lb_fini(&lb); + v = strtoul(val, &eop, 16); + if (*eop == '\0') + return (v); + return (0); /* PARSE ERROR -- what to do? */ + } + /* No match, try next */ + } + + lb_fini(&lb); + return (0); +} + +/* + * Parse /proc/kcore to find if we can get the data for @len bytes that are + * mapped in the kernel at VA @addr. It's a CORE file in ELF format that the + * kernel exports for the 'safe' areas to touch. We can read random kernel + * varaibles, but we can't read arbitrary addresses since it doesn't export + * the direct map. + */ +bool +read_at_address(unsigned long addr, void *buf, size_t len) +{ + struct elf_file ef; + Elf64_Ehdr *hdr; + Elf64_Phdr *phdr; + ssize_t rv; + + bzero(&ef, sizeof(ef)); + ef.fd = open(KCORE_PATH, O_RDONLY); + if (ef.fd == -1) { + perror("open " KCORE_PATH "\n"); + return (false); + } + + /* + * Read in the first page. ELF files have a header that says how many + * sections are in the file, whre they are, etc. All the Phdr are in the + * first page. Read it, verify the headers, then loop through these Phdr + * to find the address where addr is mapped to read it. + */ + rv = read(ef.fd, ef.buf, sizeof(ef.buf)); + if (rv != sizeof(ef.buf)) { + perror("short hdr read\n"); + close(ef.fd); + return (false); + } + hdr = (Elf64_Ehdr *)&ef.buf; + if (!IS_ELF(*hdr)) { + fprintf(stderr, "Not Elf\n"); + close(ef.fd); + return (false); + } + if (hdr->e_ident[EI_CLASS] != ELF_TARG_CLASS || /* Layout ? */ + hdr->e_ident[EI_DATA] != ELF_TARG_DATA || + hdr->e_ident[EI_VERSION] != EV_CURRENT || /* Version ? */ + hdr->e_version != EV_CURRENT || + hdr->e_machine != ELF_TARG_MACH || /* Machine ? */ + hdr->e_type != ET_CORE) { + fprintf(stderr, "Not what I expect\n"); + close(ef.fd); + return (false); + } + + phdr = (Elf64_Phdr *)(ef.buf + hdr->e_phoff); + for (int i = 0; i < hdr->e_phnum; i++) { + if (phdr[i].p_type != PT_LOAD) + continue; + if (addr < phdr[i].p_vaddr || + addr >= phdr[i].p_vaddr + phdr[i].p_filesz) + continue; + lseek(ef.fd, (off_t)phdr[i].p_offset + addr - phdr[i].p_vaddr, + SEEK_SET); + rv = read(ef.fd, buf, len); + if (rv != len) + perror("Can't read buffer\n"); + close(ef.fd); + return (rv == len); + } + + close(ef.fd); + return (false); +} + +/* + * Read a value from the Linux kernel. We lookup @sym and read @len bytes into + * @buf. Returns true if we got it, false on an error. + */ +bool +data_from_kernel(const char *sym, void *buf, size_t len) +{ + unsigned long addr; + + addr = symbol_addr(sym); + if (addr == 0) { + fprintf(stderr, "Can't find symbol %s", sym); + return (false); + } + if (!read_at_address(addr, buf, len)) { + fprintf(stderr, "Can't read from kernel"); + return (false); + } + return (true); +} + +#ifndef _STANDALONE +/* + * Silly little test case to test on a random Linux system. + */ +int +main(int argc, char **argv) +{ + struct boot_params bp; + + if (data_from_kernel("boot_params", &bp, sizeof(bp))) { + fprintf(stderr, "Something went wrong\n"); + } else { + printf("sig %#x systab %#lx memmap %#lx mmapsize %d md_size %d md_vers %d\n", + bp.efi_info.efi_loader_signature, + (long)(bp.efi_info.efi_systab | ((long)bp.efi_info.efi_systab_hi << 32)), + (long)(bp.efi_info.efi_memmap | ((long)bp.efi_info.efi_memmap_hi << 32)), + bp.efi_info.efi_memmap_size, bp.efi_info.efi_memdesc_size, + bp.efi_info.efi_memdesc_version); + } +} +#endif From nobody Thu Apr 17 21:59:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHZ28Ghz5sr89; Thu, 17 Apr 2025 21:59: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 4ZdsHX1RnHz3Txy; Thu, 17 Apr 2025 21:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rk+NA2yKvZfnIvtd6aAtkxaVX9jTZTjOsgg3umfp4Jw=; b=UAotMhNXlPn8VPqvnfIwWZ5LUCsqllyauWP4r8/czQYD2AL0OQjAa0AkhiPPKmStHUHFle yY8GbRZwa97g9h6NRY+jiJ8vbO/DmA9tUB15u+GVXCw9ReUWhasoWjw0XUcBVsWHNm86Ej b4pMSmcvDeibp87CSdXNtYYeYEFSrRimYB25hGIcDTFtanQ+992wnLMaJTWGu1U/Fp/BNH YbjgkxFcBMW9hVd/QvRCvDbGgBfEGUXo/pty3M+aicBQRXbEUxrqiptKRyCsM+Qpd8uO0v V3BpC6y7lmm/dwPgfxzQGfRVh6wZnGXaLyQoxP5KlwVI1mGDgs2+JWU90ipmNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927160; a=rsa-sha256; cv=none; b=St835CwM5vrv10jiu/LBPvLU987WOZ5rtjCzZAUiOaoXqYferDil9rxf3gvWcvJOdKSu9A S7JHEQtNp2jpkG2SI/wC4iq3CWhTBNn9GGaUuVbSUk5CiLZoMu3XiBuCjL9cSbpL12Wh50 bt+ppT9WbBC7A3IDddX4CkuEmo7iM8oAi6W9ZOSGgU7a3/he/6pRAPuiRcwOW2olHKXG6q dGICmBt8hI/36DJANu/Du+y45FHCJWXQzsFMEC4FgktZKW2MAmp/hcUNCcROXDD8sggkzP N+4CKpVNLyTXD69BCO9iIdsyKpPerGTJhe32MldAfgU3lBE27d8761j0b8rcYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rk+NA2yKvZfnIvtd6aAtkxaVX9jTZTjOsgg3umfp4Jw=; b=mdfu5NYRCwhiZ4C7KhgNMig2v5/nuNdY43mSfCZHhVBilMXjmhdHx40s6Hvx51Y2zb0/nd NtRGOo2qwC6bkzGra57V0Yuh60XtU8WmvXIv5wSdmhqlVE9WnlVctOkWvikkD9u1Mn9vGv M7x7m72eaJpZKBQth8iOyaew3aE2x1Z5Mix3NFrt0ruxaPOQ/OaUBczFnqDmbs/KAKDETH K4rwScWCxU5J+3+G+wGC9ObxnNwTxtsaIkCFL05Vj7n9G3cNRz5cHi568hmuv6D4RNpHUI JGSRUzkIPJYxYLp4lg79JQDeuo01VbjXOxinRple/Vq6PXKVcO+aMLEdiGf39g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHX13D7z15XH; Thu, 17 Apr 2025 21:59: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 53HLxKDm002834; Thu, 17 Apr 2025 21:59:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxKrT002831; Thu, 17 Apr 2025 21:59:20 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:20 GMT Message-Id: <202504172159.53HLxKrT002831@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: 50bc81e7001c - main - kboot/amd64: Use segs framework to find kernel location List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 50bc81e7001c3843339e5ea75edf8e908fb8ad8d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=50bc81e7001c3843339e5ea75edf8e908fb8ad8d commit 50bc81e7001c3843339e5ea75edf8e908fb8ad8d Author: Warner Losh AuthorDate: 2025-04-17 04:04:58 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot/amd64: Use segs framework to find kernel location Use the segs framework to find a place to land the kernel, with the same super ugly defaults as aarch64. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49866 --- stand/kboot/kboot/arch/amd64/load_addr.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/stand/kboot/kboot/arch/amd64/load_addr.c b/stand/kboot/kboot/arch/amd64/load_addr.c index ae53aa75da19..e0815cd0790f 100644 --- a/stand/kboot/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/kboot/arch/amd64/load_addr.c @@ -43,23 +43,26 @@ enumerate_memory_arch(void) return (true); } +/* XXX refactor with aarch64 */ uint64_t kboot_get_phys_load_segment(void) { - static uint64_t base_seg = BAD_SEG; +#define HOLE_SIZE (64ul << 20) +#define KERN_ALIGN (2ul << 20) + static uint64_t s = 0; - if (base_seg != BAD_SEG) - return (base_seg); + if (s != 0) + return (s); - if (nr_seg > 0) - base_seg = find_ram(segs, nr_seg, 2ULL << 20, 2ULL << 20, - 64ULL << 20, 4ULL << 30); - if (base_seg == BAD_SEG) { - /* XXX Should fall back to using /proc/iomem maybe? */ - /* XXX PUNT UNTIL I NEED SOMETHING BETTER */ - base_seg = 300ULL * (1 << 20); - } - return (base_seg); + print_avail(); + s = first_avail(KERN_ALIGN, HOLE_SIZE, SYSTEM_RAM); + printf("KBOOT GET PHYS Using %#llx\n", (long long)s); + if (s != 0) + return (s); + s = 0x40000000 | 0x4200000; /* should never get here */ + /* XXX PANIC? XXX */ + printf("Falling back to the crazy address %#lx which works in qemu\n", s); + return (s); } void From nobody Thu Apr 17 21:59:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHV294Lz5sr5H; Thu, 17 Apr 2025 21:59: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 4ZdsHV077hz3VGL; Thu, 17 Apr 2025 21:59:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23aXLq3boijAOz1qBhYgNtyNCczL/gxz6qSPb+1YhWo=; b=PeX3oXPDRr56CwVdvSd1hsmY5GjHllMEnrI4JSBamg9D9rajZCeuk/ZFlWjmDYEjqtX8AB 7w7bwZoXxnr54RgQ85aTev6SdcmMM+5PwdSabCv9Dl6Tm/LHHEh3kKFuAe/HYd2DA9pvd7 viOS+jcq8vSHa8bIBkmkCiZwZEAqpvWPi7Rm2URC7msR4+LMY01FZ7ejQOl0pT5yTBXALo fOUafX/3kvaHEtq1YOUuBpPWfcyOM44ih+y/EWuBLeOodYQL3ybuFuQ4HiTitG4l2VXAmS ghffDwLrRbSm9+q7WU9ah+/tBaN365uAvPah3O88o4D246x+bhBME9XZp8OawQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927158; a=rsa-sha256; cv=none; b=p3zRrf3IRGCVTk88F5HoY8VBZYxDh1dCJKUhe03lP9ZDytyg/hb/OgBwS2CSefK/EtfAVi fmusYJ/894hp1ABxBEU0O8kybX+6yQj2VB53QD48o+wnjYMckConFdmwkm0P8pZv1qucBt uVt85NNXnJcwmZHhlDE/cS/bYMprW5BRK3u81Oh4bND+/7PWhrqxvlLRf+u56MQlyahFAh 2NbqSr3UwtcOP8qFomgZ9x8yNizagZexGnAF6Au908EpxOgFqk0xHUk4G/cLkhZCnRyLcU 11Jdl3O8EFS1STomNiUzy1ME/mS75QrFw/2eUN7HjhWFwlw6vBq1kJckvfHDqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23aXLq3boijAOz1qBhYgNtyNCczL/gxz6qSPb+1YhWo=; b=iRQkf4C91LiYBEG1/HxPBWA4+0pCkuWv+1eTKMsoVuWhFG9jLDMmSazx7Uw0S70lobd787 xghN79aMtcGUM6vgrBZPLWxXJ4JF0Bgyxs3zJHO3M5nVYaBCN9/mCc3fQOxJ+2ell7MXEx NpKB+mu15p4qzO6F7oZhf+LGuWPzIDIgRNCRBzvB1wlLI06XUQ7bPEXGt4IfapmTHNDEVZ WWKDzClJJYK/14lJPZILhGlF6sMejs7vf0XPUntJFeM1VPOBs/uZQ1VFpOUT1HaGY4ZUhF +LYbXekk8SoRXDp6Rg/5Nk/mapR22oWz1u0doE5WLUPSLfcdj9UQ2IOavjaNVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHT6dVyz153y; Thu, 17 Apr 2025 21:59: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 53HLxHMg002763; Thu, 17 Apr 2025 21:59:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxHnS002760; Thu, 17 Apr 2025 21:59:17 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:17 GMT Message-Id: <202504172159.53HLxHnS002760@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: 92ad79ec33fb - main - kboot: Move common EFI stuff from aarch64 to libkboot List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 92ad79ec33fb5caf9a79c0bd8b33697b34c8e26d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=92ad79ec33fb5caf9a79c0bd8b33697b34c8e26d commit 92ad79ec33fb5caf9a79c0bd8b33697b34c8e26d Author: Warner Losh AuthorDate: 2025-04-17 04:04:31 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:46 +0000 kboot: Move common EFI stuff from aarch64 to libkboot Move efi_read_from_pa, efi_set_systbl and efi_bi_loadsmap into efi.c Move prototype for populate_avail_from_efi as well, though that arrived previously. Move efi memory map variables into efi.c. Add efi_read_from_sysfs, but if 0 it out. We'll want to use it if we can get the proposed /sys/firmware/efi/memmap data published in the same format and the code works, it's just that the current /sys/firmware/efi/runtime-memmap isn't complete enough to use. Sponsored by: Netflix Reviewed by: kevans, jhibbits Differential Revision: https://reviews.freebsd.org/D49863 --- stand/kboot/include/efi.h | 11 +- stand/kboot/kboot/arch/aarch64/exec.c | 7 +- stand/kboot/kboot/arch/aarch64/load_addr.c | 121 ++++--------------- stand/kboot/libkboot/Makefile | 1 + stand/kboot/libkboot/efi.c | 187 +++++++++++++++++++++++++---- 5 files changed, 200 insertions(+), 127 deletions(-) diff --git a/stand/kboot/include/efi.h b/stand/kboot/include/efi.h index f75a9ea055d3..26a6cf8944ca 100644 --- a/stand/kboot/include/efi.h +++ b/stand/kboot/include/efi.h @@ -13,6 +13,15 @@ typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); +struct preloaded_file; + +bool efi_read_from_pa(uint64_t pa, uint32_t map_size, uint32_t desc_size, uint32_t vers); +void efi_read_from_sysfs(void); +void efi_set_systbl(uint64_t tbl); void foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp); void print_efi_map(struct efi_map_header *efihdr); -bool populate_avail_from_efi(struct efi_map_header *efihdr); +void efi_bi_loadsmap(struct preloaded_file *kfp); + +extern uint32_t efi_map_size; +extern vm_paddr_t efi_map_phys_src; /* From DTB */ +extern vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ diff --git a/stand/kboot/kboot/arch/aarch64/exec.c b/stand/kboot/kboot/arch/aarch64/exec.c index bbb97cc20979..40eb57f371a9 100644 --- a/stand/kboot/kboot/arch/aarch64/exec.c +++ b/stand/kboot/kboot/arch/aarch64/exec.c @@ -41,6 +41,7 @@ #include #include "bootstrap.h" +#include "efi.h" #include "kboot.h" #include "platform/acfreebsd.h" @@ -65,11 +66,7 @@ static int elf64_obj_exec(struct preloaded_file *amp); bool do_mem_map = false; -extern uint32_t efi_map_size; -extern vm_paddr_t efi_map_phys_src; /* From DTB */ -extern vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ - -/* Usually provided by loader_efi.h */ +/* Usually provided by loader_efi.h -- maybe just delete? */ #ifndef EFI int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); diff --git a/stand/kboot/kboot/arch/aarch64/load_addr.c b/stand/kboot/kboot/arch/aarch64/load_addr.c index 8ceb21007c45..c458adc8dd05 100644 --- a/stand/kboot/kboot/arch/aarch64/load_addr.c +++ b/stand/kboot/kboot/arch/aarch64/load_addr.c @@ -11,30 +11,18 @@ #include #include "kboot.h" -#include "bootstrap.h" #include "efi.h" -/* - * Info from dtb about the EFI system - */ -vm_paddr_t efi_systbl_phys; -struct efi_map_header *efi_map_hdr; -uint32_t efi_map_size; -vm_paddr_t efi_map_phys_src; /* From DTB */ -vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ - static bool do_memory_from_fdt(int fd) { struct stat sb; char *buf = NULL; - int len, offset, fd2 = -1; - uint32_t sz, ver, esz, efisz; + int len, offset; + uint32_t sz, ver, esz; uint64_t mmap_pa; const uint32_t *u32p; const uint64_t *u64p; - struct efi_map_header *efihdr; - struct efi_md *map; if (fstat(fd, &sb) < 0) return false; @@ -60,7 +48,7 @@ do_memory_from_fdt(int fd) u64p = fdt_getprop(buf, offset, "linux,uefi-system-table", &len); if (u64p == NULL) goto errout; - efi_systbl_phys = fdt64_to_cpu(*u64p); + efi_set_systbl(fdt64_to_cpu(*u64p)); u32p = fdt_getprop(buf, offset, "linux,uefi-mmap-desc-ver", &len); if (u32p == NULL) goto errout; @@ -82,62 +70,8 @@ do_memory_from_fdt(int fd) printf("UEFI MMAP: Ver %d Ent Size %d Tot Size %d PA %#lx\n", ver, esz, sz, mmap_pa); - /* - * We may have no ability to read the PA that this map is in, so pass - * the address to FreeBSD via a rather odd flag entry as the first map - * so early boot can copy the memory map into this space and have the - * rest of the code cope. - */ - efisz = roundup2(sizeof(*efihdr), 16); - buf = malloc(sz + efisz); - if (buf == NULL) - return false; - efihdr = (struct efi_map_header *)buf; - map = (struct efi_md *)((uint8_t *)efihdr + efisz); - bzero(map, sz); - efihdr->memory_size = sz; - efihdr->descriptor_size = esz; - efihdr->descriptor_version = ver; - - /* - * Save EFI table. Either this will be an empty table filled in by the trampoline, - * or we'll read it below. Either way, set these two variables so we share the best - * UEFI memory map with the kernel. - */ - efi_map_hdr = efihdr; - efi_map_size = sz + efisz; - - /* - * Try to read in the actual UEFI map. - */ - fd2 = open("host:/dev/mem", O_RDONLY); - if (fd2 < 0) { - printf("Will read UEFI mem map in tramp: no /dev/mem, need CONFIG_DEVMEM=y\n"); - goto no_read; - } - if (lseek(fd2, mmap_pa, SEEK_SET) < 0) { - printf("Will read UEFI mem map in tramp: lseek failed\n"); - goto no_read; - } - len = read(fd2, map, sz); - if (len != sz) { - if (len < 0 && errno == EPERM) - printf("Will read UEFI mem map in tramp: kernel needs CONFIG_STRICT_DEVMEM=n\n"); - else - printf("Will read UEFI mem map in tramp: lean = %d errno = %d\n", len, errno); - goto no_read; - } - printf("Read UEFI mem map from physmem\n"); - efi_map_phys_src = 0; /* Mark MODINFOMD_EFI_MAP as valid */ - close(fd2); - printf("UEFI MAP:\n"); - print_efi_map(efihdr); - return true; /* OK, we really have the memory map */ - -no_read: - efi_map_phys_src = mmap_pa; - close(fd2); - return true; /* We can get it the trampoline */ + efi_read_from_pa(mmap_pa, sz, esz, ver); + return true; errout: free(buf); @@ -150,22 +84,32 @@ enumerate_memory_arch(void) int fd = -1; bool rv = false; + /* + * FDT publishes the parameters for the memory table in a series of + * nodes in the DTB. One of them is the physical address for the memory + * table. Try to open the fdt nblob to find this information if we can + * and try to grab things from memory. If we return rv == TRUE then + * we found it. The global efi_map_phys_src is set != 0 when we know + * the PA but can't read it. + */ fd = open("host:/sys/firmware/fdt", O_RDONLY); if (fd != -1) { rv = do_memory_from_fdt(fd); close(fd); - /* - * So, we have physaddr to the memory table. However, we can't - * open /dev/mem on some platforms to get the actual table. So - * we have to fall through to get it from /proc/iomem. - */ } + + /* + * One would think that one could use the raw EFI map to find memory + * that's free to boot the kernel with. However, Linux reserves some + * areas that it needs to properly. I'm not sure if the printf should be + * a panic, but for now, so I can debug (maybe at the loader prompt), + * I'm printing and carrying on. + */ if (!rv) { printf("Could not obtain UEFI memory tables, expect failure\n"); } populate_avail_from_iomem(); - print_avail(); return true; @@ -181,32 +125,19 @@ kboot_get_phys_load_segment(void) if (s != 0) return (s); + print_avail(); s = first_avail(KERN_ALIGN, HOLE_SIZE, SYSTEM_RAM); + printf("KBOOT GET PHYS Using %#llx\n", (long long)s); if (s != 0) return (s); s = 0x40000000 | 0x4200000; /* should never get here */ - printf("Falling back to crazy address %#lx\n", s); + /* XXX PANIC? XXX */ + printf("Falling back to the crazy address %#lx which works in qemu\n", s); return (s); } void bi_loadsmap(struct preloaded_file *kfp) { - - /* - * Make a note of a systbl. This is nearly mandatory on AARCH64. - */ - if (efi_systbl_phys) - file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(efi_systbl_phys), &efi_systbl_phys); - - /* - * If we have efi_map_hdr, then it's a pointer to the PA where this - * memory map lives. The trampoline code will copy it over. If we don't - * have it, we use whatever we found in /proc/iomap. - */ - if (efi_map_hdr != NULL) { - file_addmetadata(kfp, MODINFOMD_EFI_MAP, efi_map_size, efi_map_hdr); - return; - } - panic("Can't get UEFI memory map, nor a pointer to it, can't proceed.\n"); + efi_bi_loadsmap(kfp); } diff --git a/stand/kboot/libkboot/Makefile b/stand/kboot/libkboot/Makefile index e23ae9bb9215..dc85ffe8afb2 100644 --- a/stand/kboot/libkboot/Makefile +++ b/stand/kboot/libkboot/Makefile @@ -5,6 +5,7 @@ WARNS?= 4 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH} CFLAGS+=-I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} +CFLAGS+=-I${LDRSRC} SRCS= crt1.c SRCS+= host_syscall.S diff --git a/stand/kboot/libkboot/efi.c b/stand/kboot/libkboot/efi.c index 1c1d9a34d297..3f1055f6d538 100644 --- a/stand/kboot/libkboot/efi.c +++ b/stand/kboot/libkboot/efi.c @@ -5,9 +5,156 @@ */ #include +#include #include "stand.h" +#include "bootstrap.h" #include "efi.h" #include "seg.h" +#include "util.h" + +vm_paddr_t efi_systbl_phys; +struct efi_map_header *efi_map_hdr; +uint32_t efi_map_size; +vm_paddr_t efi_map_phys_src; /* From DTB */ +vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ + +void +efi_set_systbl(uint64_t tbl) +{ + efi_systbl_phys = tbl; +} + +#if 0 +/* Note: This is useless since runtime-map is a subset */ +void +efi_read_from_sysfs(void) +{ + uint32_t efisz, sz, map_size; + int entries = 0; + struct efi_md *map; /* Really an array */ + char *buf; + struct stat sb; + char fn[100]; + + /* + * Count the number of entries we have. They are numbered from 0 + * through entries - 1. + */ + do { + printf("Looking at index %d\n", entries); + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/phys_addr", entries++); + } while (stat(fn, &sb) == 0); + + /* + * We incremented entries one past the first failure, so we need to + * adjust the count and the test for 'nothing found' is against 1. + */ + if (entries == 1) + goto err; + entries--; + + /* XXX lots of copied code, refactor? */ + map_size = sizeof(struct efi_md) * entries; + efisz = roundup2(sizeof(*efi_map_hdr), 16); + sz = efisz + map_size; + buf = malloc(efisz + map_size); + if (buf == NULL) + return; + efi_map_hdr = (struct efi_map_header *)buf; + efi_map_size = sz; + map = (struct efi_md *)(buf + efisz); + bzero(map, sz); + efi_map_hdr->memory_size = map_size; + efi_map_hdr->descriptor_size = sizeof(struct efi_md); + efi_map_hdr->descriptor_version = EFI_MEMORY_DESCRIPTOR_VERSION; + for (int i = 0; i < entries; i++) { + struct efi_md *m; + + printf("Populating index %d\n", i); + m = map + i; + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/type", i); + if (!file2u32(fn, &m->md_type)) + goto err; + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/phys_addr", i); + if (!file2u64(fn, &m->md_phys)) + goto err; + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/virt_addr", i); + if (!file2u64(fn, &m->md_virt)) + goto err; + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/num_pages", i); + if (!file2u64(fn, &m->md_pages)) + goto err; + snprintf(fn, sizeof(fn), "/sys/firmware/efi/runtime-map/%d/attribute", i); + if (!file2u64(fn, &m->md_attr)) + goto err; + } + efi_map_phys_src = 0; + printf("UEFI MAP:\n"); + print_efi_map(efi_map_hdr); + printf("DONE\n"); + return; +err: + printf("Parse error in reading current memory map\n"); +} +#endif + +/* + * We may have no ability to read the PA that this map is in, so pass + * the address to FreeBSD via a rather odd flag entry as the first map + * so early boot can copy the memory map into this space and have the + * rest of the code cope. + */ +bool +efi_read_from_pa(uint64_t pa, uint32_t map_size, uint32_t desc_size, uint32_t vers) +{ + uint32_t efisz, sz; + char *buf; + int fd2, len; + struct efi_md *map; /* Really an array */ + + /* + * We may have no ability to read the PA that this map is in, so pass + * the address to FreeBSD via a rather odd flag entry as the first map + * so early boot can copy the memory map into this space and have the + * rest of the code cope. We also have to round the size of the header + * to 16 byte boundary. + */ + efisz = roundup2(sizeof(*efi_map_hdr), 16); + sz = efisz + map_size; + buf = malloc(efisz + map_size); + if (buf == NULL) + return false; + efi_map_hdr = (struct efi_map_header *)buf; + efi_map_size = sz; + map = (struct efi_md *)(buf + efisz); + bzero(map, sz); + efi_map_hdr->memory_size = map_size; + efi_map_hdr->descriptor_size = desc_size; + efi_map_hdr->descriptor_version = vers; + + /* + * Try to read in the actual UEFI map. This may fail, and that's OK. We just + * won't print the map. + */ + fd2 = open("host:/dev/mem", O_RDONLY); + if (fd2 < 0) + goto no_read; + if (lseek(fd2, pa, SEEK_SET) < 0) + goto no_read; + len = read(fd2, map, sz); + if (len != sz) + goto no_read; + efi_map_phys_src = 0; /* Mark MODINFOMD_EFI_MAP as valid */ + close(fd2); + printf("UEFI MAP:\n"); + print_efi_map(efi_map_hdr); + return (true); + +no_read: /* Just get it the trampoline */ + efi_map_phys_src = pa; + close(fd2); + return (true); +} void foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) @@ -98,37 +245,25 @@ print_efi_map(struct efi_map_header *efihdr) foreach_efi_map_entry(efihdr, print_efi_map_entry, NULL); } -static void -efi_map_entry_add_avail(struct efi_md *p, void *argp) +void +efi_bi_loadsmap(struct preloaded_file *kfp) { - bool *retval = argp; - /* - * The kernel itself uses a lot more types as memory it can use. Be - * conservative here so we don't overwrite anything during the reboot - * process which copies the new kernel (so we can't use the Linux kenrel - * space for example). Anything that's not free, we simply don't add to - * the system ram space. We just need to find a big enough place we can - * land the kernel, and most of the other types we might use are - * typically too small anyway, even if we could safely use them. + * Make a note of a systbl. This is nearly mandatory on AARCH64. */ - if (p->md_type != EFI_MD_TYPE_FREE) - return; + if (efi_systbl_phys) + file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(efi_systbl_phys), &efi_systbl_phys); /* - * The memory map is always disjoint, so we never have to remove avail. + * If we have efi_map_hdr, then it's a pointer to the PA where this + * memory map lives. The trampoline code will copy it over. If we don't + * have it, panic because /proc/iomem isn't sufficient and there's no + * hope. */ - add_avail(p->md_phys, p->md_phys + p->md_pages * EFI_PAGE_SIZE - 1, - SYSTEM_RAM); - *retval = true; -} - -bool -populate_avail_from_efi(struct efi_map_header *efihdr) -{ - bool retval = false; + if (efi_map_hdr != NULL) { + file_addmetadata(kfp, MODINFOMD_EFI_MAP, efi_map_size, efi_map_hdr); + return; + } - init_avail(); - foreach_efi_map_entry(efihdr, efi_map_entry_add_avail, &retval); - return retval; + panic("Can't get UEFI memory map, nor a pointer to it, can't proceed.\n"); } From nobody Thu Apr 17 21:59:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsHc1Np4z5sr6R; Thu, 17 Apr 2025 21:59:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdsHb3nRvz3VDc; Thu, 17 Apr 2025 21:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WdnzvEQrQ0YDF38fEPQK4mIy/mDdySkI5+Cs8vlOT+g=; b=YJvcYJonxVQrILNuZXOl9iDL0Fu8yfzTHuMBZVQV9YpURf+cOy1eWPgVvPD6t07sYLWjJa oXLRP41GnJIyOBGctRm0HCWyGbfOlUyE0TzaBNhBhNh5MgGKvIBW16bChUkO0KQGRAIdlR hquaoSUEHTiop0k6KAh93uqzMANqh63pEuQkoygGxbhmcYH+OA9vdpfeM4DGPhGbCY1GpF LIa+CnjjIpIxBUirbfpENeiKDFKRAZUY1yU7t0x8yQRxdbeRdboySb3l9ErdYM5dnCu8zp fU7PSt+ZkVP70XLd2kZTi4m5iyjZk0gIYX6ITojsPgczjw7Nsig7yyxLrLFLlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927163; a=rsa-sha256; cv=none; b=eNKV1EoNE3iGLtAlL/5BRep7vmyOt4Q3e4o4iCvKIcHRLWsImshe5QZqmLRiksfymu2+44 CbSPYtQvvI60NMFE1x5N4Cmvl7t1iLeqxhhCiWNtvC6gidwSZ6L5NJgOHVfprSP9JnWCQ8 hmeugDzysx9CzXC6V8/kn5NcytvG8BvZ4jdg5bSFtmyyrIydP7GTM8GxB9NT+vQCYgFNfy H1Qy1wnnmJgPN/Vqge4HIlN7oRVGy3VdWQ5XUnvspJMfBzLo4Y4qdltF+h7o7Ityq1ESXw OasEW2Ybdx+mkwWwpNVIXGP6NwuA3cMvKvYz/L2NMKYKNwQDXUlB/vol37lHew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WdnzvEQrQ0YDF38fEPQK4mIy/mDdySkI5+Cs8vlOT+g=; b=hOvUirJ9gmaeHcFBKcfH6NLnV8HAZyjkHY/DF8gLAVEwK1ar+wQzsxdRaeNsmU9leyqx3E YM1d5pzk6PjGOfHdb28x8CzcrqaUoRM92vj/G6SFHAV5pqKl06WGzDm+Z0kBFe4ZKbQEfC mVr5h3L1B/9rpFfVar9V09WwkiCN4tpLyGaAe7UbpUQ4tBQiq4NoVEwfxiAaDXRTQWO9mt eyQqKVdxU/srlUD2mms4j1f4gcp530pnKOXZzxWDpJvPECE89Av/sSVddttKqLvWH5Skow FgyhZcVro23pv/MMEwZhVNo30FEpQ7LHRCqlV6l7CWs+PQjkVVEMW+akIluIhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsHb3MZvz15XJ; Thu, 17 Apr 2025 21:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HLxNsb002936; Thu, 17 Apr 2025 21:59:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HLxNrb002933; Thu, 17 Apr 2025 21:59:23 GMT (envelope-from git) Date: Thu, 17 Apr 2025 21:59:23 GMT Message-Id: <202504172159.53HLxNrb002933@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: d7e6ab7a9709 - main - kboot: Add support for UEFI booting amd64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: d7e6ab7a9709c8fc986dedd4783d311d4fbb676e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d7e6ab7a9709c8fc986dedd4783d311d4fbb676e commit d7e6ab7a9709c8fc986dedd4783d311d4fbb676e Author: Warner Losh AuthorDate: 2025-04-17 04:05:26 +0000 Commit: Warner Losh CommitDate: 2025-04-17 21:56:47 +0000 kboot: Add support for UEFI booting amd64 In an ideal world, we'd get systbl and efi memory map from /sys/firmware/efi somewhere. They are currently not published, but may be in the future. The systab comes from the first call to the EFI entry point and there's no way to find it otherwise. Memmap is obtained from BootServices which is long gone. And besides, it's modified for the runtime entries for the call to SetVirtualAddresses call in runtime services. Even though that's in runtime services, it can be called only once. kexec tools + Pandora (the kexec boot loader embedded in the Linux kenrel) don't need this because pandora copyies this structure over when the new kernel is a bzImage. Our current trampoline doesn't do that, so we have to get it from the current kernel. Even so, we have to pass the PAs for the memory map to the trampoline which copies this over (in part so we can boot an modified kernel, otherwise we could put this into an alternative entry point, but those are hard to manage). So, we can sig out the PA of the memory map via this method, but some care is needed. For the initial round, it suffices. However, Linux on x86 does some odd things with EFI_RUNTIME that need to be preserved (so this is a temporary measure until we get the /sys/firmware/efi code working). The Linux kernel keeps this memory around, but it's not clear how long. It stops referencing it after it converts it to the BIOS e820 memory map array it uses elsewhere. It seems to be OK to use since our use case is an immediate boot to FreeBSD, not a boot after Linux runs a while and had a chance to (maybe) overwrite this data. Migrating to a proper interface that publishes the modified EFI map in /sys/firmware/efi/memmap is in the future. Update the trampoline to copy this data before jumping into the kernel. We use the simple laucnhing interface instead of the bzImage interface that kexec_file() uses, so there's no last-second chance to use the boot params data. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D49869 --- stand/kboot/kboot/arch/amd64/amd64_tramp.S | 54 ++++++++++++++++----- stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 40 ++++++++++++---- stand/kboot/kboot/arch/amd64/load_addr.c | 70 +++++++++++++++++++++++++++- 3 files changed, 142 insertions(+), 22 deletions(-) diff --git a/stand/kboot/kboot/arch/amd64/amd64_tramp.S b/stand/kboot/kboot/arch/amd64/amd64_tramp.S index 2f2f765d3547..d3b2d5ecaf77 100644 --- a/stand/kboot/kboot/arch/amd64/amd64_tramp.S +++ b/stand/kboot/kboot/arch/amd64/amd64_tramp.S @@ -38,6 +38,10 @@ * store them here. This is constructed to be a useful stack: * * struct trampoline_data { + * // %rsp points here on start and we pop the args off and then retq to 'entry' + * uint64_t memmap_src; // Linux-provided memory map PA + * uint64_t memmap_dst; // Module data copy PA + * uint64_t memmap_len; // Length to copy * uint64_t pt4; // Page table address to pop * uint64_t entry; // return address to jump to kernel * uint32_t fill1; // 0 @@ -47,33 +51,52 @@ * }; * * loader.kboot will construct a stack that btext expects, which is arguments on - * the stack, not in registers, and these args are 32-bit not 64 + * the stack, not in registers, and these args are 32-bit not 64. The extra stuff + * is data the trampoline code consumes. * * Processor is already in long mode when we're called, paging is enabled and * boot loader loads things such that: * - kernel mapped at KERNBASE, aligned to 2MB, below 4GB, contiguous memory + * - %cr3 tells us our PA later in boot, so we install it before jumping + * to the kernel. * - there is a 2M hole at KERNBASE (KERNSTART = KERNBASE + 2M) * - kernel is mapped with 2M superpages * - The kernel, modules and metadata is in first 4GB which is unity mapped * - There's additional memory after loader provided data for early allocations * - * Unlike EFI, we don't support copying the staging area. We tell Linux to land - * the kernel in its final location with the needed alignment, etc. We copy the - * trampoline code to 1MB offset above KERNBASE since that memory is otherwise - * free and safely above the lower 1MB swamp we inherited from IBM PC, though - * this code makes no assumptions about where that might. + * Unlike coming directly from loader.efi, we don't support copying the staging + * area. We tell Linux to land the kernel in its final location with the needed + * alignment, etc. We copy the trampoline code to 1MB offset above KERNBASE + * since that memory is otherwise free and safely above the lower 1MB swamp we + * inherited from IBM PC, though this code makes no assumptions about where that + * might be. * - * Thus, the trampoline just needs to set %rsp to that stack pop the %cr3 value, - * set it and then retq to jump to the kernel with its stack args filled in. - * Since the handoff to this code used to be from 32-bit code, it uses the i386 - * calling conventions which put the arguments on the stack. The kernel's btext - * routine expects this setup. + * Thus, the trampoline just needs to set %rsp to that stack pop the systab + * patch value, pop the %cr3 value, set it and then retq to jump to the kernel + * with its stack args filled in. Since the handoff to this code used to be + * from 32-bit code, it uses the i386 calling conventions which put the + * arguments on the stack. The kernel's btext routine expects this setup. */ + .text .globl tramp tramp: cli /* Make sure we don't get interrupted. */ - leaq tramp_pt4(%rip), %rsp /* Setup our pre-filled-in stack */ + cld /* Copy in a sane direction */ + leaq stack_start(%rip), %rsp /* Setup our pre-filled-in stack */ + + /* + * If we have a EFI memory map, copy it over. These data are always + * on the stack, so we pop them all off before testing to skip the copy. + */ + popq %rsi /* memmap_src */ + popq %rdi /* memmap_dst */ + popq %rcx /* memmap_size */ + testq %rsi, %rsi + je no_map_copy + rep movsb /* Make the copy */ + +no_map_copy: popq %rax /* Pop off the PT4 ptr for %cr3 */ movq %rax, %cr3 /* set the page table */ retq /* Return addr and args already on stack */ @@ -84,6 +107,13 @@ tramp: */ .p2align 3 /* Stack has to be 8 byte aligned */ trampoline_data: +stack_start: /* %rsp at start. */ +tramp_memmap_src: + .quad 0 /* SRC PA (data from Linux) */ +tramp_memmap_dst: + .quad 0 /* DST PA (data to FreeBSD's metadata */ +tramp_memmap_len: + .quad 0 /* Length */ tramp_pt4: .quad 0 /* New %cr3 value */ tramp_entry: .quad 0 /* Entry to kernel (btext) */ /* %rsp points here on entry to amd64 kernel's btext */ diff --git a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c index 495c4c0b320e..330646715289 100644 --- a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c @@ -44,6 +44,7 @@ #include "bootstrap.h" #include "kboot.h" +#include "efi.h" #include "platform/acfreebsd.h" #include "acconfig.h" @@ -97,13 +98,19 @@ struct file_format *file_formats[] = { #ifndef EFI /* - * We create the stack that we want. We have the address of the page tables - * we make on top (so we pop that off and set %cr3). We have the entry point - * to the kernel (which retq pops off) This leaves the stack that the btext - * wants: offset 4 is modulep and offset8 is kernend, with the filler bytes - * to keep this aligned. This makes the trampoline very simple. + * We create the stack that we want. We store any memory map table that we have + * top copy (the metadata has already been filled in). We pop these args off and + * copy if neeed be. Then, we have the address of the page tables we make on top + * (so we pop that off and set %cr3). We have the entry point to the kernel + * (which retq pops off) This leaves the stack that the btext wants: offset 4 is + * modulep and offset8 is kernend, with the filler bytes to keep this + * aligned. This also makes the trampoline very simple: pop some args, maybe copy + * pop the page table and then return into btext as defined in the kernel. */ struct trampoline_data { + uint64_t memmap_src; // Linux-provided memory map PA + uint64_t memmap_dst; // Module data copy PA + uint64_t memmap_len; // Length to copy uint64_t pt4; // Page table address to pop uint64_t entry; // return address to jump to kernel uint32_t fill1; // 0 @@ -111,7 +118,7 @@ struct trampoline_data { uint32_t kernend; // 8 kernel end uint32_t fill2; // 12 }; -_Static_assert(sizeof(struct trampoline_data) == 32, "Bad size for trampoline data"); +_Static_assert(sizeof(struct trampoline_data) == 56, "Bad size for trampoline data"); #endif static pml4_entry_t *PT4; @@ -420,8 +427,24 @@ elf64_exec(struct preloaded_file *fp) PT4, ehdr->e_entry); #else trampoline_data = (void *)trampoline + tramp_data_offset; - trampoline_data->entry = ehdr->e_entry; - trampoline_data->pt4 = trampolinebase + LOADER_PAGE_SIZE; + trampoline_data->entry = ehdr->e_entry; /* VA since we start MMU with KERNBASE, etc */ + if (efi_map_phys_src != 0) { + md = file_findmetadata(fp, MODINFOMD_EFI_MAP); + if (md == NULL || md->md_addr == 0) { + printf("Need to copy EFI MAP, but EFI MAP not found. %p\n", md); + } else { + printf("Metadata EFI map loaded at VA %lx\n", md->md_addr); + efi_map_phys_dst = md->md_addr + staging + /* md_addr is taging relative */ + roundup2(sizeof(struct efi_map_header), 16); /* Skip header */ + trampoline_data->memmap_src = efi_map_phys_src; + trampoline_data->memmap_dst = efi_map_phys_dst; + trampoline_data->memmap_len = efi_map_size - roundup2(sizeof(struct efi_map_header), 16); + printf("Copying UEFI Memory Map data from %#lx to %#lx %ld bytes\n", + trampoline_data->memmap_src, + trampoline_data->memmap_dst, + trampoline_data->memmap_len); + } + } /* * So we compute the VA of the module data by modulep + KERNBASE.... * need to make sure that that address is mapped right. We calculate @@ -429,6 +452,7 @@ elf64_exec(struct preloaded_file *fp) * calculated with a phyaddr of "kernend + PA(PT_u0[1])"), so we better * make sure we're not overwriting the last 2MB of the kernel :). */ + trampoline_data->pt4 = trampolinebase + LOADER_PAGE_SIZE; trampoline_data->modulep = modulep; /* Offset from KERNBASE */ trampoline_data->kernend = kernend; /* Offset from the load address */ trampoline_data->fill1 = trampoline_data->fill2 = 0; diff --git a/stand/kboot/kboot/arch/amd64/load_addr.c b/stand/kboot/kboot/arch/amd64/load_addr.c index 7a878ae88cba..8f4414d32342 100644 --- a/stand/kboot/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/kboot/arch/amd64/load_addr.c @@ -33,12 +33,78 @@ #include "kboot.h" #include "bootstrap.h" +/* + * Abbreviated x86 Linux struct boot_param for the so-called zero-page. + * We have to use this to get systab and memmap since neither of those + * are exposed in a sane way. We only define what we need and pad for + * everything else to minimize cross-coupling. + * + * Transcribed in FreeBSD-ese from Linux's asm/bootparam.h for x86 as of + * 6.15, but these details haven't changed in a long time. + */ + +struct linux_efi_info { + uint32_t efi_loader_signature; /* 0x00 */ + uint32_t efi_systab; /* 0x04 */ + uint32_t efi_memdesc_size; /* 0x08 */ + uint32_t efi_memdesc_version; /* 0x0c */ + uint32_t efi_memmap; /* 0x10 */ + uint32_t efi_memmap_size; /* 0x14 */ + uint32_t efi_systab_hi; /* 0x18 */ + uint32_t efi_memmap_hi; /* 0x1c */ +} __packed; + +struct linux_boot_params { + uint8_t _pad1[0x1c0]; /* 0x000 */ + struct linux_efi_info efi_info; /* 0x1c0 */ + uint8_t _pad2[0x1000 - 0x1c0 - sizeof(struct linux_efi_info)]; /* 0x1e0 */ +} __packed; /* Total size 4k, the page size on x86 */ + bool enumerate_memory_arch(void) { - efi_read_from_sysfs(); - if (!populate_avail_from_iomem()) + struct linux_boot_params bp; + + /* + * Sadly, there's no properly exported data for the EFI memory map nor + * the system table. systab is passed in from the original boot loader. + * memmap is obtained from boot time services (which are long gone) and + * then modified and passed to SetVirtualAddressMap. Even though the + * latter is in runtime services, it can only be called once and Linux + * has already called it. So unless we can dig all this out from the + * Linux kernel, there's no other wy to get it. A proper way would be to + * publish these in /sys/firmware/efi, but that's not done yet. We can + * only get the runtime subset and can't get systbl at all from today's + * (6.15) Linux kernel. Linux's pandora boot loader will copy this same + * information when it calls the new kernel, but since we don't use the + * bzImage kexec vector, we have to harvest it here. + */ + if (data_from_kernel("boot_params", &bp, sizeof(bp))) { + uint64_t systbl, memmap; + + systbl = (uint64_t)bp.efi_info.efi_systab_hi << 32 | + bp.efi_info.efi_systab; + memmap = (uint64_t)bp.efi_info.efi_memmap_hi << 32 | + bp.efi_info.efi_memmap; + + efi_set_systbl(systbl); + efi_read_from_pa(memmap, bp.efi_info.efi_memmap_size, + bp.efi_info.efi_memdesc_size, bp.efi_info.efi_memdesc_version); + printf("UEFI SYSTAB PA: %#lx\n", systbl); + printf("UEFI MMAP: Ver %d Ent Size %d Tot Size %d PA %#lx\n", + bp.efi_info.efi_memdesc_version, bp.efi_info.efi_memdesc_size, + bp.efi_info.efi_memmap_size, memmap); + } + /* + * So, we can't use the EFI map for this, so we have to fall back to + * the proc iomem stuff to at least get started... + */ + if (!populate_avail_from_iomem()) { + printf("Populate from avail also failed.\n"); return (false); + } else { + printf("Populate worked...\n"); + } print_avail(); return (true); } From nobody Thu Apr 17 22:07:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdsSr2r0Xz5srt5; Thu, 17 Apr 2025 22:07: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 4ZdsSr1zSWz3dF3; Thu, 17 Apr 2025 22:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gb4XzACowBpl64ubeo2C2ekYp6mzc1CH+vltgcfBjIE=; b=Tq4ivEXFpMjeOqyDUF5nEeB9CYiaVk+LtSqaCfkxbfpdWWYxoqgk7cLfdBjTOBF8Lqo+Kd A1sFG+E4pgtcyxMtbs9V+CMFi7mdKJS+EIu+FYnNQVPes/GOdN02MVqzom7WqEQPoD2YQW RZ9Ythd9fNGRLfSgPEkw/A+Q7DE+1egHnJ9duVwHjMzrLqNBfVorpfqCoD9v5A9LHQrxh6 +OlyvFQtJaIxxoyhArkVNDm2Aj0aZdGNeAL6znn1owo+AyHH7rpxtt1ZmenmTn392Zs5/R PJ/ZxEgY7jg1FEju/B3FbwtUUyEp6W+RiVjmBq6BZ689waTBc9VPWDyFmb1LsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744927644; a=rsa-sha256; cv=none; b=BJTkzseont9p+685HrR0oDBNnHzlXxMtKZuuui+xYngpYOU2/ZfMvC2Fn/QTp+K0S967lI 1FlMIPAY+pV9cw1eYq8uiYslwhHurqFVmd+orzGJUe2zNvVbGjO987sJDboP/L0w1M4uGM XZ37W7tfLnnWJWBpUwDR4vH/8myxcfdyA4/lKf22XRzXPro6Zt8ALXsCWvI5ZIufdfxKEj aa233b6bjTtrNDII8SbrjylJ75l5nVc6O3Elo6mpJZ+aq8fHdZSck5UO9hd0j+GkZ+8bq1 +poZhoo67g5tDJAoIOgzZvCIKph4tKpNvGqcCSJvNxLV09LqT3DuWtWgn25upA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744927644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gb4XzACowBpl64ubeo2C2ekYp6mzc1CH+vltgcfBjIE=; b=bfKP5Kf/R/uIIZ6v2Bx4ML2zLPpE/7FI6Bxc2ZoqDYFUfi11QWxqXlETeYLFfFeDRoihOq 94/HiazaiHzlR1WADJr+voJI36M9QzBNqRI278knq1SRY7aM1VukaSVDVjLsQHdfiWJYqI wHUgLWNqKdq7Y7VQsf6zuLrlDpK4SV+1QBta4ojY4FGWCQdXRVZozR1dCe2ZfDCTnpF/Fa YXy4ZTlq03rsgYk7dmd3oR21D8mAwGjKZBc0mu4AotS5C7xdnPF3MoFKxGfPR77w66oZcl NMm5kVfYghRjgX2dpzgUslCb+Xjc+1fD8ZTI6UVReZiRuacHHH1GqXoGnZi4pA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdsSr1QcHz15n8; Thu, 17 Apr 2025 22:07: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 53HM7O0A022331; Thu, 17 Apr 2025 22:07:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HM7ODV022328; Thu, 17 Apr 2025 22:07:24 GMT (envelope-from git) Date: Thu, 17 Apr 2025 22:07:24 GMT Message-Id: <202504172207.53HM7ODV022328@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: 514c2930292e - main - vm_object: use iterators in page_collect_flush() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 514c2930292ec4e275ea0417ede98b8c78ea8930 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=514c2930292ec4e275ea0417ede98b8c78ea8930 commit 514c2930292ec4e275ea0417ede98b8c78ea8930 Author: Doug Moore AuthorDate: 2025-04-17 22:05:30 +0000 Commit: Doug Moore CommitDate: 2025-04-17 22:05:30 +0000 vm_object: use iterators in page_collect_flush() Implement vm_object_page_collect_flush() using iterators instead of vm_page_next() and vm_page_prev(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49874 --- sys/vm/vm_object.c | 59 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 19e585745a80..c696408def20 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -110,8 +110,8 @@ static int old_msync; SYSCTL_INT(_vm, OID_AUTO, old_msync, CTLFLAG_RW, &old_msync, 0, "Use old (insecure) msync behavior"); -static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p, - int pagerflags, int flags, boolean_t *allclean, +static int vm_object_page_collect_flush(struct pctrie_iter *pages, + vm_page_t p, int pagerflags, int flags, boolean_t *allclean, boolean_t *eio); static boolean_t vm_object_page_remove_write(vm_page_t p, int flags, boolean_t *allclean); @@ -1032,6 +1032,7 @@ boolean_t vm_object_page_clean(vm_object_t object, vm_ooffset_t start, vm_ooffset_t end, int flags) { + struct pctrie_iter pages; vm_page_t np, p; vm_pindex_t pi, tend, tstart; int curgeneration, n, pagerflags; @@ -1050,31 +1051,37 @@ vm_object_page_clean(vm_object_t object, vm_ooffset_t start, vm_ooffset_t end, tend = (end == 0) ? object->size : OFF_TO_IDX(end + PAGE_MASK); allclean = tstart == 0 && tend >= object->size; res = TRUE; + vm_page_iter_init(&pages, object); rescan: curgeneration = object->generation; - for (p = vm_page_find_least(object, tstart); p != NULL; p = np) { + for (p = vm_radix_iter_lookup_ge(&pages, tstart); p != NULL; p = np) { pi = p->pindex; if (pi >= tend) break; - np = TAILQ_NEXT(p, listq); - if (vm_page_none_valid(p)) + if (vm_page_none_valid(p)) { + np = vm_radix_iter_step(&pages); continue; - if (vm_page_busy_acquire(p, VM_ALLOC_WAITFAIL) == 0) { + } + if (!vm_page_busy_acquire(p, VM_ALLOC_WAITFAIL)) { if (object->generation != curgeneration && - (flags & OBJPC_SYNC) != 0) + (flags & OBJPC_SYNC) != 0) { + pctrie_iter_reset(&pages); goto rescan; - np = vm_page_find_least(object, pi); + } + np = vm_radix_iter_lookup_ge(&pages, pi); continue; } if (!vm_object_page_remove_write(p, flags, &allclean)) { + np = vm_radix_iter_step(&pages); vm_page_xunbusy(p); continue; } if (object->type == OBJT_VNODE) { - n = vm_object_page_collect_flush(object, p, pagerflags, + n = vm_object_page_collect_flush(&pages, p, pagerflags, flags, &allclean, &eio); + pctrie_iter_reset(&pages); if (eio) { res = FALSE; allclean = FALSE; @@ -1103,7 +1110,7 @@ rescan: n = 1; vm_page_xunbusy(p); } - np = vm_page_find_least(object, pi + n); + np = vm_radix_iter_lookup_ge(&pages, pi + n); } #if 0 VOP_FSYNC(vp, (pagerflags & VM_PAGER_PUT_SYNC) ? MNT_WAIT : 0); @@ -1120,37 +1127,37 @@ rescan: } static int -vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int pagerflags, - int flags, boolean_t *allclean, boolean_t *eio) +vm_object_page_collect_flush(struct pctrie_iter *pages, vm_page_t p, + int pagerflags, int flags, boolean_t *allclean, boolean_t *eio) { - vm_page_t ma[2 * vm_pageout_page_count - 1], tp; + vm_page_t ma[2 * vm_pageout_page_count - 1]; int base, count, runlen; vm_page_lock_assert(p, MA_NOTOWNED); vm_page_assert_xbusied(p); - VM_OBJECT_ASSERT_WLOCKED(object); base = nitems(ma) / 2; ma[base] = p; - for (count = 1, tp = p; count < vm_pageout_page_count; count++) { - tp = vm_page_next(tp); - if (tp == NULL || vm_page_tryxbusy(tp) == 0) + for (count = 1; count < vm_pageout_page_count; count++) { + p = vm_radix_iter_next(pages); + if (p == NULL || vm_page_tryxbusy(p) == 0) break; - if (!vm_object_page_remove_write(tp, flags, allclean)) { - vm_page_xunbusy(tp); + if (!vm_object_page_remove_write(p, flags, allclean)) { + vm_page_xunbusy(p); break; } - ma[base + count] = tp; + ma[base + count] = p; } - for (tp = p; count < vm_pageout_page_count; count++) { - tp = vm_page_prev(tp); - if (tp == NULL || vm_page_tryxbusy(tp) == 0) + pages->index = ma[base]->pindex; + for (; count < vm_pageout_page_count; count++) { + p = vm_radix_iter_prev(pages); + if (p == NULL || vm_page_tryxbusy(p) == 0) break; - if (!vm_object_page_remove_write(tp, flags, allclean)) { - vm_page_xunbusy(tp); + if (!vm_object_page_remove_write(p, flags, allclean)) { + vm_page_xunbusy(p); break; } - ma[--base] = tp; + ma[--base] = p; } vm_pageout_flush(&ma[base], count, pagerflags, nitems(ma) / 2 - base, From nobody Thu Apr 17 22:26:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdsv720gPz5ssqH for ; Thu, 17 Apr 2025 22:26:43 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-il1-x136.google.com (mail-il1-x136.google.com [IPv6:2607:f8b0:4864:20::136]) (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 4Zdsv671Prz3nMt for ; Thu, 17 Apr 2025 22:26:42 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail-il1-x136.google.com with SMTP id e9e14a558f8ab-3d81ea55725so3044945ab.1 for ; Thu, 17 Apr 2025 15:26:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; t=1744928802; x=1745533602; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=oRXmun7Hbb5exk7AxaA57MGGkPQPZnNARKbrxxtezBk=; b=gGs2h+YKcyVjDAq16XoCn2TvUGS9JH8wh9j8FzhWT5X22oiMnKB/adNnx97S0vIsP3 uA/ieQgQD/JJ3JxSPlwhO7HAUyGRjNh1iHTaVWqrsvueZOQQPgRF0N5/xzypKTUVvdne rolP6hMzNjQiglaZnOy+PzFBUXKpowHkPH/D5W5z8LiOXkVM6fagYkvpn1EQVy830T57 n9RxDa7bk6FieYmwBBuqAEua/WRmqNou7LfDhuWK9qh2IesrhQZj8i/mxQ21EBI6xcW0 DZtwJfKcXbr7v/etWk7eB+blnFY8yftdy7Gkk6rdFmfnppyOuRbjZ0w/hUEOb4BBaWO/ AljA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744928802; x=1745533602; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oRXmun7Hbb5exk7AxaA57MGGkPQPZnNARKbrxxtezBk=; b=QInfjTzBbUJKVrLuwJoGclRhPjWs6CL1OTKdYDgmpjCXMs77v7W6s4z/m8WG5nw1kH JR0j8aTsz9UfEWMsnlyvvrXOyqhcVbTi5u3SwF0+9ohll/mYSkrCdwYOatxq9wjKyjeq RvZ1alxWMfPXE0jFiz7ufEHgC+A2y6eXk0WfoavQ1Hm9Tb0T59hBQrZ6cUHjEFWu6bvc PTGy46meUJmj9EtHoCqehgyO1AYDFcWM3Q20Z5duLALXpj+LQascbYXpy5BN6qZo77sE yDKLi7SimhD5SI/fRDOGUtMj286Mtae4FyvLeYjbP61DOQZ+rYhqt2XZRUa6lGPn5Jyv ISqg== X-Forwarded-Encrypted: i=1; AJvYcCX3gtLL2XbzT+l0/p1uZkrN8gFAef7IraAIM72txv2PxJbCfOWKX+JffFCIcQc0nzKEG9+R/JenTMDgZjGf7BZxFfx1@freebsd.org X-Gm-Message-State: AOJu0YyeJT8BhVZ1XCJWITfCukDTHeatvWjzFw2OksCFkh3P6KVfDEof pnUpoVkYlbdc6BbGtvnjlgZE+7c/ijchW0in6h4FXzaw+DF/dhbh8bvDWspIOAU= X-Gm-Gg: ASbGnctBXHWE0CkHUnW65WcTZskmdm2lsIvTEGYKm+DLk+CQWoxDKt/YdKkXQPlXWd/ 9tFBbwDvhWiRvSTzu7dn831DRHka8G4MymkIpLVf2Usaodd3P/kSd/dxalVH9xT+loc4ImF4p5H kvOAX+pr+7y2djpWcrQ8zoK915W7dvGnczDf8dGWq4rLED6CQ6ZfbFKP1yF0Xv+dQQF7Z/obYWR QqGfalklEwqmpGgiHVHJHmg2RL3QuL/9uUefBvC5TtUdko10Qx1crt4ToFmPg4vZBvHTCIAlEJt eSRoLWiODbrsOzojGzuU3aENlqhnJk55qw== X-Google-Smtp-Source: AGHT+IEiVIWmzre4YK+TFue1/QGe4HeJmor9/v/vq833D4qyXa+Wh9X2pcyRglxnLtVr5JJK/TalHA== X-Received: by 2002:a05:6e02:12ce:b0:3d3:dfb6:2203 with SMTP id e9e14a558f8ab-3d88ee50613mr8637655ab.19.1744928801588; Thu, 17 Apr 2025 15:26:41 -0700 (PDT) Received: from mutt-hbsd ([2001:470:4001:1::95]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3d821d4475asm1628855ab.33.2025.04.17.15.26.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Apr 2025 15:26:41 -0700 (PDT) Date: Thu, 17 Apr 2025 22:26:39 +0000 From: Shawn Webb To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 58c99df2196c - main - kboot: .note.GNU-stack is needed Message-ID: <3xjl6lsx2v6psvxfqeweu36wg5zdom5ew3xktvjj4a7tj7gjfe@hm2wxhn3ne4c> X-Operating-System: FreeBSD mutt-hbsd 14.2-STABLE-HBSD FreeBSD 14.2-STABLE-HBSD HARDENEDBSD-14-STABLE amd64 X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <202504172159.53HLx828002496@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="5wf3wwp7ugw657d4" Content-Disposition: inline In-Reply-To: <202504172159.53HLx828002496@gitrepo.freebsd.org> 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: 4Zdsv671Prz3nMt X-Spamd-Bar: ---- --5wf3wwp7ugw657d4 Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: git: 58c99df2196c - main - kboot: .note.GNU-stack is needed MIME-Version: 1.0 On Thu, Apr 17, 2025 at 09:59:08PM +0000, Warner Losh wrote: > The branch main has been updated by imp: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D58c99df2196c5564a6922dcfe4= d03387cebdd10c >=20 > commit 58c99df2196c5564a6922dcfe4d03387cebdd10c > Author: Warner Losh > AuthorDate: 2025-04-17 04:03:26 +0000 > Commit: Warner Losh > CommitDate: 2025-04-17 21:56:45 +0000 >=20 > kboot: .note.GNU-stack is needed > =20 > Add '.section .note.GNU-stack,"",%progbits' to all assembler. Newer > versions of clang complain when this isn't present because executable > stacks are going away in the future. We don't need an executable stack > anyway. Just a little data point: HardenedBSD has lived without the ability to mark the stack as executable for nearly a decade now. I'm pretty sure it should be safe for FreeBSD to remove support for it as well, at least for amd64, arm64, and likely also riscv. The only outlier might be i386, but that no longer enjoys Tier 1 status on FreeBSD. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --5wf3wwp7ugw657d4 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmgBgA0ACgkQ/y5nonf4 4fpseBAAqkYI5bX2PnRp+u+R88XADwBCrPkz9UcgF77ZOsdb1jzEnVAtE/w3/g6U gUXRkLgDMvt6mCA/VftHFGSdYR7AI79p2ynQSX/DSx9vocuIfc/AjkYv7Iran+Mt ZtQqolsxmEliqWX+7V52y7jt6at+/lMyPMaf2a/gYNRJACHMtvZH3BN7PGxm6lxD 9WJrfGO/klmicfxuuWqSyspdKsFC4Nqjh6lOkSWvr+nkVoFKQHlRGgn4rjay57Df MTxVRDwljPEzAoJpGAlwP7aCVr5js0HMCnRtr7aT1drM4FlOpPBMQMIWJFG7cUF1 k+M94S9yeFckL59BFsNPNNjlQjrXi0HlFkoYbk2caJutDuTzLkfXTWa5GWXgsLDY cf+iaQmNds6taqYeWpGY6ASG2VB04tR3S2+OvPkggff2J6Rxm/972hVyc8ufe2Zm 5Jk2xYx0a8btglzyjrhhLNvH/avoAnHb6N9E94tBhzgEywqtYpAwiiYUsCElzIr0 DFfmW6gJdspZlk7lhpNuygA0nQFbpbTR8YoQllxAmLp+XBvsRzdI91a0e1pt8O9V KNuPj5/BxwOAHUtwbE2IOAyW99dq7newkBFGdFG2RPOSGrkoJaET7bEMFD+PLqB0 3G4uBmPB2tL06Ib1JNGP1wfF1BZRMRK6+pljVEW8rwUgZui9ZeM= =neuV -----END PGP SIGNATURE----- --5wf3wwp7ugw657d4-- From nobody Thu Apr 17 23:37:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdvT22k97z5syt8; Thu, 17 Apr 2025 23:37: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 4ZdvT22HQfz3QBW; Thu, 17 Apr 2025 23:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vSSqG5u7gaWT3/ZTH682IoIkzSoozdUVzFBXr6QxLn0=; b=Y3HNshgmFPyHLw+mqWBkZgXiknF+IfOHv46lUu+s4/s8R2jStkud4C/kT2+mde4uIHiZgM H+uixoaKaBgpCtfP/+F9lTTBBMONjCI6CX7OgjKdp1nPNEPiRn2qbA5KtDkV/3ePZv5iCc EiX6gzAKJ2c7aqeX3v7wvxz6VYZ7P2CJr5AkKl8NkSeS0FxO6G0pNo6f8Fjjf0weZesjJR 6P5NJ03ELv2ug+pzYw2Asf13dDTIcef3R9aoCyrA9k9oy9gxEDeh6goOgi9oKZs5VxS5Sk BH6FlmTe7qIl+obzBMHJbqw/jlbHtTfxUZ0oaxbfH3sXGF2uFfmUZJXale9LSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744933062; a=rsa-sha256; cv=none; b=L9J0532x4ptx//I0R+FzJ7hcj3h0EtEjoy+Hl9mgKk25Ga/12DhQzdRhjRqPSx4L1bZDfs mwofWLORY3hg5TfNhE8AD0Q4iKQLcfgQ0irM2e/IPXPJSUFle4ECcYHLi+9L3lVvP0jc+o uSuooCevQFzfK83lKCMl3zACuDLur9yyhSkfTI+aJwyMD0dRlW+R3ATgzPJo1ZizVmxA63 mq1JWi/2CV6JIIj0Vo6oDHJlwNSEp+lSazkMtQhc1NGAHdfo24j8YUk/twNuUKROtqR416 mvTV4fhho4nUmEFAXxaaTMnBEseNitxVQKHIK3zPSIxxeFdQBQnl2Bi+vFxoew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vSSqG5u7gaWT3/ZTH682IoIkzSoozdUVzFBXr6QxLn0=; b=dpaz4FEanL4ydEmyrtyfmG03+WfHLu37aK2GhCNmtlxLyghdYAYwVe8rRI44S5dAJLpp1r lFihU5WnRyli8IQxMeoLGmp9tsEz2+mXnGrLg9Ao3jk4S6v1t+V+wwmgfxCPrTA9ZutnDq 7tH71QMbGOxtMZd5VLsf87IxFn/12Jf8sSSpEkaooxw+2GWP34yvkXn/yFP5wO5iROdYcT Pa4ZmrH8Xp/unlRnMWCuB6OG1aEbKYpA3sM65w6ufPKavDABCf0XVYhOHmsGq0zGSlO8/t BSFMimakaKFXQ05iIGbFdVdUSI0uIegowdDY9ef3Dgh0qk1Ol5g9869fFEQktA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdvT21RQCz184H; Thu, 17 Apr 2025 23:37: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 53HNbgAt089359; Thu, 17 Apr 2025 23:37:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HNbfk6089355; Thu, 17 Apr 2025 23:37:41 GMT (envelope-from git) Date: Thu, 17 Apr 2025 23:37:41 GMT Message-Id: <202504172337.53HNbfk6089355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: d03aa29b82b8 - stable/14 - fusefs: minor refactor in the tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d03aa29b82b803b440886a2f864dcdafa184c4fb Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=d03aa29b82b803b440886a2f864dcdafa184c4fb commit d03aa29b82b803b440886a2f864dcdafa184c4fb Author: Alan Somers AuthorDate: 2024-12-24 21:54:42 +0000 Commit: Alan Somers CommitDate: 2025-04-17 20:14:57 +0000 fusefs: minor refactor in the tests Do more work in MockFS's constructor's member initializer list, instead of the body of the constructor. It's easier to read this way. Sponsored by: ConnectWise (cherry picked from commit 3f83f32d7d07afbb2dbff63fc6ec520f3341eec7) --- tests/sys/fs/fusefs/mockfs.cc | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/tests/sys/fs/fusefs/mockfs.cc b/tests/sys/fs/fusefs/mockfs.cc index 023cecd0276f..502f22a1e980 100644 --- a/tests/sys/fs/fusefs/mockfs.cc +++ b/tests/sys/fs/fusefs/mockfs.cc @@ -421,7 +421,18 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, uint32_t kernel_minor_version, uint32_t max_write, bool async, bool noclusterr, unsigned time_gran, bool nointr, bool noatime, const char *fsname, const char *subtype) - : m_uniques(new std::unordered_set) + : m_daemon_id(NULL), + m_kernel_minor_version(kernel_minor_version), + m_kq(pm == KQ ? kqueue() : -1), + m_maxreadahead(max_readahead), + m_pid(getpid()), + m_uniques(new std::unordered_set), + m_pm(pm), + m_time_gran(time_gran), + m_child_pid(-1), + m_maxwrite(MIN(max_write, max_max_write)), + m_nready(-1), + m_quit(false) { struct sigaction sa; struct iovec *iov = NULL; @@ -429,20 +440,6 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, char fdstr[15]; const bool trueval = true; - m_daemon_id = NULL; - m_kernel_minor_version = kernel_minor_version; - m_maxreadahead = max_readahead; - m_maxwrite = MIN(max_write, max_max_write); - m_nready = -1; - m_pm = pm; - m_time_gran = time_gran; - m_quit = false; - - if (m_pm == KQ) - m_kq = kqueue(); - else - m_kq = -1; - /* * Kyua sets pwd to a testcase-unique tempdir; no need to use * mkdtemp @@ -467,9 +464,6 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, throw(std::system_error(errno, std::system_category(), "Couldn't open /dev/fuse")); - m_pid = getpid(); - m_child_pid = -1; - build_iovec(&iov, &iovlen, "fstype", __DECONST(void *, "fusefs"), -1); build_iovec(&iov, &iovlen, "fspath", __DECONST(void *, "mountpoint"), -1); From nobody Thu Apr 17 23:37:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdvT33VDmz5sytC; Thu, 17 Apr 2025 23:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdvT32G5Tz3QBX; Thu, 17 Apr 2025 23:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=plT4qxToUw+7YSx3HCp5CMUt0zf82yMhB46ynZqIzwU=; b=LD6mAHyQmRd970S9HQncDtYI/M9CmFhDifqsTj0nzYypDsWkpnFMiWAn66HGQyIfJ39Ium EqBUkW91yXSdAAWpnaRUZ7mLf4leUrDnQr2+QiLw/LvJvgDgrvzu6ukLh2ccPGySszsyW2 ZrRDVdtoz/GL/cIKKZFJlhE/KK/eXySx5HA2uW8JUwwrcYFOMRG0/dnSU8qI9mI+oKLoej nCVw81um+EyeGFHbbmphK9Ef6hbyn4DZ5B7SoY7DI3UzKUUMCNyrQD2T31RgN3aNm6JVX2 wWq/XKXbXlUszt6No2q3Y30UZFGDMleUve9KpLHDes0V1hFc050whR3eAiBH2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744933063; a=rsa-sha256; cv=none; b=M12IMfyJBOdmNtbUN8ihDauZtrYZNR8+/c7X/IhegH9w1iL3zye0tqbmsxxcr7vXwig/zH q3Oop+H+LoSwps5BhxOO0/6d455AWT4KqIPdGdOLs6H5HHijz9AbKJhx47MOMU++1+AoYH K21zawMtuf4rFIcxG8gtz5382WZOzFZOFZo/lm3xMD1eyCNA9Y2NkrlQtoCxGfMDIoGJ1U pWh1Ti0vgTXDZYLx4+gNTvAt09HMRr/PHy3pDWjaxeRK/t7YIpvC5UEQFwoxg0hpkjM2pj X8sbzD8BYehHq8T9kqrQLkSGJFbmf0gT86tYOZ1TDFYOrE6mr4zeKUiCyL+1eA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=plT4qxToUw+7YSx3HCp5CMUt0zf82yMhB46ynZqIzwU=; b=aiBpe42IDYaQruJrCJx7/4WSN0J/gmJ04DtnTogpyWuYKx94gqgqGBzEQ7b2ecJl01ICia uufp/6QlciXNJW0jNEKrQgeZ90ainHlOuftCm7UcCwR2C6pz6wYW+gA00/j83wsVNZlKai VtIVDX6fI8kVs+NjCLHbiTC9H5y6gzaqEOET34K9A9RAEHLpANFn5ep7BJz6B9XqfuOMpN dOkd4s6ZqySTRDWXavVpPD/NuIABaOqw7RhgqknlO/OQqDvhZd5SrHdkBWCb8BTLfiyrhS lcGQ/O5kmpuxI8YWhuYexvFR0uLht12Gdt4qMwb+4Pboi/sCgIUqECu55UELow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdvT31h0Dz17s2; Thu, 17 Apr 2025 23:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53HNbhEH089394; Thu, 17 Apr 2025 23:37:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HNbh3h089391; Thu, 17 Apr 2025 23:37:43 GMT (envelope-from git) Date: Thu, 17 Apr 2025 23:37:43 GMT Message-Id: <202504172337.53HNbh3h089391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 1c316af14149 - stable/14 - fusefs: add a test for the max_read= mount option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1c316af141497cedb82971abddbbc53ea5264cef Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=1c316af141497cedb82971abddbbc53ea5264cef commit 1c316af141497cedb82971abddbbc53ea5264cef Author: Alan Somers AuthorDate: 2025-01-10 21:36:02 +0000 Commit: Alan Somers CommitDate: 2025-04-17 20:14:58 +0000 fusefs: add a test for the max_read= mount option When set, this limits the amount of data that the kernel will request of the server in any single read operation. The option has always been available in our fusefs implementation, but never covered by the test suite. MFC after: 2 weeks Sponsored by: ConnectWise (cherry picked from commit 9f31c47460412ab6ccae36a70ca019b47423ccec) --- tests/sys/fs/fusefs/mockfs.cc | 10 +++++++- tests/sys/fs/fusefs/mockfs.hh | 8 ++++++- tests/sys/fs/fusefs/read.cc | 53 +++++++++++++++++++++++++++++++++++++++++++ tests/sys/fs/fusefs/utils.cc | 2 +- tests/sys/fs/fusefs/utils.hh | 2 ++ 5 files changed, 72 insertions(+), 3 deletions(-) diff --git a/tests/sys/fs/fusefs/mockfs.cc b/tests/sys/fs/fusefs/mockfs.cc index 502f22a1e980..1fd2d5e358b1 100644 --- a/tests/sys/fs/fusefs/mockfs.cc +++ b/tests/sys/fs/fusefs/mockfs.cc @@ -416,7 +416,8 @@ void MockFS::debug_response(const mockfs_buf_out &out) { } } -MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, +MockFS::MockFS(int max_read, int max_readahead, bool allow_other, + bool default_permissions, bool push_symlinks_in, bool ro, enum poll_method pm, uint32_t flags, uint32_t kernel_minor_version, uint32_t max_write, bool async, bool noclusterr, unsigned time_gran, bool nointr, bool noatime, @@ -424,6 +425,7 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, : m_daemon_id(NULL), m_kernel_minor_version(kernel_minor_version), m_kq(pm == KQ ? kqueue() : -1), + m_maxread(max_read), m_maxreadahead(max_readahead), m_pid(getpid()), m_uniques(new std::unordered_set), @@ -470,6 +472,12 @@ MockFS::MockFS(int max_readahead, bool allow_other, bool default_permissions, build_iovec(&iov, &iovlen, "from", __DECONST(void *, "/dev/fuse"), -1); sprintf(fdstr, "%d", m_fuse_fd); build_iovec(&iov, &iovlen, "fd", fdstr, -1); + if (m_maxread > 0) { + char val[10]; + + snprintf(val, sizeof(val), "%d", m_maxread); + build_iovec(&iov, &iovlen, "max_read=", &val, -1); + } if (allow_other) { build_iovec(&iov, &iovlen, "allow_other", __DECONST(void*, &trueval), sizeof(bool)); diff --git a/tests/sys/fs/fusefs/mockfs.hh b/tests/sys/fs/fusefs/mockfs.hh index 38efcd049a61..1de77767d0c9 100644 --- a/tests/sys/fs/fusefs/mockfs.hh +++ b/tests/sys/fs/fusefs/mockfs.hh @@ -294,6 +294,12 @@ class MockFS { int m_kq; + /* + * If nonzero, the maximum size in bytes of a read that the kernel will + * send to the server. + */ + int m_maxread; + /* The max_readahead file system option */ uint32_t m_maxreadahead; @@ -355,7 +361,7 @@ class MockFS { bool m_quit; /* Create a new mockfs and mount it to a tempdir */ - MockFS(int max_readahead, bool allow_other, + MockFS(int max_read, int max_readahead, bool allow_other, bool default_permissions, bool push_symlinks_in, bool ro, enum poll_method pm, uint32_t flags, uint32_t kernel_minor_version, uint32_t max_write, bool async, diff --git a/tests/sys/fs/fusefs/read.cc b/tests/sys/fs/fusefs/read.cc index 9693428914e6..e9c79ba2ffda 100644 --- a/tests/sys/fs/fusefs/read.cc +++ b/tests/sys/fs/fusefs/read.cc @@ -111,6 +111,13 @@ class ReadAhead: public Read, } }; +class ReadMaxRead: public Read { + virtual void SetUp() { + m_maxread = 16384; + Read::SetUp(); + } +}; + class ReadNoatime: public Read { virtual void SetUp() { m_noatime = true; @@ -840,6 +847,52 @@ TEST_F(Read, mmap) leak(fd); } + +/* When max_read is set, large reads will be split up as necessary */ +TEST_F(ReadMaxRead, split) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + ssize_t bufsize = 65536; + ssize_t fragsize = bufsize / 4; + char *rbuf, *frag0, *frag1, *frag2, *frag3; + + rbuf = new char[bufsize](); + frag0 = new char[fragsize](); + frag1 = new char[fragsize](); + frag2 = new char[fragsize](); + frag3 = new char[fragsize](); + memset(frag0, '0', fragsize); + memset(frag1, '1', fragsize); + memset(frag2, '2', fragsize); + memset(frag3, '3', fragsize); + + expect_lookup(RELPATH, ino, bufsize); + expect_open(ino, 0, 1); + expect_read(ino, 0, fragsize, fragsize, frag0); + expect_read(ino, fragsize, fragsize, fragsize, frag1); + expect_read(ino, 2 * fragsize, fragsize, fragsize, frag2); + expect_read(ino, 3 * fragsize, fragsize, fragsize, frag3); + + fd = open(FULLPATH, O_RDONLY); + ASSERT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(bufsize, read(fd, rbuf, bufsize)) << strerror(errno); + ASSERT_EQ(0, memcmp(rbuf, frag0, fragsize)); + ASSERT_EQ(0, memcmp(rbuf + fragsize, frag1, fragsize)); + ASSERT_EQ(0, memcmp(rbuf + 2 * fragsize, frag2, fragsize)); + ASSERT_EQ(0, memcmp(rbuf + 3 * fragsize, frag3, fragsize)); + + delete[] frag3; + delete[] frag2; + delete[] frag1; + delete[] frag0; + delete[] rbuf; + leak(fd); +} + /* * The kernel should not update the cached atime attribute during a read, if * MNT_NOATIME is used. diff --git a/tests/sys/fs/fusefs/utils.cc b/tests/sys/fs/fusefs/utils.cc index 831ded0c0815..d059221b2e55 100644 --- a/tests/sys/fs/fusefs/utils.cc +++ b/tests/sys/fs/fusefs/utils.cc @@ -154,7 +154,7 @@ void FuseTest::SetUp() { m_maxwrite = MIN(libfuse_max_write, (uint32_t)m_maxphys / 2); try { - m_mock = new MockFS(m_maxreadahead, m_allow_other, + m_mock = new MockFS(m_maxread, m_maxreadahead, m_allow_other, m_default_permissions, m_push_symlinks_in, m_ro, m_pm, m_init_flags, m_kernel_minor_version, m_maxwrite, m_async, m_noclusterr, m_time_gran, diff --git a/tests/sys/fs/fusefs/utils.hh b/tests/sys/fs/fusefs/utils.hh index 506e8a985212..9dd8dad6b5cc 100644 --- a/tests/sys/fs/fusefs/utils.hh +++ b/tests/sys/fs/fusefs/utils.hh @@ -55,6 +55,7 @@ bool is_unsafe_aio_enabled(void); extern const uint32_t libfuse_max_write; class FuseTest : public ::testing::Test { protected: + uint32_t m_maxread; uint32_t m_maxreadahead; uint32_t m_maxwrite; uint32_t m_init_flags; @@ -80,6 +81,7 @@ class FuseTest : public ::testing::Test { unsigned long m_maxphys; FuseTest(): + m_maxread(0), m_maxreadahead(0), m_maxwrite(0), m_init_flags(0), From nobody Thu Apr 17 23:37:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdvT52Xkcz5syZ9; Thu, 17 Apr 2025 23:37: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 4ZdvT42ZwFz3QF9; Thu, 17 Apr 2025 23:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkbWOJ0ojkp6R4CVu5bVVrO8bgGRPUXOd8tKfs689cs=; b=a3SI1oKMlAyqfxHTqD1hJ0uccH8M/Qu9mR9ywptjF7KxVt/1dSI97sY/+Sv77e5U+ojUxv 3e/Kdoo2qk/VoyeEzUm3BKjbD81xrpJS5VSUGKH6RwJFkz6LG3wM1I1WsB6Hf8+tgGLSc3 5H34M0uw1Qa3DeBEOZvPbrbdWCfBwTmmo1mKFmmnkQDt36lpuj++nyZNq4JzHy/Jx2lUs0 PjnVaweSjCb+vLiYM9Hhe2E6X9fzvH53ATk/7JNcep/RHqfYZjI3jKGpiUAkIHLAzfW5JT qLjP7V+y1A4mbxMqh7590EPmvYaaicFgXgfPgG9asWzHkvEEoPlZ82i03eIk2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744933064; a=rsa-sha256; cv=none; b=idTt6S8GX3qzffeaFtbkSlmJaKpjmmB5fNMyS2xMdXgwb5EfGWJJ7IftObSAXpb4MHlEYr G/ADulDALlqdOxGmNkbLOBKIMIttou7asB8X2iCbQuQaYYP5Szg9x3UXtDe1hc5jKAeL8F J01FNLkr0k+HgdPdbvwnd0898W0ophyDOaL9RMF6an9mQdxYYM6MVXQvfIhxkVLeMs1a8S QZP+aySyCLrw8xsYT9VBQ/4TO0/ROz7uwLA4QzOe/es41nVp87rMLh9AVaRLvTGlDFbjYR rfld0Z7U5DXG1Zxw8QgHAhhmqi8Qj2nE3uZAN9Pad09ZATTPwfWMX5RruOUnVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkbWOJ0ojkp6R4CVu5bVVrO8bgGRPUXOd8tKfs689cs=; b=ycX5iwsy5sz/DoAj5xJUVJmi+MemoXbQ2AcTfJZzsyKa3OI4xZbWxzAMa8EAp/3X1OIYvb K6HH6/XaEwgKm3eOM0zD6Z0N89xDkFBnb/Ce7aL91PAyfzoXnXdQbXgz/NcF/PacNpeO7k wZ3v+72PVUZCisqmTxH+z6FjgsDZOEUqKf2EP5CzNvZsczDrh5iybi2PXmSlemXY+iBJKv +/10m4PSywo11iFYWtiOZsgKhvfikbXjGujg6RHCcpaaTvcTICNius49eVauIqma87pDFs 7RstQaV7Jcv0H4Km70QUVj+iQ+aR3qdtHKnT4tYu8eK4IkLVSyDQWn40kVRtQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdvT424N7z17jQ; Thu, 17 Apr 2025 23:37: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 53HNbiSl089428; Thu, 17 Apr 2025 23:37:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HNbi35089425; Thu, 17 Apr 2025 23:37:44 GMT (envelope-from git) Date: Thu, 17 Apr 2025 23:37:44 GMT Message-Id: <202504172337.53HNbi35089425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: f390c8149847 - stable/14 - fusefs: slightly better debugging in the tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f390c81498473c79e145f2a0aece209212e7c428 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=f390c81498473c79e145f2a0aece209212e7c428 commit f390c81498473c79e145f2a0aece209212e7c428 Author: Alan Somers AuthorDate: 2025-01-10 18:20:06 +0000 Commit: Alan Somers CommitDate: 2025-04-17 20:14:58 +0000 fusefs: slightly better debugging in the tests If the kernel rejects a response written by the server, print it. That would most likely be due to an error in the test logic. MFC after: 2 weeks Sponsored by: ConnectWise (cherry picked from commit 564c732b5c0221373d067c9a21da09b310e676ae) fusefs: fix the 32-bit build after 564c732b5c0 It's a printf format specifier again. MFC with: 564c732b5c0221373d067c9a21da09b310e676ae Sponsored by: ConnectWise (cherry picked from commit 52f7eb31ae84b0a02cd79c857c3201cb7b65c00f) --- tests/sys/fs/fusefs/mockfs.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/sys/fs/fusefs/mockfs.cc b/tests/sys/fs/fusefs/mockfs.cc index 1fd2d5e358b1..35ae6c207229 100644 --- a/tests/sys/fs/fusefs/mockfs.cc +++ b/tests/sys/fs/fusefs/mockfs.cc @@ -1034,6 +1034,10 @@ void MockFS::write_response(const mockfs_buf_out &out) { ASSERT_EQ(-1, r); ASSERT_EQ(out.expected_errno, errno) << strerror(errno); } else { + if (r <= 0 && errno == EINVAL) { + printf("Failed to write response. unique=%" PRIu64 + ":\n", out.header.unique); + } ASSERT_TRUE(r > 0 || errno == EAGAIN) << strerror(errno); } } From nobody Thu Apr 17 23:39:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdvWM2Gbfz5sytP; Thu, 17 Apr 2025 23:39: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 4ZdvWM1ZvVz3RSM; Thu, 17 Apr 2025 23:39:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CDW0/5dLF6u6X5ZqlhlTdLKlF9V8hNNaRvUOzpYpUVk=; b=B+O2jgmXpPpuGgVETPCjpA83d3zq/gt7yJXOo973U+A00xsyfTOtCmwUE1LYrvRYkUQwdb C1/jNnsagpgnIWHCzJsIKqq4mDxuM8ytJxEbR+EKGz7srL6cFqi6Q7qlMzEipfw8xvXtrB MGmGdj4n1mr314gMKB0qN0dXHYXPWwC7x6WauhWZkOog6udkKxShbxbWyJHzPQ5HRTQkpX Xoiz/sQMtcJxWN5+w37UFZ+eIBczV9a3YGH/QV/D6fGknPgQ6zqnLvw03AfVWFiJh+wgz+ 09o0BOpOBHIb1QM1w567umf3sT4wa2XapiFBLGYFrhqkQ+QEwWHJ4NRTBZvzng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744933183; a=rsa-sha256; cv=none; b=kRNrZVzYdurxSRbgnMC69Eg8sL7kdDvvo/RfBFUk2NBxv8qFT1DQsqW0/WqD2l5Wv9otQU XtXPdmEStZAy8LcjpYlmggCgKja67GVksDatD2Cna8bNHo+wvBm90DsDUkP0+I+j1aNwQR zddrqrPJve8r9WmP5WGH3m5+XryUeACOxKXOVpXR5tKgNjaIe0CWkczEmMqZsxwn+McCEQ NqPhX3l/OeCfHcioC4JkrPsq4MV8SpOfszh/Yrq7mJzrO2SfBvjtaw66PgYaewtey59l9j yJTp0g+7eOCauEwh0yphDHEdcY0bky1cZJEN/0XtpBa2q6sD66kl4AcLFj5SDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CDW0/5dLF6u6X5ZqlhlTdLKlF9V8hNNaRvUOzpYpUVk=; b=ErC5nz4wBwf7f9yTdICXyt1AvduV1fUZa5sIXCPgYr6qSra/7RwaPr4vBJkpqNNecpSHLG hbugrkCdY79lcjYQPjLMdY7pZTb+UAVU0ECMZyqVAJjwtw4gT0JaPQ8z0ZjnUqyAuPPIC6 gYJIjcry4OrpmsO3NaypUi4QWqugSPDDAM/1rslLgHI+qsn3b22s4BFVFA0Szhy4w7Tblm T11GWGRbUyXnQVgOYuVe3VGa/E9lDj5C40PyDVm19z+yGUl5o8DyUeqLlfaSJK5kb7ld+M D3/onVWdk9i+RhtkavwCCmz12n+tqlwdx2FErvXrTIVkNR1DRQaOvGl5Fxnjuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdvWM0Yd0z18Cp; Thu, 17 Apr 2025 23:39: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 53HNdguJ090132; Thu, 17 Apr 2025 23:39:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HNdgOP090129; Thu, 17 Apr 2025 23:39:42 GMT (envelope-from git) Date: Thu, 17 Apr 2025 23:39:42 GMT Message-Id: <202504172339.53HNdgOP090129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: f8b102d9bb63 - stable/14 - ctld: correctly parse LUN size on 32-bit arches List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f8b102d9bb63edbc4fd63435800147881226cee6 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=f8b102d9bb63edbc4fd63435800147881226cee6 commit f8b102d9bb63edbc4fd63435800147881226cee6 Author: Alan Somers AuthorDate: 2025-01-17 17:36:08 +0000 Commit: Alan Somers CommitDate: 2025-04-17 23:39:08 +0000 ctld: correctly parse LUN size on 32-bit arches Disk offset values must always be 64-bit, not size_t. PR: 214874 Submitted by: pprocacci@gmail.com Event: January 2025 Bug-busting session (cherry picked from commit f26fe2c6669d56621ac85f5279aa85503cbf59bc) --- usr.sbin/ctld/ctld.c | 2 +- usr.sbin/ctld/ctld.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index 9be0f6975437..af8874bd00b8 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -1569,7 +1569,7 @@ lun_set_serial(struct lun *lun, const char *value) } void -lun_set_size(struct lun *lun, size_t value) +lun_set_size(struct lun *lun, int64_t value) { lun->l_size = value; diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index e1bab1a8e3b8..3f4b653d6896 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -349,7 +349,7 @@ void lun_set_device_id(struct lun *lun, const char *value); void lun_set_path(struct lun *lun, const char *value); void lun_set_scsiname(struct lun *lun, const char *value); void lun_set_serial(struct lun *lun, const char *value); -void lun_set_size(struct lun *lun, size_t value); +void lun_set_size(struct lun *lun, int64_t value); void lun_set_ctl_lun(struct lun *lun, uint32_t value); struct option *option_new(struct options *os, From nobody Thu Apr 17 23:40:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdvWq1D0Hz5sytQ; Thu, 17 Apr 2025 23:40: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 4ZdvWp4XCKz3RVF; Thu, 17 Apr 2025 23:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f2Tpc6JUD5ORJJ8XXlrrHG2rO4dWk8f8XmGToN3R89A=; b=E6mSpTQreEsdJBTuDi1wWnokuofSzXO1aGCe+ca8Jh40+HsWSfb7vphus+QvoiAUruAVfI kE/Whb29OfIwBb7fM8iHzX1K2Mqq3EIR4z7QbdWAOWoUeU64IFbZwK33CIZMIUqRzemi30 hWxeEm4pOSy6gVP+4wFKakfg+VZDmyaD76EVsCt7N2VybzLuZbUa47QIGd6Ol+y8elQcR6 3bXtr+sOk8uXaqcinLwtqlqyM15m+KVX9vuJ2zDSn6sIZw6d1wQVajGmphjkbwzotfLYh1 hMwIkb9sPAeLzutS97pago2Hgou9avxzS9ScDfLJ0/rjV/xb1WezYeJ717T7Sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744933206; a=rsa-sha256; cv=none; b=VtgCVLzSXhHPfgy/v7j/rzQPvuAdrMOPZ6Zk1WLUkyTTOv00kDrm0TMz/xL7UeaCPCNNmH t+gTMIH9jeiWY465Dq4qs8TcsR94YpRNpYlNa4ll/ipgMsmy/F3NjXytwOZKl8Xw4GzmKE xTIpWxJH772IWx8KrcATezl+csLJDYi9QndTMkuzW4i9JnYAb8Ylisgs+NBT0I1iC+o9ab Mtzws1WA0GKDMpSmqLiANlrZUVy3oOuLg+YAJfc17XJl+esx9mAfXs5w+qJyYgWcUC5/tK +JsBlVDSbvdyZz81emH39j0pxLFH8ylBbnKZB1SFcmCsMP6ES/vcCU1p9ih2mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744933206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f2Tpc6JUD5ORJJ8XXlrrHG2rO4dWk8f8XmGToN3R89A=; b=t1kioSFALGpINNo91yEojWPJ9dDCpe7hULvnME1nEKSDt4gx3loi6oTwsoNLl20KTy2M2i 04vjwcPHVOGHpTe9ySvYGJSh0ZeIJfryy0wz+EhQEEP0TYe6TwTnj7SuVHR78G9j1H9atp wTbNpEmea4T4/9hfnavMh5inMrSTcOqM8GSo/J0g1hPedNCszm8HLUVC8BPovXWwjzpvKX i57jyE2D7IRwQn3N0OxGM3yzqJJom9cSz3E2+Ry5r2ZVo/67Z/PLTWqwK6WftmLVsY5/xL XfDIm0M9Y1Id5V0H85F2mufOyBewa0lA48hjJ/wSFc5Uep+VIVV+dL+CrY8gIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZdvWp47hXz17s3; Thu, 17 Apr 2025 23:40: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 53HNe6hT093316; Thu, 17 Apr 2025 23:40:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53HNe6Sj093313; Thu, 17 Apr 2025 23:40:06 GMT (envelope-from git) Date: Thu, 17 Apr 2025 23:40:06 GMT Message-Id: <202504172340.53HNe6Sj093313@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 2a88aad6286d - stable/14 - witness.4: correct name of the debug.witness.witness_count sysctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2a88aad6286d3fede526a0303ccb44c8ef5712d9 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=2a88aad6286d3fede526a0303ccb44c8ef5712d9 commit 2a88aad6286d3fede526a0303ccb44c8ef5712d9 Author: Alan Somers AuthorDate: 2025-03-05 17:35:54 +0000 Commit: Alan Somers CommitDate: 2025-04-17 23:39:54 +0000 witness.4: correct name of the debug.witness.witness_count sysctl Sponsored by: ConnectWise (cherry picked from commit 202a2be0941edeb2652d64a3dbb1894b8867f3ac) --- 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 Fri Apr 18 00:07:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdw7Y1H1Hz5t1l6 for ; Fri, 18 Apr 2025 00:07:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (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 4Zdw7X3CkZz3gnS for ; Fri, 18 Apr 2025 00:07:36 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-30820167b47so1463340a91.0 for ; Thu, 17 Apr 2025 17:07:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1744934855; x=1745539655; 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=HD6mTZb+Mg7b6tyt/Ievp2qtInNwOay+qIbqipf4Gzk=; b=HgDTUnY82SNKEa4Lkc9SB7Cpgc9kFzlpy3lkclN9/RiBDlIWUsnroeuvTmd6JBpTIB 8IFOrA2tjys3bwG8hZ36rozTgI4leRVge0oHMTSZhOwELYyI9pW19/Iy9sp/9ObkP7WB Oihpai3JtE8dbHdfi69F3WhXaX87bNgrZm1ZG2MvYtSnOAYanSnh5aP/dMc+t46M1Qx2 88gsIvZ/osoRsOzI8+GG+ki8BLAq5umy9V6rqbez/xNhoOyngBz1fghe4nybHhyl3IZV QkCr/hIBIymTrRn0igGvbr+ZO9u8UdKEbkq5+1W/DOkiHNOHQ6x8nRFGGIoqfv0LdXvS 4I+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744934855; x=1745539655; 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=HD6mTZb+Mg7b6tyt/Ievp2qtInNwOay+qIbqipf4Gzk=; b=ATeJKIl4Qg78WOvY2bLZ6CSA37adufENsHZVjNMNbyOVnpQDe5VCvqmvmPPllG50Uk 5pKxU27EVB+8bIL8MEDZW3lPBmMe+vud/HZvqFzO+XaiY5ysIjPaPJViPugYa1zBoe5N lE2YqQn7OlHrv4396XTEAoXT68xfg/uTPp3KuI+H2opXqKaiapIlNAM0s2+3kR9Xbj6s ya95Rri+1CvFc6aF5KOzUEH1skiXFm3uk2c79tspWJsgsBoUrbcqu+m1kyotg3oWHDLy ZHYd4XW1SOJxtjP4y/2iqVWIAfVMHWUaOsBiJpsWGC1+wT13Sq3k2bPNiwqa2RG90q3K Yy1w== X-Forwarded-Encrypted: i=1; AJvYcCWmWLQpBnz3mOog07yuxqERB1hdybi10QU5VvmC+ewLuHzlXvFxEShGoh5vRwo5OnuE6Op1tnBHoytsnqK5Krei2ru3@freebsd.org X-Gm-Message-State: AOJu0Yz8gA2yOvEmCmNItVYSGsvbaS1VJnDrV73wF5PdNoiT4SM/yZif 6UN47jUE7RB3SV9HHTE63TmheS2LkVApcAEICvAmfOO0ndNLa8L6mpMNaQOD4cy3ciQlnnJDvu3 fKIGRBa6sNQvKjzGTcfoPmY13+hPmF915J0yM4w== X-Gm-Gg: ASbGncv+kjuwyG5/d7s3TxTDcwrnW5x/Z2qV6wUH7Klh4hWvlSgdcfbZv/9xYVMXULe +OI8iG+afktuiWBpW0HF/IBUASRgnUkHH+sOfROBZqdrf42VoStqRVZR+0zZFmiuB5Xm3Wd66Sv AFtEqo7YZzaq/XMxLoA3iG+0GLRPCkcQp88OhKq6Yk1nrnhek0hbRD9g== X-Google-Smtp-Source: AGHT+IG5WJbMgsJfnowaOggYWSvJ7pZzjk56hI6P09DB9JUwFr3wP6LC6UfqrqXFHYetmmros9/Fke8SJpUIf+CkvOw= X-Received: by 2002:a17:90b:5286:b0:2ff:6e58:89f5 with SMTP id 98e67ed59e1d1-3087c2c767emr1049056a91.6.1744934854614; Thu, 17 Apr 2025 17:07:34 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202504172159.53HLx828002496@gitrepo.freebsd.org> <3xjl6lsx2v6psvxfqeweu36wg5zdom5ew3xktvjj4a7tj7gjfe@hm2wxhn3ne4c> In-Reply-To: <3xjl6lsx2v6psvxfqeweu36wg5zdom5ew3xktvjj4a7tj7gjfe@hm2wxhn3ne4c> From: Warner Losh Date: Thu, 17 Apr 2025 18:07:23 -0600 X-Gm-Features: ATxdqUGBcyoKnr_l-93Sb7NsbVesCje6jFh0o_pTAb7KRT6QXodRx3Kh1AoTLBw Message-ID: Subject: Re: git: 58c99df2196c - main - kboot: .note.GNU-stack is needed To: Shawn Webb Cc: Warner Losh , src-committers , "" , "" Content-Type: multipart/alternative; boundary="0000000000002a82b40633024e31" 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: 4Zdw7X3CkZz3gnS X-Spamd-Bar: ---- --0000000000002a82b40633024e31 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 17, 2025, 4:26=E2=80=AFPM Shawn Webb wrote: > On Thu, Apr 17, 2025 at 09:59:08PM +0000, Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D58c99df2196c5564a6922dcfe4d0338= 7cebdd10c > > > > commit 58c99df2196c5564a6922dcfe4d03387cebdd10c > > Author: Warner Losh > > AuthorDate: 2025-04-17 04:03:26 +0000 > > Commit: Warner Losh > > CommitDate: 2025-04-17 21:56:45 +0000 > > > > kboot: .note.GNU-stack is needed > > > > Add '.section .note.GNU-stack,"",%progbits' to all assembler. Newer > > versions of clang complain when this isn't present because executab= le > > stacks are going away in the future. We don't need an executable > stack > > anyway. > > Just a little data point: HardenedBSD has lived without the ability to > mark the stack as executable for nearly a decade now. I'm pretty sure > it should be safe for FreeBSD to remove support for it as well, at > least for amd64, arm64, and likely also riscv. The only outlier might > be i386, but that no longer enjoys Tier 1 status on FreeBSD. > This code is for a linux binary. And i just added these to avoid new warnings. Warner Thanks, > > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > Signal Username: shawn_webb.74 > Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 > > https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/0= 3A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc > --0000000000002a82b40633024e31 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Apr 17, 2025, 4:26=E2=80= =AFPM Shawn Webb <shawn.we= bb@hardenedbsd.org> wrote:
O= n Thu, Apr 17, 2025 at 09:59:08PM +0000, Warner Losh wrote:
> The branch main has been updated by imp:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D58c99df2196c5564a6922dcfe4d033= 87cebdd10c
>
> commit 58c99df2196c5564a6922dcfe4d03387cebdd10c
> Author:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> AuthorDate: 2025-04-17 04:03:26 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2025-04-17 21:56:45 +0000
>
>=C2=A0 =C2=A0 =C2=A0kboot: .note.GNU-stack is needed
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0Add '.section .note.GNU-stack,"",%pro= gbits' to all assembler. Newer
>=C2=A0 =C2=A0 =C2=A0versions of clang complain when this isn't pres= ent because executable
>=C2=A0 =C2=A0 =C2=A0stacks are going away in the future. We don't n= eed an executable stack
>=C2=A0 =C2=A0 =C2=A0anyway.

Just a little data point: HardenedBSD has lived without the ability to
mark the stack as executable for nearly a decade now. I'm pretty sure it should be safe for FreeBSD to remove support for it as well, at
least for amd64, arm64, and likely also riscv. The only outlier might
be i386, but that no longer enjoys Tier 1 status on FreeBSD.

This code is fo= r a linux binary. And i just added these to avoid new warnings.

Warner

<= /div>
Thanks,

--
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

Signal Username:=C2=A0 shawn_webb.74
Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50
https://git.hardenedbsd.org/hardenedbsd/pubk= eys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.as= c
--0000000000002a82b40633024e31-- From nobody Fri Apr 18 00:30:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zdwf21Wmkz5t3Dq; Fri, 18 Apr 2025 00:30: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 4Zdwf213p3z3scY; Fri, 18 Apr 2025 00:30:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744936234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3EUd5Q2twjX+H+XJ+NjsDMmMtlux/PiGaBRNk78D+mA=; b=RfrYKWoVpC02oqKtRnrX0yNZ/U5quap4rCvXQKucNd5kZWf2dwaCnThmHFwRhOAHVXjNxE z635zozD2RVXLXSrfaT1WsuKKKiJZjqAlt2Y36RbVBeIiu0EiVu226wT0DxF7inItCC8RN Kd7x36dg15zPDyA5t4eabdUqeqU8NJx+JAxlZNDZaGsoC+WtZcxDdsyvFmdXKffN4pggpi 3dNIHmIEvPG0+djnzO9WLBJet8y2nOxq+iRVH4lGF30wUeEWqwJNBRXNTNmmxnZ+iMKIq0 ZFlW+f8zSr2NrhTrcHEjPdVgmhBA6d5ksogu1XTnIme+7ahMgIQhRDyQOBgx7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744936234; a=rsa-sha256; cv=none; b=W6vZDJiFgMj4dEu+x/KXXPWhGN6S25lqUdT8BJDiFLiVCFNzPQEYRI7xKyGC1NLVTx9A34 S6/N8lSckYLY71H0mRcAZGBsiAs5f5WogTlODZdYlCn0XAZlk1X0jlF1KbbMbyavU3bzlU IMsGBRCJXX+4OybqP28bmasAmra27GoeMcg0zi+N6UW/ROCEqRTRY3cLUpb1vrp0qcdvjb VS9o/Kg65p1d3MAsQGt6Dj1wXAqpYpUyhjZNiFGLALtahmF1GG+gHmID5Lv32GLJDKlD/c IkUR8MRvrf+56zg7GGwTKHuWDBdgueHeIUVSexVLtuF6eBTJ1fiuvj3gKM6MDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744936234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3EUd5Q2twjX+H+XJ+NjsDMmMtlux/PiGaBRNk78D+mA=; b=kuqYn1eZgspYsrRzG5U4ab8VAESiSrVGdTwrrYNMuhsV2YOdmr8l1hxesSRegP4Cv4Kgw0 4LhaUvfoU9YcUymA5c1fpAZF7ooSDxCR7X9MUUIlM98ZzS6UKDo/gPDpYLQULtNFVZGeIB Lgnr8rKbDxyh9lTScFUHKydNkSdkk2lXbQSS+8Gj3T4AUCvWTem8NLua6Sc1DyXb9lhVhN hd56Vx7GCppBLAR0fbzRdCXG1Z6o7gZjK5gTnUdxxd94a83reJQ53eTv0eInPl9P5Y8iIH 06OGKse0IDdGGkZ9yB2g7jUjmjGulZyWWk3PoLuwI03CCBHgDQiwU6D/j1ro7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zdwf2041wz19FQ; Fri, 18 Apr 2025 00:30: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 53I0UXV9092015; Fri, 18 Apr 2025 00:30:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53I0UXR0092012; Fri, 18 Apr 2025 00:30:33 GMT (envelope-from git) Date: Fri, 18 Apr 2025 00:30:33 GMT Message-Id: <202504180030.53I0UXR0092012@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: 7121e9414f29 - main - wg: Improve wg_peer_alloc() to simplify the calling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 7121e9414f294d116caeadd07ebd969136d3a631 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7121e9414f294d116caeadd07ebd969136d3a631 commit 7121e9414f294d116caeadd07ebd969136d3a631 Author: Aaron LI AuthorDate: 2025-04-18 00:30:11 +0000 Commit: Kyle Evans CommitDate: 2025-04-18 00:30:11 +0000 wg: Improve wg_peer_alloc() to simplify the calling Move the necessary extra logics (i.e., noise_remote_enable() and TAILQ_INSERT_TAIL()) from wg_ioctl_set() to wg_peer_alloc(), and thus make it easier to be called. Actually, the updated version is more asymmetric to wg_peer_destroy() and thus less likely to be misused. Meanwhile, rename it to wg_peer_create() to look more consistent with wg_peer_destroy(). Reviewed by: aly_aaronly.me (diff), markj Obtained from: DragonflyBSD 902964ab24ba (with some changes) --- sys/dev/wg/if_wg.c | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 83e5d9e5ceb3..5a3b60e45b7a 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -315,7 +315,8 @@ static void wg_timers_run_persistent_keepalive(void *); static int wg_aip_add(struct wg_softc *, struct wg_peer *, sa_family_t, const void *, uint8_t); static struct wg_peer *wg_aip_lookup(struct wg_softc *, sa_family_t, void *); static void wg_aip_remove_all(struct wg_softc *, struct wg_peer *); -static struct wg_peer *wg_peer_alloc(struct wg_softc *, const uint8_t [WG_KEY_SIZE]); +static struct wg_peer *wg_peer_create(struct wg_softc *, + const uint8_t [WG_KEY_SIZE], int *); static void wg_peer_free_deferred(struct noise_remote *); static void wg_peer_destroy(struct wg_peer *); static void wg_peer_destroy_all(struct wg_softc *); @@ -378,18 +379,26 @@ static void wg_module_deinit(void); /* TODO Peer */ static struct wg_peer * -wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) +wg_peer_create(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE], + int *errp) { struct wg_peer *peer; sx_assert(&sc->sc_lock, SX_XLOCKED); peer = malloc(sizeof(*peer), M_WG, M_WAITOK | M_ZERO); + peer->p_remote = noise_remote_alloc(sc->sc_local, peer, pub_key); - peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); - peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); + if ((*errp = noise_remote_enable(peer->p_remote)) != 0) { + noise_remote_free(peer->p_remote, NULL); + free(peer, M_WG); + return (NULL); + } + peer->p_id = peer_counter++; peer->p_sc = sc; + peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); + peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); cookie_maker_init(&peer->p_cookie, pub_key); @@ -420,6 +429,13 @@ wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) LIST_INIT(&peer->p_aips); peer->p_aips_num = 0; + TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); + sc->sc_peers_num++; + + if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) + wg_timers_enable(peer); + + DPRINTF(sc, "Peer %" PRIu64 " created\n", peer->p_id); return (peer); } @@ -2376,7 +2392,7 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) size_t size; struct noise_remote *remote; struct wg_peer *peer = NULL; - bool need_insert = false; + bool need_cleanup = false; sx_assert(&sc->sc_lock, SX_XLOCKED); @@ -2408,8 +2424,10 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) wg_aip_remove_all(sc, peer); } if (peer == NULL) { - peer = wg_peer_alloc(sc, pub_key); - need_insert = true; + peer = wg_peer_create(sc, pub_key, &err); + if (peer == NULL) + goto out; + need_cleanup = true; } if (nvlist_exists_binary(nvl, "endpoint")) { endpoint = nvlist_get_binary(nvl, "endpoint", &size); @@ -2467,19 +2485,11 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) } } } - if (need_insert) { - if ((err = noise_remote_enable(peer->p_remote)) != 0) - goto out; - TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); - sc->sc_peers_num++; - if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) - wg_timers_enable(peer); - } if (remote != NULL) noise_remote_put(remote); return (0); out: - if (need_insert) /* If we fail, only destroy if it was new. */ + if (need_cleanup) /* If we fail, only destroy if it was new. */ wg_peer_destroy(peer); if (remote != NULL) noise_remote_put(remote); From nobody Fri Apr 18 00:31:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZdwgK5HPQz5t3FM; Fri, 18 Apr 2025 00:31:41 +0000 (UTC) (envelope-from kevans@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 4ZdwgK4Spqz3t5H; Fri, 18 Apr 2025 00:31:41 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744936301; h=from:from:reply-to:subject: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=lWQbIXLWS8FaTCY8AcbbVRhYOkBqFw3VeNox4hJdkFk=; b=xc70EgfN+e8LRpH0UiBwHrG/AI7hjkuzfi2GdcSwJ4dBENvZzqNiKgsyViMWnUNPmq68hz T8ceYN5WcpSNuNjanaWNPn8SwV/eJCttNthW+/plVuMX6GFXwCRxqyr3Pe9hIxOkyjku6N Rir/Zemkw5FxS5qLiI8vSOrWxbXXKT42Hj6CAA5ueQ2A2+MnasyxKN12XqaN2tdyIe/ET5 CRHrv5C7uCJGj0PjA4VPOsfBIds4ni0MMfSYUitSNKKBHVyjuPf7dc1bylKd5bdfijZpSW 4tOGj2nnycqvhNQ/hjCboXkRuazEdbIp+ya4aQUzjRHBoMljpQNnN2rR3Y7s8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744936301; a=rsa-sha256; cv=none; b=Ic1EzOu4Pzim0zg5XVdSWX8jVqXiVV2ARljieXrg1tXKIsIR+C4ZTlF2yJSvzagtNGf1al x1pcdiWl7a9QfEl6kiW6Rehf/v3vrvusQbSqGilbrOJqfFpROGI4nF+AESYtteFIz3Imq1 ixhzGxoi/WolvJm6jvkA0hZCA3Ux4Q1hlP+4Dub0fMs+4qTU+YwTh7kEiiPdxSsOW6t1Jf ORYS1ZF2YjEACUlbx3lqNGm0TAuGLINs9CVq2i0eZ/9ul/rSEUA+fl5SwYxwfAN4gcIrp3 n1g0+7SRd6RjVlsL/Wq+Ge65ha3lxAs5dEFRC317o8ZD7OlYHInGJ2Gh5vyrAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744936301; h=from:from:reply-to:subject: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=lWQbIXLWS8FaTCY8AcbbVRhYOkBqFw3VeNox4hJdkFk=; b=csbNAnwEQtd+7h9xpRKcAyaAXGvmXiKzpV/6x0rVlJSWPd9hUy+AUTMHN0ZYnRTrC2VpIy mzUJoCvyz01aZ3uYPAkgz8YO6Y/GCPCE/dQMfvimX0FzKtn0SYYs1lFADJ6aA3jb7tBUfy G8Sk/tEpKfXzA6GVvWfYh2YLb2YxApX0TAVZgBq7zl1Oa9wkPXWVmVX4YXPqXs0j/UjP3J 6AnLGQAdAiCDU9Yy2yTx29HkeeP6ngOaasekjktsEwl2xsk9RXi0I/BscTMy6In0uYpaIf bRdwEBqy0QvWbdseOs3YYGaFnoL0xOhnDD7oh55Z+KQTxrkKJXNUxzUzSTJtuQ== Received: from [10.9.4.95] (unknown [209.182.120.176]) (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: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZdwgJ5vvDzZLD; Fri, 18 Apr 2025 00:31:40 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: <84d62d7d-7f94-4308-a629-cfe58d3c43d5@FreeBSD.org> Date: Thu, 17 Apr 2025 19:31:38 -0500 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7121e9414f29 - main - wg: Improve wg_peer_alloc() to simplify the calling From: Kyle Evans To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202504180030.53I0UXR0092012@gitrepo.freebsd.org> Content-Language: en-US In-Reply-To: <202504180030.53I0UXR0092012@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/17/25 19:30, Kyle Evans wrote: > The branch main has been updated by kevans: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7121e9414f294d116caeadd07ebd969136d3a631 > > commit 7121e9414f294d116caeadd07ebd969136d3a631 > Author: Aaron LI > AuthorDate: 2025-04-18 00:30:11 +0000 > Commit: Kyle Evans > CommitDate: 2025-04-18 00:30:11 +0000 > > wg: Improve wg_peer_alloc() to simplify the calling > > Move the necessary extra logics (i.e., noise_remote_enable() and > TAILQ_INSERT_TAIL()) from wg_ioctl_set() to wg_peer_alloc(), and thus > make it easier to be called. Actually, the updated version is more > asymmetric to wg_peer_destroy() and thus less likely to be misused. > Meanwhile, rename it to wg_peer_create() to look more consistent with > wg_peer_destroy(). > > Reviewed by: aly_aaronly.me (diff), markj > Obtained from: DragonflyBSD 902964ab24ba (with some changes) > --- > sys/dev/wg/if_wg.c | 42 ++++++++++++++++++++++++++---------------- > 1 file changed, 26 insertions(+), 16 deletions(-) > Sigh, sorry, forgot to tag this one: Differential Revision: https://reviews.freebsd.org/D49796 Thanks, Kyle Evans > diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c > index 83e5d9e5ceb3..5a3b60e45b7a 100644 > --- a/sys/dev/wg/if_wg.c > +++ b/sys/dev/wg/if_wg.c > @@ -315,7 +315,8 @@ static void wg_timers_run_persistent_keepalive(void *); > static int wg_aip_add(struct wg_softc *, struct wg_peer *, sa_family_t, const void *, uint8_t); > static struct wg_peer *wg_aip_lookup(struct wg_softc *, sa_family_t, void *); > static void wg_aip_remove_all(struct wg_softc *, struct wg_peer *); > -static struct wg_peer *wg_peer_alloc(struct wg_softc *, const uint8_t [WG_KEY_SIZE]); > +static struct wg_peer *wg_peer_create(struct wg_softc *, > + const uint8_t [WG_KEY_SIZE], int *); > static void wg_peer_free_deferred(struct noise_remote *); > static void wg_peer_destroy(struct wg_peer *); > static void wg_peer_destroy_all(struct wg_softc *); > @@ -378,18 +379,26 @@ static void wg_module_deinit(void); > > /* TODO Peer */ > static struct wg_peer * > -wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) > +wg_peer_create(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE], > + int *errp) > { > struct wg_peer *peer; > > sx_assert(&sc->sc_lock, SX_XLOCKED); > > peer = malloc(sizeof(*peer), M_WG, M_WAITOK | M_ZERO); > + > peer->p_remote = noise_remote_alloc(sc->sc_local, peer, pub_key); > - peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); > - peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); > + if ((*errp = noise_remote_enable(peer->p_remote)) != 0) { > + noise_remote_free(peer->p_remote, NULL); > + free(peer, M_WG); > + return (NULL); > + } > + > peer->p_id = peer_counter++; > peer->p_sc = sc; > + peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); > + peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); > > cookie_maker_init(&peer->p_cookie, pub_key); > > @@ -420,6 +429,13 @@ wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) > LIST_INIT(&peer->p_aips); > peer->p_aips_num = 0; > > + TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); > + sc->sc_peers_num++; > + > + if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) > + wg_timers_enable(peer); > + > + DPRINTF(sc, "Peer %" PRIu64 " created\n", peer->p_id); > return (peer); > } > > @@ -2376,7 +2392,7 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) > size_t size; > struct noise_remote *remote; > struct wg_peer *peer = NULL; > - bool need_insert = false; > + bool need_cleanup = false; > > sx_assert(&sc->sc_lock, SX_XLOCKED); > > @@ -2408,8 +2424,10 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) > wg_aip_remove_all(sc, peer); > } > if (peer == NULL) { > - peer = wg_peer_alloc(sc, pub_key); > - need_insert = true; > + peer = wg_peer_create(sc, pub_key, &err); > + if (peer == NULL) > + goto out; > + need_cleanup = true; > } > if (nvlist_exists_binary(nvl, "endpoint")) { > endpoint = nvlist_get_binary(nvl, "endpoint", &size); > @@ -2467,19 +2485,11 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) > } > } > } > - if (need_insert) { > - if ((err = noise_remote_enable(peer->p_remote)) != 0) > - goto out; > - TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); > - sc->sc_peers_num++; > - if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) > - wg_timers_enable(peer); > - } > if (remote != NULL) > noise_remote_put(remote); > return (0); > out: > - if (need_insert) /* If we fail, only destroy if it was new. */ > + if (need_cleanup) /* If we fail, only destroy if it was new. */ > wg_peer_destroy(peer); > if (remote != NULL) > noise_remote_put(remote); From nobody Fri Apr 18 12:34:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfDj51xVsz5sl52; Fri, 18 Apr 2025 12:34: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 4ZfDj50lYNz3Pks; Fri, 18 Apr 2025 12:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxKWZBbYCZTe7NBVLvqxi5nBDv2VvcxRIz7dK4qafsY=; b=U7Ddt9lQHlx7EzOHb1ESslQcU0dXDI5pDeb824/myys/YIMtjI+DgO8+0GTP9Cq2cAfBH3 fbNoRgay3eM+2PxusYMZg3PfqQ9UWPOeusYWcqGLy5s+5poeDBik94dfABHJjBtZ+KkYik UIxQXyAY9vtmuvwyQbdZ1KdOshGmIuJclpRbgyCkUh8v3/bPywgsQk2R3RXZBULDiOGd62 0RIlDZMkCq/5zdAYl5xhXwithEQQdvAO/7hkfdlYRtjdyh9YMELMFB4Z3vpotzHiRA5Oiu cNXLrgYD027ozk2oF28tkUqk4CycDLfeAUZ3KbFonIaj813ofzqtkLTOl8EGvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744979657; a=rsa-sha256; cv=none; b=P43YlDSCdM3e6LE0gsUh4Rf3HkcdPPBNy+GkkIKzIeITz9tijieLdT2WhSbM6syO/Wrhlu 5KX40j8MNM0s3E0g4JWRFhY/W/XWZ/WZ2/JO0J/cXl7UwPwBK3562uXDvblvCdRg/oBUkl 5M0Sx0xtSs4Cvy6ctRHH8csCji654/I3OW9q1nTSuFuDeKpHEFPhX/us0JuvreAZOb6LcX JM2kUSpP/NaOcXgXx+kFbTOV8w/bCbzxOhWVc2KnhoDTQrGRKUAV0cj9DAr67r6o7974Xo Ni6EulCzC0XNe6GTFkoVwDU8h+79+1PL8SPLJd856CfMTm2Dwc45PEOysbKAiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxKWZBbYCZTe7NBVLvqxi5nBDv2VvcxRIz7dK4qafsY=; b=rVZa6OFXC+brBeWZd0I7wEbnmiwI33GD75+16szqoC05kaALGTpdaipW+jgI6rwbPSKX1g 1Jp3X7+Fm51FHoJN1YTYf88W3wNfwsHJJ/r/PTXMopz5sgC64GDBLoIvhCKONrVbeFwCyt 5NGC1zkjPOcOuOZ/szxvayQETpeU7btqXaRinRiFUrWJ7mVrAb7QN94RyrfPtUG0agrukM HEgzc5NVHNuE+WGeaHxAKGRpmmPwgd4IMHPsQ1jHTmGc4FeyycPBQ8ZJTc1r68IGISl8I2 4RF2fYKj75XP8hVjEZ8QfGSQxaYAALRz64YCoJybaRGT367DjRHXCSfpSugHcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfDj50M1mzb4P; Fri, 18 Apr 2025 12:34: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 53ICYGBF064543; Fri, 18 Apr 2025 12:34:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ICYGdU064540; Fri, 18 Apr 2025 12:34:16 GMT (envelope-from git) Date: Fri, 18 Apr 2025 12:34:16 GMT Message-Id: <202504181234.53ICYGdU064540@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: 4a02faa114c5 - main - ipfw: add IPv6 logging support for fwd tablearg opcode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4a02faa114c5914dd13a25d81d36b3bb44e70dc9 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=4a02faa114c5914dd13a25d81d36b3bb44e70dc9 commit 4a02faa114c5914dd13a25d81d36b3bb44e70dc9 Author: Andrey V. Elsukov AuthorDate: 2025-04-18 11:40:14 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-04-18 11:40:14 +0000 ipfw: add IPv6 logging support for fwd tablearg opcode Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC --- sys/netpfil/ipfw/ip_fw_log.c | 81 ++++++++++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_log.c b/sys/netpfil/ipfw/ip_fw_log.c index 389b04ccbace..3f3980b8ee65 100644 --- a/sys/netpfil/ipfw/ip_fw_log.c +++ b/sys/netpfil/ipfw/ip_fw_log.c @@ -224,39 +224,62 @@ ipfw_log_syslog(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, snprintf(SNPARGS(action2, 0), "Queue %d", TARG(cmd->arg1, pipe)); break; - case O_FORWARD_IP: { - char buf[INET_ADDRSTRLEN]; - ipfw_insn_sa *sa = (ipfw_insn_sa *)cmd; - int len; - struct in_addr dummyaddr; - if (sa->sa.sin_addr.s_addr == INADDR_ANY) - dummyaddr.s_addr = htonl(tablearg); - else - dummyaddr.s_addr = sa->sa.sin_addr.s_addr; - - len = snprintf(SNPARGS(action2, 0), "Forward to %s", - inet_ntoa_r(dummyaddr, buf)); - - if (sa->sa.sin_port) - snprintf(SNPARGS(action2, len), ":%d", - sa->sa.sin_port); + case O_FORWARD_IP: + if (IS_IP4_FLOW_ID(&args->f_id)) { + char buf[INET_ADDRSTRLEN]; + const struct sockaddr_in *sin = &insntod(cmd, sa)->sa; + int len; + + /* handle fwd tablearg */ + if (sin->sin_addr.s_addr == INADDR_ANY) { + struct in_addr tmp; + + tmp.s_addr = htonl( + TARG_VAL(chain, tablearg, nh4)); + inet_ntoa_r(tmp, buf); + } else + inet_ntoa_r(sin->sin_addr, buf); + len = snprintf(SNPARGS(action2, 0), + "Forward to %s", buf); + if (sin->sin_port != 0) + snprintf(SNPARGS(action2, len), ":%d", + sin->sin_port); } - break; + /* FALLTHROUGH */ #ifdef INET6 - case O_FORWARD_IP6: { - char buf[INET6_ADDRSTRLEN]; - ipfw_insn_sa6 *sa = (ipfw_insn_sa6 *)cmd; - int len; - - len = snprintf(SNPARGS(action2, 0), "Forward to [%s]", - ip6_sprintf(buf, &sa->sa.sin6_addr)); - - if (sa->sa.sin6_port) - snprintf(SNPARGS(action2, len), ":%u", - sa->sa.sin6_port); + case O_FORWARD_IP6: + if (IS_IP6_FLOW_ID(&args->f_id)) { + char buf[INET6_ADDRSTRLEN]; + struct sockaddr_in6 tmp; + const struct sockaddr_in *sin = &insntod(cmd, sa)->sa; + struct sockaddr_in6 *sin6 = &insntod(cmd, sa6)->sa; + int len; + + if (cmd->opcode == O_FORWARD_IP && + sin->sin_addr.s_addr == INADDR_ANY) { + sin6 = &tmp; + sin6->sin6_addr = + TARG_VAL(chain, tablearg, nh6); + sin6->sin6_scope_id = + TARG_VAL(chain, tablearg, zoneid); + sin6->sin6_port = sin->sin_port; + } + + ip6_sprintf(buf, &sin6->sin6_addr); + if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) && + sin6->sin6_scope_id != 0) + len = snprintf(SNPARGS(action2, 0), + "Forward to [%s%%%u]", + buf, sin6->sin6_scope_id); + else + len = snprintf(SNPARGS(action2, 0), + "Forward to [%s]", buf); + if (sin6->sin6_port != 0) + snprintf(SNPARGS(action2, len), ":%u", + sin6->sin6_port); } - break; #endif + break; case O_NETGRAPH: snprintf(SNPARGS(action2, 0), "Netgraph %d", cmd->arg1); From nobody Fri Apr 18 12:34:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfDj63jcjz5skjP; Fri, 18 Apr 2025 12:34: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 4ZfDj61nnnz3PYQ; Fri, 18 Apr 2025 12:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1OFJ6yhZZdhAZEXHiQIkEeFDQZP6OIDzWJ+0fTrgDlc=; b=rxjyV3blD3NMtq8N7Z1JRpFWZWXubx1u1PZbxqDEsZ0wqJ5asYyMI2MI3SU5IEhEHUWCUb 5hOZzo2f4VYvGI6Y2LznUwUbPsc32vK0PyVZ/YTwzP+u20IHiWSeXAvRJzLhYSMeP9C+41 tXElWIeGsKaSGsNoL2fgRIhVxH7Pi622j5INVq5K+hLNv4pBVt94clyn8G9AfpaK+L9Gna VA8t2pxG9QAB4dz3nMxMdtVLbeVd8pO6IPc9VOek3EvLHRl/ur5sB4wgXbV+OOhYyP9b7d Bnsxfn6PdKiDF/fCKmBpe7DJykoORXKfQSFZdoyb628hePhKpIPGGFFEDPpMYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744979658; a=rsa-sha256; cv=none; b=GOMSKfKeo2kGE2ZH/t/MgwHcLrwlwEK+VSpAnF5d79B55GTMDBQnPUBMT1Mjd+REbM79xp 22oVKlm2TZltiZNJXa3yiY32j2puzRn3g/TvIlhbEvvzmBUgvE06Nr15FHlZko+guWCoq9 P1FfYhCbM+5Kbycj7NbxeKd7EHCXxzLssZOY4DBnqZxdkDnjI+BtyqxOK690rTVX0lMgtu GmVwv9jmgq9Hx9R02Ma1OzZ8X4453fkwHLh/nmcintp6NT7vWqhamdIhRWoq2mHSjArDuW clUJ6lUEVLoKiSM4GQ2niIi2NQkDB9hXwX3FkQJldZqKfPDSxnpyFbA36tV0Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1OFJ6yhZZdhAZEXHiQIkEeFDQZP6OIDzWJ+0fTrgDlc=; b=B5B8x/rG0ImtKs7WXq+4SNuDKNlp/l/JF0WfH0o1H2fxjvFqWr9rR9pmQZBSrV1E5mb832 sURBTCYTeqd3FtXaKN5mFVwgeJbsjfh+k17JUec1fL9I8mRdxQ9TxMEhJtae/3eb3EpWxq VvbChgIo71stTj+6VUtwNJb3VbNMaestB7G4fW9gwJraVJ1HNAwUk+yeCZcldQVhn8/tvb uSesDbCYe737p1ya1SHKuo18cXNXrlVUHqgw6UEYgbiGb9xtp9BxUEdO6uFNOKMZZemGHH AmAzRa0SJZ3bJkH27wCzUYtBPe0KXRhJlpKqIIh5+RVK/UTVQt5aky3OB3BGmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfDj61HHszbBY; Fri, 18 Apr 2025 12:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53ICYIqm064585; Fri, 18 Apr 2025 12:34:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ICYIMJ064582; Fri, 18 Apr 2025 12:34:18 GMT (envelope-from git) Date: Fri, 18 Apr 2025 12:34:18 GMT Message-Id: <202504181234.53ICYIMJ064582@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: e26d1cea25cd - main - ipfw: add IPv6 logging via rtsock support for fwd tablearg opcode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: e26d1cea25cd4d2ce95032022f7823b012c58c5f Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=e26d1cea25cd4d2ce95032022f7823b012c58c5f commit e26d1cea25cd4d2ce95032022f7823b012c58c5f Author: Andrey V. Elsukov AuthorDate: 2025-04-18 11:48:25 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-04-18 11:48:25 +0000 ipfw: add IPv6 logging via rtsock support for fwd tablearg opcode Also fix handling for O_SETMARK opcode. O_MARK should not be handled together with action opcodes. Obtained from: Yandex LLC Sponsored by: Yandex LLC --- sys/netpfil/ipfw/ip_fw_log.c | 52 ++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_log.c b/sys/netpfil/ipfw/ip_fw_log.c index 3f3980b8ee65..98b7a758c612 100644 --- a/sys/netpfil/ipfw/ip_fw_log.c +++ b/sys/netpfil/ipfw/ip_fw_log.c @@ -506,11 +506,10 @@ ipfw_rtsocklog_fill_l3(struct ip_fw_args *args, } static struct sockaddr * -ipfw_rtsocklog_handle_tablearg(struct ip_fw_chain *chain, ipfw_insn *cmd, - uint32_t tablearg, uint32_t *targ_value, char **buf) +ipfw_rtsocklog_handle_tablearg(struct ip_fw_chain *chain, + struct ip_fw_args *args, ipfw_insn *cmd, uint32_t tablearg, + uint32_t *targ_value, char **buf) { - struct sockaddr_in *v4nh = NULL; - /* handle tablearg now */ switch (cmd->opcode) { case O_DIVERT: @@ -531,26 +530,47 @@ ipfw_rtsocklog_handle_tablearg(struct ip_fw_chain *chain, ipfw_insn *cmd, case O_CALLRETURN: if (cmd->opcode == O_CALLRETURN && (cmd->len & F_NOT)) break; - *targ_value = (TARG(insntod(cmd, u32)->d[0], skipto)); + *targ_value = TARG(insntod(cmd, u32)->d[0], skipto); break; case O_PIPE: case O_QUEUE: *targ_value = TARG(cmd->arg1, pipe); break; - case O_MARK: - *targ_value = TARG(cmd->arg1, mark); + case O_SETMARK: + if (cmd->arg1 == IP_FW_TARG) + *targ_value = TARG_VAL(chain, tablearg, mark); break; case O_FORWARD_IP: - v4nh = (struct sockaddr_in *)buf; - buf += sizeof(*v4nh); - *v4nh = ((ipfw_insn_sa *)cmd)->sa; - if (v4nh->sin_addr.s_addr == INADDR_ANY) - v4nh->sin_addr.s_addr = htonl(tablearg); - - return (struct sockaddr *)v4nh; + if (IS_IP4_FLOW_ID(&args->f_id)) { + struct sockaddr_in *nh = (struct sockaddr_in *)*buf; + + *buf += sizeof(*nh); + memcpy(nh, &insntod(cmd, sa)->sa, sizeof(*nh)); + if (nh->sin_addr.s_addr == INADDR_ANY) + nh->sin_addr.s_addr = htonl( + TARG_VAL(chain, tablearg, nh4)); + return ((struct sockaddr *)nh); + } + /* FALLTHROUGH */ #ifdef INET6 case O_FORWARD_IP6: - return (struct sockaddr *)&(((ipfw_insn_sa6 *)cmd)->sa); + if (IS_IP6_FLOW_ID(&args->f_id)) { + const struct sockaddr_in *sin = &insntod(cmd, sa)->sa; + struct sockaddr_in6 *nh = (struct sockaddr_in6 *)*buf; + + *buf += sizeof(*nh); + if (cmd->opcode == O_FORWARD_IP && + sin->sin_addr.s_addr == INADDR_ANY) { + nh->sin6_family = AF_INET6; + nh->sin6_len = sizeof(*nh); + nh->sin6_addr = TARG_VAL(chain, tablearg, nh6); + nh->sin6_port = sin->sin_port; + nh->sin6_scope_id = + TARG_VAL(chain, tablearg, zoneid); + } else + memcpy(nh, &insntod(cmd, sa6)->sa, sizeof(*nh)); + return ((struct sockaddr *)nh); + } #endif default: break; @@ -661,7 +681,7 @@ ipfw_log_rtsock(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, /* handle tablearg */ info->rti_info[RTAX_GENMASK] = ipfw_rtsocklog_handle_tablearg( - chain, cmd, tablearg, targ_value, &buf); + chain, args, cmd, tablearg, targ_value, &buf); /* L3 */ ipfw_rtsocklog_fill_l3(args, &buf, From nobody Fri Apr 18 12:34:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfDj80qqsz5sl77; Fri, 18 Apr 2025 12:34: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 4ZfDj72dl9z3PYR; Fri, 18 Apr 2025 12:34:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaJAnfOvj+FM7dF8R/cTaXHVXT1YnSolRcleVhaMCKA=; b=tSrZR4kzp4OuTM9tQU05zyiYjcAr7uvwkDhTjnpi2kNaFK0gCNqf9BnGhwD/7tt7nAkrdq GSWYnsK72bXlYtXIQG9DXKO5U9fsD/hHg0VQjlgEY7gYsDil+wsT7HG1fvA5Baj+DE2zGJ 479OtcgfpWeHeuyMOAK+VVa6TbQ3AgT7IVgLHmTRS9vZuAp30qONlkKUdPSJFF7+kOaLbp s8Yt671pBallTNbPPtgS8g29zuS3JKJ4FyS3RMkePiQO8RuNcYYKPs8H+CmQpj9sdyQ3Gp U8PQSa6568eW7aEBu13bQsYV5cfJ2Cuwfo069qBaB7pqjQOH1cTqA2xi0AYHQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744979659; a=rsa-sha256; cv=none; b=XFyfWlsEnEXkUbGihfoUakMsTIdgaqs+BavubIQo7Olr3V5adnNwSdjelL5VQiSrfp+bFz QMEdgdOfFFNEpZL6APMsYNxdiiSJBwkjZINggQ/rP6NAQfA11DoF9PLJHCLTS0R4si46lh EbvDvp3ZfoeylcmK6l1+Ghads8buzeK8mR2p2SHAeTz93alra1retvbKxsoPcvyOtKZP5Q wY6dbBK4UAS+brtQ0puTz+iSO9V6CVZlLuka74Yo/Fv+3LeqyKkI5F2CgOk/Su4UCptoTH n3FKc2LCjzmDrGPxaR4UGt9iqsN1yqcqSMx5oqFtCN1je+TE+kmz2Hkpfc2/Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaJAnfOvj+FM7dF8R/cTaXHVXT1YnSolRcleVhaMCKA=; b=pLqoN9/Pq5JOb6VkG1wStAuGARy1HNezHCsJeQ+iPyc+tB6DYnE4YoG05zE9863Zf+ggkz 2wzR+kNDTxoZT0WktrFIO6V3kktthWGeEi0ixvTI26I5ZDcPyL0+Alveb5MuFuIb7hZMo9 NkHIk7rZwDeQ1GrrRTrs7EIBEOsGtaOTDQL3uJAiLFSZMt8ZkHEpvf2HtO3Y3ufTySKKC1 cDdIM9zxVmkSa4wvihfYb96zsJN4QmIq1CmD53STDQNcPqz+nZ0T9kaP3fU4YRCIVM94XQ 1MDZzllKky2oxV/WgofkG+h3SY+yoroWdXUJJekJBr1/C7lWNtJxe3HS/QezlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfDj71wq7zbHF; Fri, 18 Apr 2025 12:34: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 53ICYJdw064620; Fri, 18 Apr 2025 12:34:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ICYJ7R064617; Fri, 18 Apr 2025 12:34:19 GMT (envelope-from git) Date: Fri, 18 Apr 2025 12:34:19 GMT Message-Id: <202504181234.53ICYJ7R064617@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: 2407636ff1cc - main - ipfw: document logdst opcode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 2407636ff1cc30e30355a6adc28d63e35780a7f0 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=2407636ff1cc30e30355a6adc28d63e35780a7f0 commit 2407636ff1cc30e30355a6adc28d63e35780a7f0 Author: Andrey V. Elsukov AuthorDate: 2025-04-18 12:00:07 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-04-18 12:00:07 +0000 ipfw: document logdst opcode Also fix some problems reported by mandoc -T lint. Add a comment describing the format of rtsock messages. Submitted by: Boris Lytochkin Obtained from: Yandex LLC Sponsored by: Yandex LLC --- sbin/ipfw/ipfw.8 | 98 ++++++++++++++++++++++++++++++++------------ sys/netpfil/ipfw/ip_fw_log.c | 53 ++++++++++++++++++++---- 2 files changed, 115 insertions(+), 36 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 348e9a58f2ce..719f92e96e68 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,11 +1,11 @@ .\" -.Dd March 3, 2025 +.Dd April 18, 2025 .Dt IPFW 8 .Os .Sh NAME .Nm ipfw , dnctl .Nd User interface for firewall, traffic shaper, packet scheduler, -in-kernel NAT. +in-kernel NAT.\& .Sh SYNOPSIS .Ss FIREWALL CONFIGURATION .Nm @@ -331,8 +331,8 @@ When listing, show dynamic rules in addition to static ones. When listing, show only dynamic states. When deleting, delete only dynamic states. .It Fl f -Run without prompting for confirmation for commands that can cause problems if misused, -i.e., +Run without prompting for confirmation for commands that can cause problems +if misused, i.e., .Cm flush . If there is no tty associated with the process, this is implied. The @@ -577,7 +577,7 @@ The format of firewall rules is the following: .Op Cm set Ar set_number .Op Cm prob Ar match_probability .Ar action -.Op Cm log Op Cm logamount Ar number +.Op Cm log Op log_opts .Op Cm altq Ar queue .Oo .Bro Cm tag | untag @@ -694,8 +694,10 @@ side effects. .It Cm log Op Cm logamount Ar number Packets matching a rule with the .Cm log -keyword will be made available for logging in two ways: -if the sysctl variable +keyword will be made available for logging. +Unless per-rule log destination is specified by +.Cm logdst Ar logdst_spec +option (see below), packets are logged in two ways: if the sysctl variable .Va net.inet.ip.fw.verbose is set to 0 (default), one can use .Xr bpf 4 @@ -743,6 +745,47 @@ command. Note: logging is done after all other packet matching conditions have been successfully verified, and before performing the final action (accept, deny, etc.) on the packet. +.It Cm log Oo +.Cm logamount Ar number +.Oc Cm logdst Ar logdst_spec +.Ar logdst_spec +is a comma-separated list of log destinations for logging +packets matching the rule. +Destinations supported are: +.Bl -tag -width indent +.It Ar syslog +Logs a packet to +.Xr syslogd 8 +with a +.Dv LOG_SECURITY +facility. +.It Ar ipfw0 +Logs a packet to the +.Li ipfw0 +pseudo interface. +.It Ar rtsock +Logs a packet to the +.Xr route 4 +socket. +See the comments of +.Fn ipfw_log_rtsock +in ipfw source code for more +information on the message's structure. +.El +.Pp +Note: +.Cm logamount +limits a number of logging events rather than packets being logged. +I.e. A packet matching a rule with +.Bd -ragged -offset indent + ... +.Cm log logamount +100 +.Cm logdst +syslog,ipfw0 ... +.Ed +.Pp +will log upto 50 packets. .It Cm tag Ar number When a packet matches a rule with the .Cm tag @@ -951,7 +994,7 @@ Pass packet to a nat instance (for network address translation, address redirect, etc.): see the -.Sx NETWORK ADDRESS TRANSLATION (NAT) +.Sx NETWORK ADDRESS TRANSLATION (NAT)\& Section for further information. .It Cm nat64lsn Ar name Pass packet to a stateful NAT64 instance (for IPv6/IPv4 network address and @@ -964,14 +1007,14 @@ protocol translation): see the .Sx IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION Section for further information. .It Cm nat64clat Ar name -Pass packet to a CLAT NAT64 instance (for client-side IPv6/IPv4 network address and -protocol translation): see the +Pass packet to a CLAT NAT64 instance (for client-side IPv6/IPv4 network address +and protocol translation): see the .Sx IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION Section for further information. .It Cm nptv6 Ar name Pass packet to a NPTv6 instance (for IPv6-to-IPv6 network prefix translation): see the -.Sx IPv6-to-IPv6 NETWORK PREFIX TRANSLATION (NPTv6) +.Sx IPv6-to-IPv6 NETWORK PREFIX TRANSLATION (NPTv6)\& Section for further information. .It Cm pipe Ar pipe_nr Pass packet to a @@ -1286,7 +1329,7 @@ protocol options, incoming or outgoing interfaces, etc.) that the packet must match in order to be recognised. In general, the patterns are connected by (implicit) .Cm and -operators -- i.e., all must match in order for the +operators \(em i.e., all must match in order for the rule to match. Individual patterns can be prefixed by the .Cm not @@ -1409,7 +1452,7 @@ See the .Sx LOOKUP TABLES section below for more information on lookup tables. .El -.It Ar addr-list : ip-addr Ns Op Ns , Ns Ar addr-list +.It Ar addr-list : ip-addr Ns Op , Ns Ar addr-list .It Ar ip-addr : A host or subnet address specified in one of the following ways: .Bl -tag -width indent @@ -1425,7 +1468,7 @@ and mask width of bits. As an example, 1.2.3.4/25 or 1.2.3.0/25 will match all IP numbers from 1.2.3.0 to 1.2.3.127 . -.It Ar addr Ns : Ns Ar mask +.It Ar addr : Ns Ar mask Matches all addresses with base .Ar addr (specified as an IP address, a network number, or a hostname) @@ -1442,7 +1485,7 @@ format for contiguous masks, which is more compact and less error-prone. .El .It Ar addr-set : addr Ns Oo Ns / Ns Ar masklen Oc Ns Cm { Ns Ar list Ns Cm } -.It Ar list : Bro Ar num | num-num Brc Ns Op Ns , Ns Ar list +.It Ar list : Bro Ar num | num-num Brc Ns Op , Ns Ar list Matches all addresses with base address .Ar addr (specified as an IP address, a network number, or a hostname) @@ -1469,7 +1512,7 @@ or 1.2.3.0/24{128,35-55,89} will match the following IP addresses: .br 1.2.3.128, 1.2.3.35 to 1.2.3.55, 1.2.3.89 . -.It Ar addr6-list : ip6-addr Ns Op Ns , Ns Ar addr6-list +.It Ar addr6-list : ip6-addr Ns Op , Ns Ar addr6-list .It Ar ip6-addr : A host or subnet specified one of the following ways: .Bl -tag -width indent @@ -3075,10 +3118,10 @@ This has the associated probabilities .Po Ar K and .Ar H Pc -for the loss probability. This is different from the literature, -where this model is described with probabilities of successful -transmission k and h. However, converting from literature is -easy: +for the loss probability. +This is different from the literature, where this model is described with +probabilities of successful transmission k and h. +However, converting from literature is easy: .Pp K = 1 - k ; H = 1 - h .Pp @@ -3204,8 +3247,8 @@ delay low. At regular time intervals of .Cm tupdate .Ar time -(15ms by default) a background process (re)calculates the probability based on queue delay -deviations from +(15ms by default) a background process (re)calculates the probability based on +queue delay deviations from .Cm target .Ar time (15ms by default) and queue delay trends. @@ -3224,8 +3267,8 @@ delay deviations that is used in drop probability calculation. 0.125 is the default. .It Cm beta Ar n .Ar n -is a floating point number between 0 and 7 which specifies is the weight of queue -delay trend that is used in drop probability calculation. +is a floating point number between 0 and 7 which specifies is the weight of +queue delay trend that is used in drop probability calculation. 1.25 is the default. .It Cm max_burst Ar time The maximum period of time that PIE does not drop/mark packets. @@ -3584,7 +3627,8 @@ The NAT64 instance will determine a destination IPv4 address from prefix .It Cm states_chunks Ar number The number of states chunks in single ports group. Each ports group by default can keep 64 state entries in single chunk. -The above value affects the maximum number of states that can be associated with single IPv4 alias address and port. +The above value affects the maximum number of states that can be associated with +a single IPv4 alias address and port. The value must be power of 2, and up to 128. .It Cm host_del_age Ar seconds The number of seconds until the host entry for a IPv6 client will be deleted @@ -4460,7 +4504,7 @@ and .Cm defer-action can be used to precisely control creation and checking of dynamic rules. Example of usage of these options are provided in -.Sx NETWORK ADDRESS TRANSLATION (NAT) +.Sx NETWORK ADDRESS TRANSLATION (NAT)\& Section. .Pp To limit the number of connections a user can open @@ -4949,7 +4993,7 @@ The syntax has grown over the years and sometimes it might be confusing. Unfortunately, backward compatibility prevents cleaning up mistakes made in the definition of the syntax. .Pp -.Em !!! WARNING !!! +.Em !!! WARNING !!!\& .Pp Misconfiguring the firewall can put your computer in an unusable state, possibly shutting down network services and requiring console access to diff --git a/sys/netpfil/ipfw/ip_fw_log.c b/sys/netpfil/ipfw/ip_fw_log.c index 98b7a758c612..b87aa3da9413 100644 --- a/sys/netpfil/ipfw/ip_fw_log.c +++ b/sys/netpfil/ipfw/ip_fw_log.c @@ -605,10 +605,42 @@ ipfw_copy_rule_comment(struct ip_fw *f, char *dst) return (rcomment_len); } +/* + * Logs a packet matched by a rule as a route(4) socket message. + * + * While ipfw0 pseudo interface provides a way to observe full packet body, + * no metadata (rule number, action, mark, etc) is available. + * pflog(4) is not an option either as it's header is hardcoded and does not + * provide sufficient space for ipfw meta information. + * + * To be able to get a machine-readable event with all meta information needed + * for user-space daemons we construct a route(4) message and pack as much meta + * information as we can into it. + * + * RTAX_DST(0): (struct sockaddr_dl) carrying ipfwlog_rtsock_hdr_v2 in sdl_data + * with general rule information (rule number, set, action, mark, + * cmd, comment) and source/destination MAC addresses in case we're + * logging in layer2 pass. + * + * RTAX_GATEWAY(1): (struct sockaddr) IP source address + * + * RTAX_NETMASK(2): (struct sockaddr) IP destination address + * + * RTAX_GENMASK(3): (struct sockaddr) IP address and port used in fwd action + * + * One SHOULD set an explicit logamount for any rule using rtsock as flooding + * route socket with such events could lead to various system-wide side effects. + * RTF_PROTO1 flag in (struct rt_addrinfo).rti_flags is set in all messages + * once half of logamount limit is crossed. This could be used by the software + * processing these logs to issue `ipfw resetlog` command to keep the event + * flow. + * + * TODO: convert ipfwlog_rtsock_hdr_v2 data into TLV to ease expansion. +*/ + static void ipfw_log_rtsock(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, - struct ip_fw_args *args, u_short offset, uint32_t tablearg, - void *_eh) + struct ip_fw_args *args, u_short offset, uint32_t tablearg, void *_eh) { struct sockaddr_dl *sdl_ipfwcmd; struct ether_header *eh = _eh; @@ -628,6 +660,9 @@ ipfw_log_rtsock(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, if (l->max_log != 0 && l->log_left == 0) return; + if (hlen == 0) /* non-ip */ + return; + l->log_left--; if (V_fw_verbose != 0 && l->log_left == 0) { log(LOG_SECURITY | LOG_NOTICE, @@ -688,6 +723,9 @@ ipfw_log_rtsock(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, &info->rti_info[RTAX_GATEWAY], &info->rti_info[RTAX_NETMASK]); + KASSERT(buf <= (orig_buf + buflen), + ("ipfw: buffer for logdst rtsock is not big enough")); + info->rti_ifp = args->ifp; rtsock_routemsg_info(RTM_IPFWLOG, info, RT_ALL_FIBS); @@ -704,13 +742,10 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, { ipfw_insn *cmd; - if (f == NULL || hlen == 0) - return; - - /* O_LOG is the first action */ - cmd = ACTION_PTR(f); - - if (cmd->arg1 == IPFW_LOG_DEFAULT) { + /* Fallback to default logging if we're missing rule pointer */ + if (f == NULL || + /* O_LOG is the first action */ + ((cmd = ACTION_PTR(f)) && cmd->arg1 == IPFW_LOG_DEFAULT)) { if (V_fw_verbose == 0) { ipfw_log_ipfw0(args, ip); return; From nobody Fri Apr 18 12:34:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfDj86LhDz5skjQ; Fri, 18 Apr 2025 12:34: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 4ZfDj83l6Hz3PYT; Fri, 18 Apr 2025 12:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQmqC2ny65e6rAvHnw8X2oAeTZO17OFcjxmAgiAs1vc=; b=jrItLOr2iXgWRDdg4zlrwtURIuxjo0/ep49IhfYQyHij76D3Qj9hj/xdaET04Q9rv/fFXx /Lqt7Xdr31DN3yhghmRY+g6JrpYtCRtP0T7ss3jw16kuZrVdpf64A65lonyTDaqCbQnv8W 6r06pYWcPdvP+Lm4/qVtGS0LDKJz1n6sHP1hVRVTMDYJy63hh1Ivdushps6N2sN2knyrqZ 0TeSJ/+LJnxNPFekuVFhOVHl4gTfR6S9Fqi9kcqwcbhIuK0Y3Pkra4IGqFjGc5pje7WKdF clSglvq+wRZ3EAKEQ9/XOd47dl77UMNePmb4xOlBfmG+qHw03+Sq42m/d6BC5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744979660; a=rsa-sha256; cv=none; b=IcAq0gHwBC/lGIz379cZYubRmc9oHfVsbsaU3TjlMCrxHNRsn4M3BXXpDerhnbOTdFVM68 mOmW9BWgtbb2mrlIqU2cRzQ1/gBjrCgvEx4sE83sCH/lYOYR35UQv0Xart30C6YGKpelwM pmkU8F3q/j6YbKpeFIgRmKnyMTNm3Ro6ZQ6+GvOMI3SBQbuTJKt8ug+hNCcriPd9ZNbl64 5i9qY+J7g2LXVyq/WWv0b0qzF/abNIDrUwoDMGkY648fhVZWFn4A/Tg71fQ7jgnMhxYU15 NbmSA4QGmBKOHGejoRA3cU9sN8MdEJU5z810uAZ6T1b9osxyPSxhjbfIgMccQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744979660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQmqC2ny65e6rAvHnw8X2oAeTZO17OFcjxmAgiAs1vc=; b=X4Wmob3XxAv8GLydcSxLQxs0Z7+SNXaLxvSAcAygdHvSVvc7Iii4H7nePutdU/rnmDHg5z wkAGtMotpD5NJbd+SNyFUxDqgpUZvRi6qna6WTLlmt1iBhTcBu+ux/F7zDe8G3zlK7IYhS vVtrWIH77moAQRM+U1gMX6Rs+jAzo5Xs5wlMKpw4No6YAnYuBjVRp/QvRASTpj7kcGXgr0 MBN6XhXfOOSUyJvlw1FJhsFWDjbijgDGkM57dwdOq6OV84+Si6oda7tBJ+MFuYfRc4/IqP eMWAaH8PmHsS+yMs3sVopoPCgf9Hlj04cW7X0Zormg5UqUKJVsnJJfsxN3BOGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfDj83J3Pzb68; Fri, 18 Apr 2025 12:34: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 53ICYKUT064658; Fri, 18 Apr 2025 12:34:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ICYKOZ064655; Fri, 18 Apr 2025 12:34:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 12:34:20 GMT Message-Id: <202504181234.53ICYKOZ064655@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: 3c76623ad553 - main - ipfw: add 'internal monitor' subcommand to capture rtsock messages. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 3c76623ad55369c3998b2b00d7322f8aeedc98fd Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=3c76623ad55369c3998b2b00d7322f8aeedc98fd commit 3c76623ad55369c3998b2b00d7322f8aeedc98fd Author: Andrey V. Elsukov AuthorDate: 2025-04-18 12:22:56 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-04-18 12:22:56 +0000 ipfw: add 'internal monitor' subcommand to capture rtsock messages. This command is similar to route(8) monitor subcommand. It can be used for debugging rules in run-time. Also add __pritflike() to bprintf function and fix some related bugs. Obtained from: Yandex LLC Sponsored by: Yandex LLC --- sbin/ipfw/ipfw.8 | 11 +++++ sbin/ipfw/ipfw2.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++- sbin/ipfw/ipfw2.h | 3 +- 3 files changed, 148 insertions(+), 3 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 719f92e96e68..ddfdc35ce651 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -171,6 +171,8 @@ in-kernel NAT.\& .Nm .Cm internal iflist .Nm +.Cm internal monitor Op Ar filter-comment +.Nm .Cm internal talist .Nm .Cm internal vlist @@ -4332,6 +4334,15 @@ sub-options: Lists all interface which are currently tracked by .Nm with their in-kernel status. +.It Cm monitor Op Ar filter-comment +Capture messages from +.Xr route 4 +socket, that were logged using rules with +.Cm log Cm logdst Ar rtsock +opcode. Optional +.Ar filter-comment +can be specified to show only those messages, that were logged +by rules with specific rule comment. .It Cm talist List all table lookup algorithms currently available. .El diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index be796808380f..8eeff72463b5 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -47,6 +47,8 @@ #include #include /* only IFNAMSIZ */ +#include +#include #include #include /* only n_short, n_long */ #include @@ -2009,7 +2011,7 @@ print_logdst(struct buf_pr *bp, uint16_t arg1) { char const *comma = ""; - bprintf(bp, " logdst ", arg1); + bprintf(bp, " logdst "); if (arg1 & IPFW_LOG_SYSLOG) { bprintf(bp, "%ssyslog", comma); comma = ","; @@ -2179,7 +2181,7 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, if (cmd->len == F_INSN_SIZE(ipfw_insn)) bprintf(bp, " %u", cmd->arg1); else - bprintf(bp, " %ubytes", + bprintf(bp, " %lubytes", cmd->len * sizeof(uint32_t)); break; case O_SETDSCP: @@ -5956,6 +5958,7 @@ static struct _s_x intcmds[] = { { "iflist", TOK_IFLIST }, { "olist", TOK_OLIST }, { "vlist", TOK_VLIST }, + { "monitor", TOK_MONITOR }, { NULL, 0 } }; @@ -6030,6 +6033,132 @@ ipfw_list_objects(int ac __unused, char *av[] __unused) free(olh); } +static void +bprint_sa(struct buf_pr *bp, const struct sockaddr *sa) +{ + struct sockaddr_storage ss; + char buf[INET6_ADDRSTRLEN]; + + memset(&ss, 0, sizeof(ss)); + if (sa->sa_len == 0) + ss.ss_family = sa->sa_family; + else + memcpy(&ss, sa, sa->sa_len); + + /* set ss_len in case it was shortened */ + switch (sa->sa_family) { + case AF_INET: + ss.ss_len = sizeof(struct sockaddr_in); + break; + default: + ss.ss_len = sizeof(struct sockaddr_in6); + } + if (getnameinfo((const struct sockaddr *)&ss, ss.ss_len, + buf, sizeof(buf), NULL, 0, NI_NUMERICHOST) != 0) { + bprintf(bp, "bad-addr"); + return; + } + bprintf(bp, "%s", buf); +} + +static void +ipfw_rtsock_monitor(const char *filter) +{ + char msg[2048], buf[32]; + struct timespec tp; + struct tm tm; + struct buf_pr bp; + struct rt_msghdr *hdr; + struct sockaddr *sa; + struct sockaddr_dl *sdl; + ipfwlog_rtsock_hdr_v2 *loghdr; + ssize_t msglen; + int rtsock; + + rtsock = socket(PF_ROUTE, SOCK_RAW, AF_IPFWLOG); + if (rtsock < 0) + err(EX_UNAVAILABLE, "socket(AF_IPFWLOG)"); + bp_alloc(&bp, 4096); + for (;;) { + msglen = read(rtsock, msg, sizeof(msg)); + if (msglen < 0) { + warn("read()"); + continue; + } + if (sizeof(*hdr) - msglen < 0) + continue; + + hdr = (struct rt_msghdr *)msg; + if (hdr->rtm_version != RTM_VERSION || + hdr->rtm_type != RTM_IPFWLOG || + (hdr->rtm_addrs & (1 << RTAX_DST)) == 0 || + (hdr->rtm_addrs & (1 << RTAX_GATEWAY)) == 0 || + (hdr->rtm_addrs & (1 << RTAX_NETMASK)) == 0) + continue; + + msglen -= sizeof(*hdr); + sdl = (struct sockaddr_dl *)(hdr + 1); + if (msglen - sizeof(*sdl) < 0 || msglen - SA_SIZE(sdl) < 0 || + sdl->sdl_family != AF_IPFWLOG || + sdl->sdl_type != 2 /* version */ || + sdl->sdl_alen != sizeof(*loghdr)) + continue; + + msglen -= SA_SIZE(sdl); + loghdr = (ipfwlog_rtsock_hdr_v2 *)sdl->sdl_data; + /* filter by rule comment. MAX_COMMENT_LEN = 80 */ + if (filter != NULL && + strncmp(filter, loghdr->comment, 80) != 0) + continue; + + sa = (struct sockaddr *)((char *)sdl + SA_SIZE(sdl)); + if (msglen - SA_SIZE(sa) < 0) + continue; + + msglen -= SA_SIZE(sa); + bp_flush(&bp); + + clock_gettime(CLOCK_REALTIME, &tp); + localtime_r(&tp.tv_sec, &tm); + strftime(buf, sizeof(buf), "%T", &tm); + bprintf(&bp, "%s.%03ld AF %s", buf, tp.tv_nsec / 1000000, + sa->sa_family == AF_INET ? "IPv4" : "IPv6"); + + bprintf(&bp, " %s >", + ether_ntoa((const struct ether_addr *)loghdr->ether_shost)); + bprintf(&bp, " %s, ", + ether_ntoa((const struct ether_addr *)loghdr->ether_dhost)); + bprint_sa(&bp, sa); + + sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa)); + if (msglen - SA_SIZE(sa) < 0) + continue; + + msglen -= SA_SIZE(sa); + bprintf(&bp, " > "); + bprint_sa(&bp, sa); + bprintf(&bp, ", set %u, rulenum %u, targ 0x%08x, " + "%scmd[op %d, len %d, arg1 0x%04x], mark 0x%08x", + sdl->sdl_index, loghdr->rulenum, loghdr->tablearg, + (loghdr->cmd.len & F_NOT) ? "!": "", + loghdr->cmd.opcode, F_LEN(&loghdr->cmd), + loghdr->cmd.arg1, loghdr->mark); + + sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa)); + if ((hdr->rtm_addrs & (1 << RTAX_GENMASK)) != 0 && + msglen - SA_SIZE(sa) >= 0) { + msglen -= SA_SIZE(sa); + bprintf(&bp, ", nh "); + bprint_sa(&bp, sa); + } + if (sdl->sdl_nlen > 0) + bprintf(&bp, " // %s", loghdr->comment); + printf("%s\n", bp.buf); + } + bp_free(&bp); + close(rtsock); +} + void ipfw_internal_handler(int ac, char *av[]) { @@ -6054,6 +6183,10 @@ ipfw_internal_handler(int ac, char *av[]) case TOK_VLIST: ipfw_list_values(ac, av); break; + case TOK_MONITOR: + av++; + ipfw_rtsock_monitor(*av); + break; } } diff --git a/sbin/ipfw/ipfw2.h b/sbin/ipfw/ipfw2.h index 788e9fe365f3..f19ea59c1bb4 100644 --- a/sbin/ipfw/ipfw2.h +++ b/sbin/ipfw/ipfw2.h @@ -275,6 +275,7 @@ enum tokens { TOK_UNLOCK, TOK_VLIST, TOK_OLIST, + TOK_MONITOR, TOK_MISSING, TOK_ORFLUSH, @@ -347,7 +348,7 @@ struct buf_pr { int pr_u64(struct buf_pr *bp, void *pd, int width); int bp_alloc(struct buf_pr *b, size_t size); void bp_free(struct buf_pr *b); -int bprintf(struct buf_pr *b, const char *format, ...); +int bprintf(struct buf_pr *b, const char *format, ...) __printflike(2, 3); /* memory allocation support */ From nobody Fri Apr 18 13:09:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfFTb07Xbz5smNp; Fri, 18 Apr 2025 13:09: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 4ZfFTZ3CBgz3fYd; Fri, 18 Apr 2025 13:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744981762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ez3RMVA+3YHtHBe+1JJJWpjcVweHDUYDl0tliRdHv7M=; b=uz8ZGDcE1Q5BwX34oaJ9MFuZ8ZYMAChQrFAsH6fH6iNh9jMwDgNYHocICNMTPoLkK38lcE l03Sc2dJgM86zWaZtzdUSmABO4TqXBwRy2wA63wJ5Abzs3vtkfigwybkPZ442y0ec+B/kU qbh3kcz0Nrf2GTr4Xnp1rm7PE0xenI1Ol7RtiDBinyOsuxAnNOJY4WvZw1lDbfCv0+KNEs sVJAhATv8onxoM6n7U6VUZNL7KapBMuoIAHUk1hFY76irqyF2K/z04j7dAHvsJbMyU6/VP +1yXXp6TvKIlEf8VR2kZhNwLcRRFy3WOhjoJLCMg7zmGPLkZSvvLBQLqiLphMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744981762; a=rsa-sha256; cv=none; b=n6pwn6ge/wFoxahJU/v+73Cudev/EX48Jw8jT007uFqCAEPkxmvkzrY7UriXm+zZDWwkyo AGXEpQdCkhEfylnGH1AcNPii07FRHdRRe6zFvgiW2mMzBuX3gCofyZWoieky/YwXUE9mat vDWSG6MzPtVmfm4XM0lWFPVuWsw3sQFMvLYBHWOf7fn+8xq+GJDfCa0XJPgoT6Mt+Pyn0w a+1mNBAY9OjBlFHyr9ZRbJNyuzxe2N1k6x0P5K+nwjdI/aCsyToWoILHfjOyOAXK1JMfWX QOWa/3bjj7UYgn88j5MJBz5buSkgw6v5r6GyyYWegdUZZQtPRXp8xrnbxGhCMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744981762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ez3RMVA+3YHtHBe+1JJJWpjcVweHDUYDl0tliRdHv7M=; b=QLd76DBYCep85KWXrvK4n36s1drormC1Vsk3cK9njLPO+H9lQyvFtJm5iCEYia6c5X3S4g tcP0z+0X9mO+Wq5cQ1IynPcVbv39MQrHLy9FWS7bQvsXG9Gp1Mkh0Sg/yClg9+6KS99UME 8+lFHTHGykmKL3LGrvfZ20VuaDDb03h+0UZlmEcut9nsuhttZnvUqZ0tqzcNTmRQzaAUj9 cd1Ef3yUKYRPPHdm/JRuiSUAOAwS0diUGIKGBPk9WvW9Z/n4vHhKdNbwQbxPzPwXVcVDTN xhMiO55hhgj2RYKIh4J9OHNwNazr4Pt2r1uF8G83WEILuXO1KE2xUn121DD57g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfFTZ2pgyzbyW; Fri, 18 Apr 2025 13:09: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 53ID9MOx022699; Fri, 18 Apr 2025 13:09:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ID9Mn5022696; Fri, 18 Apr 2025 13:09:22 GMT (envelope-from git) Date: Fri, 18 Apr 2025 13:09:22 GMT Message-Id: <202504181309.53ID9Mn5022696@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: 57e12d397387 - main - partedit: make minimum FreeBSD install size just under 1 GiB List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 57e12d397387542b13f175d4c0b8b5adca198690 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=57e12d397387542b13f175d4c0b8b5adca198690 commit 57e12d397387542b13f175d4c0b8b5adca198690 Author: Ed Maste AuthorDate: 2023-03-02 23:35:33 +0000 Commit: Ed Maste CommitDate: 2025-04-18 13:09:05 +0000 partedit: make minimum FreeBSD install size just under 1 GiB 1 GiB is a convenient disk image size for testing. It is also the installer's minimum size, but the minimum applies to the partition rather than the whole disk. Testing with a 1 GiB image resulted in the counterintuitive error "There is not enough free space on to install FreeBSD (1.0 GB free, 1.0 GB required)." Reduce the installer's minimum size slightly to support this case. Reviewed by: brd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38881 --- usr.sbin/bsdinstall/partedit/part_wizard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bsdinstall/partedit/part_wizard.c b/usr.sbin/bsdinstall/partedit/part_wizard.c index 44d9a08b0c78..90a8da1c3c9b 100644 --- a/usr.sbin/bsdinstall/partedit/part_wizard.c +++ b/usr.sbin/bsdinstall/partedit/part_wizard.c @@ -40,7 +40,7 @@ #include "partedit.h" -#define MIN_FREE_SPACE (1024*1024*1024) /* 1 GB */ +#define MIN_FREE_SPACE (1023*1024*1024) /* Just under 1 GB */ #define SWAP_SIZE(available) MIN(available/20, 4*1024*1024*1024LL) static char *wizard_partition(struct gmesh *mesh, const char *disk); From nobody Fri Apr 18 13:35:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfG3Y1Msbz5spsT; Fri, 18 Apr 2025 13:35: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 4ZfG3X6m8Gz3qm9; Fri, 18 Apr 2025 13:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744983321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mWeQcJiuSwxGBOFdhn/Jc5HEmugjN/uNpwoRmpYg2d0=; b=xhQB7V2A5q8B8FIQ/w2fTm0N9Eb+om7Rk6YnFFKCgdPelak1mGbfzxaJPlYJ+T3hAIgYQX xb13s6eTVQjXPJSAUkR8u+KDV41Aa9RJt3dhSP9+01eKeMOEqLcaX+aAPA8NvNu7auWr0R LObiMP7fqgXANdHs95FvOl8r36TuJQMkiJp2krFYeaYJrF1KLH8/P/jQGgmQRBQOQWMmZe GUkmAuTp7Qr8LTjGrx3dQPfYcoxDFLrqdQYHZxY61x+sJUPTCiffpBmC+hH5tHC7AL35J5 r2oIccf3VVbppicRk+khd7eg/xaPhce6iMVKWzfiloSJ6UZ5v7fNxG79Y4adKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744983321; a=rsa-sha256; cv=none; b=Gqvrg8B/b9SDokxTl9KgaAG3Pd60+517Q4pfrdSDXejmjR0nWM6yq36K92ef0WneOdFAZq /J0Ux4DYIg9v3I3HieOj/v+KD1At6eOc9AYaP7Oo/bTvCuMdVe1v53wAQlkFSgoOxZKBrd g+Io1QUu6kz4nHLOCY0a1FJkBwz84gMf/b0ot+KtzfQv6ABFvgI8TsZVjJNX2ppSjNpXRz ag9UDhQzpvpcxnNY4FTVvhnIj5JRO43pYgjDb58BMNuRcXiWxV4Hv1J6evSPXVccJ1gY9z Cgo2wntShRNUAXkPrvv/xqDApFJ1XwoFV7HGVBNGBJ87xQATPLBp21x/Ihhpow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744983321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mWeQcJiuSwxGBOFdhn/Jc5HEmugjN/uNpwoRmpYg2d0=; b=NFmssWoHR5FIBLi2ODki66HLQ8pJ6VfaWBrnmib+KcQMpMcTv9ZDpt6PZ2KhkzvgC08MzB EBBqlrtud1wXUOhslbzwiAF69uLweVm8ioQSNxKh++My7k8f868xm5BQQMF9CWxmX5N6Yw ok+2Vr5B0Ic8cA/9MZyp09avqAvI+RCmWHtGIhy90zMt2bax1kPON8iGqg5sr9D1mgqdlp irPEJBMv4HIjkL/0pbwEpNgDYET1mwDJUgCCJd67knxaNy5sWEANpkl0pmd42vxzPR54Yz rlJU3KA81hXS4O+AsNYaUCKBTfCReUU5+8cRlVRgqLyD0WdZKyCfJmn8FgOU4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfG3X6Lpfzccc; Fri, 18 Apr 2025 13:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IDZKdr077442; Fri, 18 Apr 2025 13:35:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IDZKqB077439; Fri, 18 Apr 2025 13:35:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 13:35:20 GMT Message-Id: <202504181335.53IDZKqB077439@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: f5a5dd77ea34 - main - ipfw: fix build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: f5a5dd77ea34760099db5395e982036f77de0901 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=f5a5dd77ea34760099db5395e982036f77de0901 commit f5a5dd77ea34760099db5395e982036f77de0901 Author: Andrey V. Elsukov AuthorDate: 2025-04-18 13:32:35 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-04-18 13:32:35 +0000 ipfw: fix build cast to unsigned type to fix warning. Fixes: 3c76623ad553 --- sbin/ipfw/ipfw2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 8eeff72463b5..a95e7b0318da 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -2181,8 +2181,8 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, if (cmd->len == F_INSN_SIZE(ipfw_insn)) bprintf(bp, " %u", cmd->arg1); else - bprintf(bp, " %lubytes", - cmd->len * sizeof(uint32_t)); + bprintf(bp, " %ubytes", + (unsigned)(cmd->len * sizeof(uint32_t))); break; case O_SETDSCP: if (cmd->arg1 == IP_FW_TARG) { From nobody Fri Apr 18 14:00:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfGcK6s3Gz5srRH; Fri, 18 Apr 2025 14:00: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 4ZfGcK4KSvz42TX; Fri, 18 Apr 2025 14:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RDep/4M2PfnHdIYID454TnA1clv0Mi5T5zvCMC+hlIE=; b=XIR5owPrnD1WuohO16wPY8kOl0RRFKA31LcTW8C3CJCS+0hZja2SbW1IDn8yB3/0p6hRh4 +3JGCyr5K/iKdWEeQ26EmcrzHxfzeYBK9K4FrkgdPDSUsglVFH3Dc6QrLclRC2mqCc5m77 70sn54U1c37jaojsfGyC+YaahoWxlxlpWKRzhLhJRprsKVS+rHnxSQRfW57fKZfWkgvh06 Hj9uHU2AkG/TB/qoSGyuhAuvIvCqiJlsOZ+XPVyS0UVsChPkvJ6qmj/S0wYgSb0m9gEDTJ l86PtsLESTrU0cAc91hB6wCCbdowZ6U5g2PN0OAhqOGOFiwGEVDVau18cH1Huw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744984817; a=rsa-sha256; cv=none; b=sKXcVxqRh4L+5u3y+BEoFiF78q5MyVfjYPgQ8SekPOZHLYRahpWt5mZOgi2LSkU2hRKHOO cusspov7BldMRY7Gvrfrn3XnIEKHwORHNTkND6O6v299OB9ZWZJrMIhkauGBTMHaRPlPGF 3zqYcsm41scm0YJbMjNA1+zliQh/Mj+XgbJdmXR+bsY0K9n/IABae3aXwUe8Ip6w5kUkxO NdeMnKnYvHUyhi8nGxn+RjUAf2GzKbNz4Z2NtoK//9MZXJcsGBTyrON6+q39FuAOTXxyEA hu7H1OVN8rgT7gX3m3RmWaUTWyorkUnGXZbz2ky9XrpxtLKBLH+o/LRIq/zzKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RDep/4M2PfnHdIYID454TnA1clv0Mi5T5zvCMC+hlIE=; b=bSPHA/UAXWtLf42LZT/7x1OLSD6Iekds7bWgtKTGMYZMpvNDoh8xK9xH5vKqF+p1So0Jxi CenRBg6P9crEe36R6rz73f72rXyDxE12kv7dJUF4qKLsuElMIAW6o4XmezvO4qJJMFTA+L 4pmp+uLOskWUCuNV8oVZyAxLQKTN+cqa9XPj71xCdu+q4uZIXuVD0u3V0VwlOnImVxRi/Q 0+ZWJKXFNvTgLo1ZK1FYHuQbr7tFhFs54+hI2ycDJlhCWrhCRha5gePzfDhQKT7NzeF2f6 166AssVUGRvYR3SPWBpnKvuW2LLAW7I3OaYg/YMOc+mHHAPhevn2bcL2exnNlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfGcK3xBfzdCJ; Fri, 18 Apr 2025 14:00: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 53IE0Hhh025186; Fri, 18 Apr 2025 14:00:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IE0HlV025177; Fri, 18 Apr 2025 14:00:17 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:00:17 GMT Message-Id: <202504181400.53IE0HlV025177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 890309a67b50 - stable/14 - gve: Allocate qpl per ring at ring allocation time List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 890309a67b50c3b87f12e33bcc157e0757497ad3 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=890309a67b50c3b87f12e33bcc157e0757497ad3 commit 890309a67b50c3b87f12e33bcc157e0757497ad3 Author: Vee Agarwal AuthorDate: 2025-04-04 22:53:31 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 13:52:07 +0000 gve: Allocate qpl per ring at ring allocation time Every tx and rx ring has its own queue-page-list (QPL) that serves as the bounce buffer. Previously we were allocating QPLs for all queues before the queues themselves were allocated and later associating a QPL with a queue. This is avoidable complexity: it is much more natural for each queue to allocate and free its own QPL. Signed-off-by: Vee Agarwal Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49426 (cherry picked from commit f8ed8382daf4b9a97056b1dba4fe4e5cb4f7485c) --- sys/dev/gve/gve.h | 6 +- sys/dev/gve/gve_main.c | 8 --- sys/dev/gve/gve_qpl.c | 174 +++++++++++++++++------------------------------ sys/dev/gve/gve_rx.c | 15 +++- sys/dev/gve/gve_rx_dqo.c | 15 +++- sys/dev/gve/gve_tx.c | 12 +++- sys/dev/gve/gve_tx_dqo.c | 16 ++++- 7 files changed, 114 insertions(+), 132 deletions(-) diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 39965c8669cf..bf15eb3ccabc 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -542,7 +542,6 @@ struct gve_priv { struct gve_irq_db *irq_db_indices; enum gve_queue_format queue_format; - struct gve_queue_page_list *qpls; struct gve_queue_config tx_cfg; struct gve_queue_config rx_cfg; uint32_t num_queues; @@ -629,8 +628,9 @@ void gve_db_bar_write_4(struct gve_priv *priv, bus_size_t offset, uint32_t val); void gve_db_bar_dqo_write_4(struct gve_priv *priv, bus_size_t offset, uint32_t val); /* QPL (Queue Page List) functions defined in gve_qpl.c */ -int gve_alloc_qpls(struct gve_priv *priv); -void gve_free_qpls(struct gve_priv *priv); +struct gve_queue_page_list *gve_alloc_qpl(struct gve_priv *priv, uint32_t id, + int npages, bool single_kva); +void gve_free_qpl(struct gve_priv *priv, struct gve_queue_page_list *qpl); int gve_register_qpls(struct gve_priv *priv); int gve_unregister_qpls(struct gve_priv *priv); void gve_mextadd_free(struct mbuf *mbuf); diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 8e764f9660d7..72e7fc2e3f89 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -482,8 +482,6 @@ gve_free_rings(struct gve_priv *priv) gve_free_irqs(priv); gve_free_tx_rings(priv); gve_free_rx_rings(priv); - if (gve_is_qpl(priv)) - gve_free_qpls(priv); } static int @@ -491,12 +489,6 @@ gve_alloc_rings(struct gve_priv *priv) { int err; - if (gve_is_qpl(priv)) { - err = gve_alloc_qpls(priv); - if (err != 0) - goto abort; - } - err = gve_alloc_rx_rings(priv); if (err != 0) goto abort; diff --git a/sys/dev/gve/gve_qpl.c b/sys/dev/gve/gve_qpl.c index 1fcc2b5365c9..0e7098dcd4a1 100644 --- a/sys/dev/gve/gve_qpl.c +++ b/sys/dev/gve/gve_qpl.c @@ -36,28 +36,9 @@ static MALLOC_DEFINE(M_GVE_QPL, "gve qpl", "gve qpl allocations"); -static uint32_t -gve_num_tx_qpls(struct gve_priv *priv) -{ - if (!gve_is_qpl(priv)) - return (0); - - return (priv->tx_cfg.max_queues); -} - -static uint32_t -gve_num_rx_qpls(struct gve_priv *priv) -{ - if (!gve_is_qpl(priv)) - return (0); - - return (priv->rx_cfg.max_queues); -} - -static void -gve_free_qpl(struct gve_priv *priv, uint32_t id) +void +gve_free_qpl(struct gve_priv *priv, struct gve_queue_page_list *qpl) { - struct gve_queue_page_list *qpl = &priv->qpls[id]; int i; for (i = 0; i < qpl->num_dmas; i++) { @@ -92,12 +73,14 @@ gve_free_qpl(struct gve_priv *priv, uint32_t id) if (qpl->dmas != NULL) free(qpl->dmas, M_GVE_QPL); + + free(qpl, M_GVE_QPL); } -static int +struct gve_queue_page_list * gve_alloc_qpl(struct gve_priv *priv, uint32_t id, int npages, bool single_kva) { - struct gve_queue_page_list *qpl = &priv->qpls[id]; + struct gve_queue_page_list *qpl; int err; int i; @@ -105,9 +88,12 @@ gve_alloc_qpl(struct gve_priv *priv, uint32_t id, int npages, bool single_kva) device_printf(priv->dev, "Reached max number of registered pages %ju > %ju\n", (uintmax_t)npages + priv->num_registered_pages, (uintmax_t)priv->max_registered_pages); - return (EINVAL); + return (NULL); } + qpl = malloc(sizeof(struct gve_queue_page_list), M_GVE_QPL, + M_WAITOK | M_ZERO); + qpl->id = id; qpl->num_pages = 0; qpl->num_dmas = 0; @@ -163,126 +149,90 @@ gve_alloc_qpl(struct gve_priv *priv, uint32_t id, int npages, bool single_kva) priv->num_registered_pages++; } - return (0); + return (qpl); abort: - gve_free_qpl(priv, id); - return (err); + gve_free_qpl(priv, qpl); + return (NULL); } -void -gve_free_qpls(struct gve_priv *priv) -{ - int num_qpls = gve_num_tx_qpls(priv) + gve_num_rx_qpls(priv); - int i; - - if (num_qpls == 0) - return; - - if (priv->qpls != NULL) { - for (i = 0; i < num_qpls; i++) - gve_free_qpl(priv, i); - free(priv->qpls, M_GVE_QPL); - priv->qpls = NULL; - } -} - -int gve_alloc_qpls(struct gve_priv *priv) +int +gve_register_qpls(struct gve_priv *priv) { - int num_qpls = gve_num_tx_qpls(priv) + gve_num_rx_qpls(priv); - int num_pages; + struct gve_ring_com *com; + struct gve_tx_ring *tx; + struct gve_rx_ring *rx; int err; int i; - if (num_qpls == 0) + if (gve_get_state_flag(priv, GVE_STATE_FLAG_QPLREG_OK)) return (0); - priv->qpls = malloc(num_qpls * sizeof(*priv->qpls), M_GVE_QPL, - M_WAITOK | M_ZERO); - - num_pages = gve_is_gqi(priv) ? - priv->tx_desc_cnt / GVE_QPL_DIVISOR : - GVE_TX_NUM_QPL_PAGES_DQO; - for (i = 0; i < gve_num_tx_qpls(priv); i++) { - err = gve_alloc_qpl(priv, i, num_pages, - /*single_kva=*/true); - if (err != 0) - goto abort; - } - - num_pages = gve_is_gqi(priv) ? priv->rx_desc_cnt : GVE_RX_NUM_QPL_PAGES_DQO; - for (; i < num_qpls; i++) { - err = gve_alloc_qpl(priv, i, num_pages, /*single_kva=*/false); - if (err != 0) - goto abort; - } - - return (0); - -abort: - gve_free_qpls(priv); - return (err); -} - -static int -gve_unregister_n_qpls(struct gve_priv *priv, int n) -{ - int err; - int i; - - for (i = 0; i < n; i++) { - err = gve_adminq_unregister_page_list(priv, priv->qpls[i].id); + /* Register TX qpls */ + for (i = 0; i < priv->tx_cfg.num_queues; i++) { + tx = &priv->tx[i]; + com = &tx->com; + err = gve_adminq_register_page_list(priv, com->qpl); if (err != 0) { device_printf(priv->dev, - "Failed to unregister qpl %d, err: %d\n", - priv->qpls[i].id, err); + "Failed to register qpl %d, err: %d\n", + com->qpl->id, err); + /* Caller schedules a reset when this fails */ + return (err); } } - if (err != 0) - return (err); - - return (0); -} - -int -gve_register_qpls(struct gve_priv *priv) -{ - int num_qpls = gve_num_tx_qpls(priv) + gve_num_rx_qpls(priv); - int err; - int i; - - if (gve_get_state_flag(priv, GVE_STATE_FLAG_QPLREG_OK)) - return (0); - - for (i = 0; i < num_qpls; i++) { - err = gve_adminq_register_page_list(priv, &priv->qpls[i]); + /* Register RX qpls */ + for (i = 0; i < priv->rx_cfg.num_queues; i++) { + rx = &priv->rx[i]; + com = &rx->com; + err = gve_adminq_register_page_list(priv, com->qpl); if (err != 0) { device_printf(priv->dev, "Failed to register qpl %d, err: %d\n", - priv->qpls[i].id, err); - goto abort; + com->qpl->id, err); + /* Caller schedules a reset when this fails */ + return (err); } } - gve_set_state_flag(priv, GVE_STATE_FLAG_QPLREG_OK); return (0); - -abort: - gve_unregister_n_qpls(priv, i); - return (err); } int gve_unregister_qpls(struct gve_priv *priv) { - int num_qpls = gve_num_tx_qpls(priv) + gve_num_rx_qpls(priv); int err; + int i; + struct gve_ring_com *com; + struct gve_tx_ring *tx; + struct gve_rx_ring *rx; if (!gve_get_state_flag(priv, GVE_STATE_FLAG_QPLREG_OK)) return (0); - err = gve_unregister_n_qpls(priv, num_qpls); + for (i = 0; i < priv->tx_cfg.num_queues; i++) { + tx = &priv->tx[i]; + com = &tx->com; + err = gve_adminq_unregister_page_list(priv, com->qpl->id); + if (err != 0) { + device_printf(priv->dev, + "Failed to unregister qpl %d, err: %d\n", + com->qpl->id, err); + } + } + + for (i = 0; i < priv->rx_cfg.num_queues; i++) { + rx = &priv->rx[i]; + com = &rx->com; + err = gve_adminq_unregister_page_list(priv, com->qpl->id); + if (err != 0) { + device_printf(priv->dev, + "Failed to unregister qpl %d, err: %d\n", + com->qpl->id, err); + } + } + if (err != 0) return (err); diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c index e540ad6f4c11..e1a228c0e69c 100644 --- a/sys/dev/gve/gve_rx.c +++ b/sys/dev/gve/gve_rx.c @@ -36,6 +36,7 @@ static void gve_rx_free_ring_gqi(struct gve_priv *priv, int i) { struct gve_rx_ring *rx = &priv->rx[i]; + struct gve_ring_com *com = &rx->com; if (rx->page_info != NULL) { free(rx->page_info, M_GVE); @@ -51,6 +52,11 @@ gve_rx_free_ring_gqi(struct gve_priv *priv, int i) gve_dma_free_coherent(&rx->desc_ring_mem); rx->desc_ring = NULL; } + + if (com->qpl != NULL) { + gve_free_qpl(priv, com->qpl); + com->qpl = NULL; + } } static void @@ -113,10 +119,13 @@ gve_rx_alloc_ring_gqi(struct gve_priv *priv, int i) rx->mask = priv->rx_pages_per_qpl - 1; rx->desc_ring = rx->desc_ring_mem.cpu_addr; - com->qpl = &priv->qpls[priv->tx_cfg.max_queues + i]; + com->qpl = gve_alloc_qpl(priv, i + priv->tx_cfg.max_queues, + priv->rx_desc_cnt, /*single_kva=*/false); if (com->qpl == NULL) { - device_printf(priv->dev, "No QPL left for rx ring %d", i); - return (ENOMEM); + device_printf(priv->dev, + "Failed to alloc QPL for rx ring %d", i); + err = ENOMEM; + goto abort; } rx->page_info = malloc(priv->rx_desc_cnt * sizeof(*rx->page_info), diff --git a/sys/dev/gve/gve_rx_dqo.c b/sys/dev/gve/gve_rx_dqo.c index 6ce9ddd887d0..a499ac9d3c6a 100644 --- a/sys/dev/gve/gve_rx_dqo.c +++ b/sys/dev/gve/gve_rx_dqo.c @@ -58,6 +58,7 @@ void gve_rx_free_ring_dqo(struct gve_priv *priv, int i) { struct gve_rx_ring *rx = &priv->rx[i]; + struct gve_ring_com *com = &rx->com; int j; if (rx->dqo.compl_ring != NULL) { @@ -86,6 +87,11 @@ gve_rx_free_ring_dqo(struct gve_priv *priv, int i) if (!gve_is_qpl(priv) && rx->dqo.buf_dmatag) bus_dma_tag_destroy(rx->dqo.buf_dmatag); + + if (com->qpl != NULL) { + gve_free_qpl(priv, com->qpl); + com->qpl = NULL; + } } int @@ -123,10 +129,13 @@ gve_rx_alloc_ring_dqo(struct gve_priv *priv, int i) M_GVE, M_WAITOK | M_ZERO); if (gve_is_qpl(priv)) { - rx->com.qpl = &priv->qpls[priv->tx_cfg.max_queues + i]; + rx->com.qpl = gve_alloc_qpl(priv, i + priv->tx_cfg.max_queues, + GVE_RX_NUM_QPL_PAGES_DQO, /*single_kva=*/false); if (rx->com.qpl == NULL) { - device_printf(priv->dev, "No QPL left for rx ring %d", i); - return (ENOMEM); + device_printf(priv->dev, + "Failed to alloc QPL for rx ring %d", i); + err = ENOMEM; + goto abort; } return (0); } diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index 04dde4f1a79b..e594c66149bc 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -52,6 +52,7 @@ static void gve_tx_free_ring_gqi(struct gve_priv *priv, int i) { struct gve_tx_ring *tx = &priv->tx[i]; + struct gve_ring_com *com = &tx->com; if (tx->desc_ring != NULL) { gve_dma_free_coherent(&tx->desc_ring_mem); @@ -62,6 +63,11 @@ gve_tx_free_ring_gqi(struct gve_priv *priv, int i) free(tx->info, M_GVE); tx->info = NULL; } + + if (com->qpl != NULL) { + gve_free_qpl(priv, com->qpl); + com->qpl = NULL; + } } static void @@ -109,9 +115,11 @@ gve_tx_alloc_ring_gqi(struct gve_priv *priv, int i) } tx->desc_ring = tx->desc_ring_mem.cpu_addr; - com->qpl = &priv->qpls[i]; + com->qpl = gve_alloc_qpl(priv, i, priv->tx_desc_cnt / GVE_QPL_DIVISOR, + /*single_kva=*/true); if (com->qpl == NULL) { - device_printf(priv->dev, "No QPL left for tx ring %d\n", i); + device_printf(priv->dev, + "Failed to alloc QPL for tx ring %d\n", i); err = ENOMEM; goto abort; } diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index bf314ef95173..7361d47b8ce6 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -75,6 +75,7 @@ void gve_tx_free_ring_dqo(struct gve_priv *priv, int i) { struct gve_tx_ring *tx = &priv->tx[i]; + struct gve_ring_com *com = &tx->com; int j; if (tx->dqo.desc_ring != NULL) { @@ -109,6 +110,11 @@ gve_tx_free_ring_dqo(struct gve_priv *priv, int i) free(tx->dqo.qpl_bufs, M_GVE); tx->dqo.qpl_bufs = NULL; } + + if (com->qpl != NULL) { + gve_free_qpl(priv, com->qpl); + com->qpl = NULL; + } } static int @@ -210,7 +216,15 @@ gve_tx_alloc_ring_dqo(struct gve_priv *priv, int i) if (gve_is_qpl(priv)) { int qpl_buf_cnt; - tx->com.qpl = &priv->qpls[i]; + tx->com.qpl = gve_alloc_qpl(priv, i, GVE_TX_NUM_QPL_PAGES_DQO, + /*single_kva*/false); + if (tx->com.qpl == NULL) { + device_printf(priv->dev, + "Failed to alloc QPL for tx ring %d", i); + err = ENOMEM; + goto abort; + } + qpl_buf_cnt = GVE_TX_BUFS_PER_PAGE_DQO * tx->com.qpl->num_pages; From nobody Fri Apr 18 14:00:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfGcL6CWnz5srLZ; Fri, 18 Apr 2025 14:00: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 4ZfGcL5KhKz42K8; Fri, 18 Apr 2025 14:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F50GeY2TpR1XDnXmeKWuYmUkyndEr1U3VAkQUQBE+j8=; b=GVusZZ23XoGyzlKddzZhV+5ORUzwGXILqy85j7UdQgs1lH4z3eSMvZexQKpCnuc1AHwZmo +t9ReO18/5fwHL+Fm2Ngru/I41DTBAKO+CK8Fuejn9z8G+SsQxRmtgbt/CUFwU/QRZNkrA DISGlviChwpPo7Rwxm1EOMz9rbtatXJAgdA0EOOoemdfWmB0SqQZnR1yBfMSPe9uoLAhWi yk8qV2CUzTlsAwUyhQPwySxftoTCzG0OUzgPduKY0diud3qJsG1kwQUjlL1KJUCjeD2O/H 6VmO1PGd0e7NwmzcSmgEZmajtN7yrhsUpwnk5I+7jtXLEP0W3vT4Oc4GGoRkNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744984818; a=rsa-sha256; cv=none; b=G/eCcPrLCG1Ud3DOEeZkt5nhcfEvjpLlmTzblmGnx9/ayhxhPj1+bFY3HZ9bczEZW6hWL6 4+OztpwlHwe2ccGPrmpvOGUodLLJYy8O9gBlFWM7LuSqrEoa/tSLaG1HkcGFrKtU3fy+Wm F2ez05QcvCEMSTSc4zSZN9uJu0GKk7t4owKwqZ9eDv/jp3hjiTuSZIdwU9IZUW+r/o0NGg DXHkd5Co1kF6XnRCcb7FE3Llz83wzdGejx0rSIywMaSC9PRm7/nLovy7HuFRiFLq1cM66M h1tnevwUsDg0bxUtUoyY7Qb6/DV/xdK/1XhgYMF/nPijCYLpv8wLZgbI9J8ZPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F50GeY2TpR1XDnXmeKWuYmUkyndEr1U3VAkQUQBE+j8=; b=XWOAYurJiuANbqVv7MfEMkUCbtOPnXxRvPnVD/V4KsE344IwU2hjZRnvczeGIwjX8biyja Rm2780BRpQT6bszxa/VHRsVPFqBIA+M35wBnZrsfsKlSjLpmpoFJxfhsd+cnnOaPmthYtR 3qSBLsbEk03ZcaTgH1l29andAG9bsRTn9Np7s1eLuC1jkBx4a359QK65VKE4/vOMPiZ8Ax SIAHv1z86akvn1PUwxGkeKKEfzhjbut1SpYLRp7IA4oss45XqDXytNbpwl22U3cV1emsnB EP+hd7h5Ks/dWhmJOgJ3o7NiWp+PNt+EdtzVFhxSaSI3WRYvrRnKAKGju7Uc6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfGcL4wKLzdCK; Fri, 18 Apr 2025 14:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IE0IWo025752; Fri, 18 Apr 2025 14:00:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IE0IBP025747; Fri, 18 Apr 2025 14:00:18 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:00:18 GMT Message-Id: <202504181400.53IE0IBP025747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: ecc250c60049 - stable/14 - gve: Add feature to adjust RX/TX queue counts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ecc250c60049f0fbf80fb0d49db1fd5a70cf198f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ecc250c60049f0fbf80fb0d49db1fd5a70cf198f commit ecc250c60049f0fbf80fb0d49db1fd5a70cf198f Author: Vee Agarwal AuthorDate: 2025-04-04 22:53:32 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 13:52:09 +0000 gve: Add feature to adjust RX/TX queue counts This change introduces new sysctl handlers that allow the user to change RX/TX queue counts. As before, the default queue counts will be the max value the device can support. When chaning queue counts, the interface turns down momentarily while allocating/freeing resources as necessary. Signed-off-by: Vee Agarwal Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49427 (cherry picked from commit e0464f74d5579e1538ce741b0a15e6604dbc53c4) --- share/man/man4/gve.4 | 19 +++++++++++ sys/dev/gve/gve.h | 10 +++--- sys/dev/gve/gve_main.c | 88 +++++++++++++++++++++++++++++++++++++++++++++--- sys/dev/gve/gve_rx.c | 20 ++++------- sys/dev/gve/gve_sysctl.c | 83 +++++++++++++++++++++++++++++++++++++++++++++ sys/dev/gve/gve_tx.c | 21 ++++-------- sys/dev/gve/gve_utils.c | 6 ++-- 7 files changed, 208 insertions(+), 39 deletions(-) diff --git a/share/man/man4/gve.4 b/share/man/man4/gve.4 index 8c2b3cabbd38..297f1071b4cd 100644 --- a/share/man/man4/gve.4 +++ b/share/man/man4/gve.4 @@ -79,6 +79,13 @@ binds to a single PCI device ID presented by gVNIC: .It 0x1AE0:0x0042 .El +.Sh EXAMPLES +.Pp +Change the TX queue count to 4 for the gve0 interface: +.D1 sysctl dev.gve.0.num_tx_queues=4 +.Pp +Change the RX queue count to 4 for the gve0 interface: +.D1 sysctl dev.gve.0.num_rx_queues=4 .Sh DIAGNOSTICS The following messages are recorded during driver initialization: .Bl -diag @@ -211,6 +218,18 @@ The default value is 0, which means hardware LRO is enabled by default. The software LRO stack in the kernel is always used. This sysctl variable needs to be set before loading the driver, using .Xr loader.conf 5 . +.It Va dev.gve.X.num_rx_queues and dev.gve.X.num_tx_queues +Run-time tunables that represent the number of currently used RX/TX queues. +The default value is the max number of RX/TX queues the device can support. +.Pp +This call turns down the interface while setting up the new queues, +which may potentially cause any new packets to be dropped. +This call can fail if the system is not able to provide the driver with enough resources. +In that situation, the driver will revert to the previous number of RX/TX queues. +If this also fails, a device reset will be triggered. +.Pp +Note: sysctl nodes for queue stats remain available even if a queue is removed. +.Pp .El .Sh LIMITATIONS .Nm diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index bf15eb3ccabc..2b49ee5ad45a 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -620,6 +620,8 @@ gve_is_qpl(struct gve_priv *priv) /* Defined in gve_main.c */ void gve_schedule_reset(struct gve_priv *priv); +int gve_adjust_tx_queues(struct gve_priv *priv, uint16_t new_queue_cnt); +int gve_adjust_rx_queues(struct gve_priv *priv, uint16_t new_queue_cnt); /* Register access functions defined in gve_utils.c */ uint32_t gve_reg_bar_read_4(struct gve_priv *priv, bus_size_t offset); @@ -636,8 +638,8 @@ int gve_unregister_qpls(struct gve_priv *priv); void gve_mextadd_free(struct mbuf *mbuf); /* TX functions defined in gve_tx.c */ -int gve_alloc_tx_rings(struct gve_priv *priv); -void gve_free_tx_rings(struct gve_priv *priv); +int gve_alloc_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx); +void gve_free_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx); int gve_create_tx_rings(struct gve_priv *priv); int gve_destroy_tx_rings(struct gve_priv *priv); int gve_tx_intr(void *arg); @@ -656,8 +658,8 @@ int gve_xmit_dqo_qpl(struct gve_tx_ring *tx, struct mbuf *mbuf); void gve_tx_cleanup_tq_dqo(void *arg, int pending); /* RX functions defined in gve_rx.c */ -int gve_alloc_rx_rings(struct gve_priv *priv); -void gve_free_rx_rings(struct gve_priv *priv); +int gve_alloc_rx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx); +void gve_free_rx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx); int gve_create_rx_rings(struct gve_priv *priv); int gve_destroy_rx_rings(struct gve_priv *priv); int gve_rx_intr(void *arg); diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 72e7fc2e3f89..39556b85f493 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -192,6 +192,74 @@ reset: gve_schedule_reset(priv); } +int +gve_adjust_rx_queues(struct gve_priv *priv, uint16_t new_queue_cnt) +{ + int err; + + GVE_IFACE_LOCK_ASSERT(priv->gve_iface_lock); + + gve_down(priv); + + if (new_queue_cnt < priv->rx_cfg.num_queues) { + /* + * Freeing a ring still preserves its ntfy_id, + * which is needed if we create the ring again. + */ + gve_free_rx_rings(priv, new_queue_cnt, priv->rx_cfg.num_queues); + } else { + err = gve_alloc_rx_rings(priv, priv->rx_cfg.num_queues, new_queue_cnt); + if (err != 0) { + device_printf(priv->dev, "Failed to allocate new queues"); + /* Failed to allocate rings, start back up with old ones */ + gve_up(priv); + return (err); + + } + } + priv->rx_cfg.num_queues = new_queue_cnt; + + err = gve_up(priv); + if (err != 0) + gve_schedule_reset(priv); + + return (err); +} + +int +gve_adjust_tx_queues(struct gve_priv *priv, uint16_t new_queue_cnt) +{ + int err; + + GVE_IFACE_LOCK_ASSERT(priv->gve_iface_lock); + + gve_down(priv); + + if (new_queue_cnt < priv->tx_cfg.num_queues) { + /* + * Freeing a ring still preserves its ntfy_id, + * which is needed if we create the ring again. + */ + gve_free_tx_rings(priv, new_queue_cnt, priv->tx_cfg.num_queues); + } else { + err = gve_alloc_tx_rings(priv, priv->tx_cfg.num_queues, new_queue_cnt); + if (err != 0) { + device_printf(priv->dev, "Failed to allocate new queues"); + /* Failed to allocate rings, start back up with old ones */ + gve_up(priv); + return (err); + + } + } + priv->tx_cfg.num_queues = new_queue_cnt; + + err = gve_up(priv); + if (err != 0) + gve_schedule_reset(priv); + + return (err); +} + static int gve_set_mtu(if_t ifp, uint32_t new_mtu) { @@ -480,8 +548,14 @@ static void gve_free_rings(struct gve_priv *priv) { gve_free_irqs(priv); - gve_free_tx_rings(priv); - gve_free_rx_rings(priv); + + gve_free_tx_rings(priv, 0, priv->tx_cfg.num_queues); + free(priv->tx, M_GVE); + priv->tx = NULL; + + gve_free_rx_rings(priv, 0, priv->rx_cfg.num_queues); + free(priv->rx, M_GVE); + priv->rx = NULL; } static int @@ -489,11 +563,15 @@ gve_alloc_rings(struct gve_priv *priv) { int err; - err = gve_alloc_rx_rings(priv); + priv->rx = malloc(sizeof(struct gve_rx_ring) * priv->rx_cfg.max_queues, + M_GVE, M_WAITOK | M_ZERO); + err = gve_alloc_rx_rings(priv, 0, priv->rx_cfg.num_queues); if (err != 0) goto abort; - err = gve_alloc_tx_rings(priv); + priv->tx = malloc(sizeof(struct gve_tx_ring) * priv->tx_cfg.max_queues, + M_GVE, M_WAITOK | M_ZERO); + err = gve_alloc_tx_rings(priv, 0, priv->tx_cfg.num_queues); if (err != 0) goto abort; @@ -595,7 +673,7 @@ gve_set_queue_cnts(struct gve_priv *priv) priv->rx_cfg.num_queues); } - priv->num_queues = priv->tx_cfg.num_queues + priv->rx_cfg.num_queues; + priv->num_queues = priv->tx_cfg.max_queues + priv->rx_cfg.max_queues; priv->mgmt_msix_idx = priv->num_queues; } diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c index e1a228c0e69c..de64375ac4f3 100644 --- a/sys/dev/gve/gve_rx.c +++ b/sys/dev/gve/gve_rx.c @@ -185,38 +185,32 @@ abort: } int -gve_alloc_rx_rings(struct gve_priv *priv) +gve_alloc_rx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx) { - int err = 0; int i; + int err; - priv->rx = malloc(sizeof(struct gve_rx_ring) * priv->rx_cfg.num_queues, - M_GVE, M_WAITOK | M_ZERO); + KASSERT(priv->rx != NULL, ("priv->rx is NULL!")); - for (i = 0; i < priv->rx_cfg.num_queues; i++) { + for (i = start_idx; i < stop_idx; i++) { err = gve_rx_alloc_ring(priv, i); if (err != 0) goto free_rings; } return (0); - free_rings: - while (i--) - gve_rx_free_ring(priv, i); - free(priv->rx, M_GVE); + gve_free_rx_rings(priv, start_idx, i); return (err); } void -gve_free_rx_rings(struct gve_priv *priv) +gve_free_rx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx) { int i; - for (i = 0; i < priv->rx_cfg.num_queues; i++) + for (i = start_idx; i < stop_idx; i++) gve_rx_free_ring(priv, i); - - free(priv->rx, M_GVE); } static void diff --git a/sys/dev/gve/gve_sysctl.c b/sys/dev/gve/gve_sysctl.c index c96d082837a4..8f52ffad6f3e 100644 --- a/sys/dev/gve/gve_sysctl.c +++ b/sys/dev/gve/gve_sysctl.c @@ -285,6 +285,88 @@ gve_setup_main_stat_sysctl(struct sysctl_ctx_list *ctx, &priv->reset_cnt, 0, "Times reset"); } +static int +gve_check_num_queues(struct gve_priv *priv, int val, bool is_rx) +{ + if (val < 1) { + device_printf(priv->dev, + "Requested num queues (%u) must be a positive integer\n", val); + return (EINVAL); + } + + if (val > (is_rx ? priv->rx_cfg.max_queues : priv->tx_cfg.max_queues)) { + device_printf(priv->dev, + "Requested num queues (%u) is too large\n", val); + return (EINVAL); + } + + return (0); +} + +static int +gve_sysctl_num_tx_queues(SYSCTL_HANDLER_ARGS) +{ + struct gve_priv *priv = arg1; + int val; + int err; + + val = priv->tx_cfg.num_queues; + err = sysctl_handle_int(oidp, &val, 0, req); + if (err != 0 || req->newptr == NULL) + return (err); + + err = gve_check_num_queues(priv, val, /*is_rx=*/false); + if (err != 0) + return (err); + + if (val != priv->tx_cfg.num_queues) { + GVE_IFACE_LOCK_LOCK(priv->gve_iface_lock); + err = gve_adjust_tx_queues(priv, val); + GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); + } + + return (err); +} + +static int +gve_sysctl_num_rx_queues(SYSCTL_HANDLER_ARGS) +{ + struct gve_priv *priv = arg1; + int val; + int err; + + val = priv->rx_cfg.num_queues; + err = sysctl_handle_int(oidp, &val, 0, req); + if (err != 0 || req->newptr == NULL) + return (err); + + err = gve_check_num_queues(priv, val, /*is_rx=*/true); + + if (err != 0) + return (err); + + if (val != priv->rx_cfg.num_queues) { + GVE_IFACE_LOCK_LOCK(priv->gve_iface_lock); + err = gve_adjust_rx_queues(priv, val); + GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); + } + + return (err); +} + +static void +gve_setup_sysctl_writables(struct sysctl_ctx_list *ctx, + struct sysctl_oid_list *child, struct gve_priv *priv) +{ + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "num_tx_queues", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, + gve_sysctl_num_tx_queues, "I", "Number of TX queues"); + + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "num_rx_queues", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, + gve_sysctl_num_rx_queues, "I", "Number of RX queues"); +} + void gve_setup_sysctl(struct gve_priv *priv) { device_t dev; @@ -300,6 +382,7 @@ void gve_setup_sysctl(struct gve_priv *priv) gve_setup_queue_stat_sysctl(ctx, child, priv); gve_setup_adminq_stat_sysctl(ctx, child, priv); gve_setup_main_stat_sysctl(ctx, child, priv); + gve_setup_sysctl_writables(ctx, child, priv); } void diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index e594c66149bc..b667df4ca06e 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -181,39 +181,32 @@ abort: } int -gve_alloc_tx_rings(struct gve_priv *priv) +gve_alloc_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx) { - int err = 0; int i; + int err; - priv->tx = malloc(sizeof(struct gve_tx_ring) * priv->tx_cfg.num_queues, - M_GVE, M_WAITOK | M_ZERO); + KASSERT(priv->tx != NULL, ("priv->tx is NULL!")); - for (i = 0; i < priv->tx_cfg.num_queues; i++) { + for (i = start_idx; i < stop_idx; i++) { err = gve_tx_alloc_ring(priv, i); if (err != 0) goto free_rings; - } return (0); - free_rings: - while (i--) - gve_tx_free_ring(priv, i); - free(priv->tx, M_GVE); + gve_free_tx_rings(priv, start_idx, i); return (err); } void -gve_free_tx_rings(struct gve_priv *priv) +gve_free_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx) { int i; - for (i = 0; i < priv->tx_cfg.num_queues; i++) + for (i = start_idx; i < stop_idx; i++) gve_tx_free_ring(priv, i); - - free(priv->tx, M_GVE); } static void diff --git a/sys/dev/gve/gve_utils.c b/sys/dev/gve/gve_utils.c index 080343d3f651..4e9dd4625e2f 100644 --- a/sys/dev/gve/gve_utils.c +++ b/sys/dev/gve/gve_utils.c @@ -234,7 +234,7 @@ gve_free_irqs(struct gve_priv *priv) return; } - num_irqs = priv->tx_cfg.num_queues + priv->rx_cfg.num_queues + 1; + num_irqs = priv->tx_cfg.max_queues + priv->rx_cfg.max_queues + 1; for (i = 0; i < num_irqs; i++) { irq = &priv->irq_tbl[i]; @@ -268,8 +268,8 @@ gve_free_irqs(struct gve_priv *priv) int gve_alloc_irqs(struct gve_priv *priv) { - int num_tx = priv->tx_cfg.num_queues; - int num_rx = priv->rx_cfg.num_queues; + int num_tx = priv->tx_cfg.max_queues; + int num_rx = priv->rx_cfg.max_queues; int req_nvecs = num_tx + num_rx + 1; int got_nvecs = req_nvecs; struct gve_irq *irq; From nobody Fri Apr 18 14:00:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfGcN06VFz5srB5; Fri, 18 Apr 2025 14:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfGcM6BClz42GZ; Fri, 18 Apr 2025 14:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJNxFIAa01ZoPn0KIT5DMtZ2eQETeo1lLysZyYLmtv4=; b=Agi9jvRI7HLKOfCunMcseRtQ+3XseXWCFj0ebMm3uiWzNE/XjmixGuBBeIi9f0Mw2B8Xc/ 35E/xxmKwD2f1/8HUC8P5JHtXIEyOfSewCAV5oVpF0MiyIkLhY+w7ol/h578YJfCwBNGT3 DU2MjeVksMRV8p+PXDSHWd/qUQ55W87J86JAgITdQ8/P2gUr/VSkL/zHKg4Rw0XUU/ml7C 3Zqvd3B1DJgR6sRbR6gHRRb+lmdtnopq29lIvSehasKWECJGnzck04KWlWayigWQ3yE6RE 82OQeHzefx7et9OahTAKmBIgmRyvd9l84Xker1UOSvvKjDM0FHdgn1UOSkJ3xg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744984819; a=rsa-sha256; cv=none; b=yYRz1OdfPzBYRXAWbQi2N/N5+JgWuKnx3efx5PeW/8fsNfiqqqK/Vyk117K9hoajDNRMcG gHFcwC5fC0UhX3mgW80ZPogWfmaEACn2KV8SfulHaz/keIUByxh7KBw4zM1VQyzABc/0EQ IKvTto5UtRvHYMxbw9a3ZDoaepJmhg2EAMIrsRDS+Se1lf+CvMfu9bsPeKBpn+/icEoHF4 y+ZBS4GwtJDxc5gCE4d6csoQk+bbP4pV/XZBcseG97jqOGWJNHkoPYdNFsGT1g8i23hs4u j3Ehp52TVuyARWhrwFmuC7qdK533VuL1pKHBQslhaaysgOxwuoiZKgx7Eb2jwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJNxFIAa01ZoPn0KIT5DMtZ2eQETeo1lLysZyYLmtv4=; b=p+fiHEK8KpN0GpbwmI+324zHve/knC/Zrh5aEp/Ss81QHhrpl28HmekdhT8D1dIR2s8EtJ 8q2wdpmA43vjPabIWxI4HCirYwZQqsfngl6miJ1Rzp0D0yA/YzXcndiSQBflAZ0Q0Gkh8W gEECALT4J3AzHwkpvB4KS5SMJa5hWCfijwVNMbfMuAk7UewONfu6mshlP7PVPZwf4SGnq5 quIaumSYU2wupcC2JXt1ynZFL4j2zfo2siTaXGUF2QxabOUQdF69SiiP+yc7N5fXv5XMyI rcbEyoJc93lYDRo7TDnWqPWaDr9RuQYSsNrx1zRwQVGr18gu7AqjA1preBcvbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfGcM5bnyzdCL; Fri, 18 Apr 2025 14:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IE0J1X025790; Fri, 18 Apr 2025 14:00:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IE0JRI025787; Fri, 18 Apr 2025 14:00:19 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:00:19 GMT Message-Id: <202504181400.53IE0JRI025787@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9a24acc6c8a6 - stable/14 - gve: Add feature to change TX/RX ring size List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a24acc6c8a6cc707572251902e12b5616e6afbd Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9a24acc6c8a6cc707572251902e12b5616e6afbd commit 9a24acc6c8a6cc707572251902e12b5616e6afbd Author: Vee Agarwal AuthorDate: 2025-04-04 22:53:33 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 13:52:10 +0000 gve: Add feature to change TX/RX ring size This change introduces new sysctl handlers that allow the user to change RX/TX ring sizes. As before, the default ring sizes will come from the device (usually 1024). We also get the max/min limits from the device. In the case min values are not provided we have statically defined constants for the min values. Additionally, if the modify ring option is not enabled on the device, changing ring sizes via sysctl will not be possible. When changing ring sizes, the interface turns down momentarily while allocating/freeing resources as necessary. Signed-off-by: Vee Agarwal Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49428 (cherry picked from commit 22fe926a62b7bca771d46502dd6a8c202f25b5be) --- share/man/man4/gve.4 | 17 ++++++++++ sys/dev/gve/gve.h | 10 ++++++ sys/dev/gve/gve_adminq.c | 53 ++++++++++++++++++++++++++++- sys/dev/gve/gve_adminq.h | 14 ++++++-- sys/dev/gve/gve_main.c | 52 +++++++++++++++++++++++++++-- sys/dev/gve/gve_sysctl.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 227 insertions(+), 6 deletions(-) diff --git a/share/man/man4/gve.4 b/share/man/man4/gve.4 index 297f1071b4cd..32f5d2819e0d 100644 --- a/share/man/man4/gve.4 +++ b/share/man/man4/gve.4 @@ -86,6 +86,12 @@ Change the TX queue count to 4 for the gve0 interface: .Pp Change the RX queue count to 4 for the gve0 interface: .D1 sysctl dev.gve.0.num_rx_queues=4 +.Pp +Change the TX ring size to 512 for the gve0 interface: +.D1 sysctl dev.gve.0.tx_ring_size=512 +.Pp +Change the RX ring size to 512 for the gve0 interface: +.D1 sysctl dev.gve.0.rx_ring_size=512 .Sh DIAGNOSTICS The following messages are recorded during driver initialization: .Bl -diag @@ -230,6 +236,17 @@ If this also fails, a device reset will be triggered. .Pp Note: sysctl nodes for queue stats remain available even if a queue is removed. .Pp +.It Va dev.gve.X.rx_ring_size and dev.gve.X.tx_ring_size +Run-time tunables that represent the current ring size for RX/TX queues. +The default value is set to device defaults for ring size. +.Pp +This call turns down the interface while setting up the queues with the new ring size, +which may potentially cause any new packets to be dropped. +This call can fail if the system is not able to provide the driver with enough resources. +In that situation, the driver will try to revert to the previous ring size for RX/TX queues. +If this also fails, the device will be in an unhealthy state and will need to be reloaded. +This value must be a power of 2 and within the defined range. +.Pp .El .Sh LIMITATIONS .Nm diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 2b49ee5ad45a..5b298b889ed6 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -63,6 +63,10 @@ */ #define GVE_QPL_DIVISOR 16 +/* Ring Size Limits */ +#define GVE_DEFAULT_MIN_RX_RING_SIZE 512 +#define GVE_DEFAULT_MIN_TX_RING_SIZE 256 + static MALLOC_DEFINE(M_GVE, "gve", "gve allocations"); struct gve_dma_handle { @@ -529,12 +533,17 @@ struct gve_priv { uint16_t num_event_counters; uint16_t default_num_queues; uint16_t tx_desc_cnt; + uint16_t max_tx_desc_cnt; + uint16_t min_tx_desc_cnt; uint16_t rx_desc_cnt; + uint16_t max_rx_desc_cnt; + uint16_t min_rx_desc_cnt; uint16_t rx_pages_per_qpl; uint64_t max_registered_pages; uint64_t num_registered_pages; uint32_t supported_features; uint16_t max_mtu; + bool modify_ringsize_enabled; struct gve_dma_handle counter_array_mem; __be32 *counters; @@ -622,6 +631,7 @@ gve_is_qpl(struct gve_priv *priv) void gve_schedule_reset(struct gve_priv *priv); int gve_adjust_tx_queues(struct gve_priv *priv, uint16_t new_queue_cnt); int gve_adjust_rx_queues(struct gve_priv *priv, uint16_t new_queue_cnt); +int gve_adjust_ring_sizes(struct gve_priv *priv, uint16_t new_desc_cnt, bool is_rx); /* Register access functions defined in gve_utils.c */ uint32_t gve_reg_bar_read_4(struct gve_priv *priv, bus_size_t offset); diff --git a/sys/dev/gve/gve_adminq.c b/sys/dev/gve/gve_adminq.c index dd03f817f45a..3415d2fa4b60 100644 --- a/sys/dev/gve/gve_adminq.c +++ b/sys/dev/gve/gve_adminq.c @@ -59,6 +59,7 @@ void gve_parse_device_option(struct gve_priv *priv, struct gve_device_option_gqi_qpl **dev_op_gqi_qpl, struct gve_device_option_dqo_rda **dev_op_dqo_rda, struct gve_device_option_dqo_qpl **dev_op_dqo_qpl, + struct gve_device_option_modify_ring **dev_op_modify_ring, struct gve_device_option_jumbo_frames **dev_op_jumbo_frames) { uint32_t req_feat_mask = be32toh(option->required_features_mask); @@ -121,6 +122,34 @@ void gve_parse_device_option(struct gve_priv *priv, *dev_op_dqo_qpl = (void *)(option + 1); break; + case GVE_DEV_OPT_ID_MODIFY_RING: + if (option_length < (sizeof(**dev_op_modify_ring) - + sizeof(struct gve_ring_size_bound)) || + req_feat_mask != GVE_DEV_OPT_REQ_FEAT_MASK_MODIFY_RING) { + device_printf(priv->dev, GVE_DEVICE_OPTION_ERROR_FMT, + "Modify Ring", (int)sizeof(**dev_op_modify_ring), + GVE_DEV_OPT_REQ_FEAT_MASK_MODIFY_RING, + option_length, req_feat_mask); + break; + } + + if (option_length > sizeof(**dev_op_modify_ring)) { + device_printf(priv->dev, GVE_DEVICE_OPTION_TOO_BIG_FMT, + "Modify Ring"); + } + *dev_op_modify_ring = (void *)(option + 1); + + /* Min ring size included; set the minimum ring size. */ + if (option_length == sizeof(**dev_op_modify_ring)) { + priv->min_rx_desc_cnt = max( + be16toh((*dev_op_modify_ring)->min_ring_size.rx), + GVE_DEFAULT_MIN_RX_RING_SIZE); + priv->min_tx_desc_cnt = max( + be16toh((*dev_op_modify_ring)->min_ring_size.tx), + GVE_DEFAULT_MIN_TX_RING_SIZE); + } + break; + case GVE_DEV_OPT_ID_JUMBO_FRAMES: if (option_length < sizeof(**dev_op_jumbo_frames) || req_feat_mask != GVE_DEV_OPT_REQ_FEAT_MASK_JUMBO_FRAMES) { @@ -155,6 +184,7 @@ gve_process_device_options(struct gve_priv *priv, struct gve_device_option_gqi_qpl **dev_op_gqi_qpl, struct gve_device_option_dqo_rda **dev_op_dqo_rda, struct gve_device_option_dqo_qpl **dev_op_dqo_qpl, + struct gve_device_option_modify_ring **dev_op_modify_ring, struct gve_device_option_jumbo_frames **dev_op_jumbo_frames) { char *desc_end = (char *)descriptor + be16toh(descriptor->total_length); @@ -176,6 +206,7 @@ gve_process_device_options(struct gve_priv *priv, dev_op_gqi_qpl, dev_op_dqo_rda, dev_op_dqo_qpl, + dev_op_modify_ring, dev_op_jumbo_frames); dev_opt = (void *)((char *)(dev_opt + 1) + be16toh(dev_opt->option_length)); } @@ -390,8 +421,18 @@ gve_adminq_set_mtu(struct gve_priv *priv, uint32_t mtu) { static void gve_enable_supported_features(struct gve_priv *priv, uint32_t supported_features_mask, + const struct gve_device_option_modify_ring *dev_op_modify_ring, const struct gve_device_option_jumbo_frames *dev_op_jumbo_frames) { + if (dev_op_modify_ring && + (supported_features_mask & GVE_SUP_MODIFY_RING_MASK)) { + if (bootverbose) + device_printf(priv->dev, "MODIFY RING device option enabled.\n"); + priv->modify_ringsize_enabled = true; + priv->max_rx_desc_cnt = be16toh(dev_op_modify_ring->max_ring_size.rx); + priv->max_tx_desc_cnt = be16toh(dev_op_modify_ring->max_ring_size.tx); + } + if (dev_op_jumbo_frames && (supported_features_mask & GVE_SUP_JUMBO_FRAMES_MASK)) { if (bootverbose) @@ -410,6 +451,7 @@ gve_adminq_describe_device(struct gve_priv *priv) struct gve_device_option_gqi_qpl *dev_op_gqi_qpl = NULL; struct gve_device_option_dqo_rda *dev_op_dqo_rda = NULL; struct gve_device_option_dqo_qpl *dev_op_dqo_qpl = NULL; + struct gve_device_option_modify_ring *dev_op_modify_ring = NULL; struct gve_device_option_jumbo_frames *dev_op_jumbo_frames = NULL; uint32_t supported_features_mask = 0; int rc; @@ -438,10 +480,15 @@ gve_adminq_describe_device(struct gve_priv *priv) bus_dmamap_sync(desc_mem.tag, desc_mem.map, BUS_DMASYNC_POSTREAD); + /* Default min in case device options don't have min values */ + priv->min_rx_desc_cnt = GVE_DEFAULT_MIN_RX_RING_SIZE; + priv->min_tx_desc_cnt = GVE_DEFAULT_MIN_TX_RING_SIZE; + rc = gve_process_device_options(priv, desc, &dev_op_gqi_qpl, &dev_op_dqo_rda, &dev_op_dqo_qpl, + &dev_op_modify_ring, &dev_op_jumbo_frames); if (rc != 0) goto free_device_descriptor; @@ -489,8 +536,12 @@ gve_adminq_describe_device(struct gve_priv *priv) priv->default_num_queues = be16toh(desc->default_num_queues); priv->supported_features = supported_features_mask; + /* Default max to current in case modify ring size option is disabled */ + priv->max_rx_desc_cnt = priv->rx_desc_cnt; + priv->max_tx_desc_cnt = priv->tx_desc_cnt; + gve_enable_supported_features(priv, supported_features_mask, - dev_op_jumbo_frames); + dev_op_modify_ring, dev_op_jumbo_frames); for (i = 0; i < ETHER_ADDR_LEN; i++) priv->mac[i] = desc->mac[i]; diff --git a/sys/dev/gve/gve_adminq.h b/sys/dev/gve/gve_adminq.h index 37a7cb3ecbb8..bc51046a3037 100644 --- a/sys/dev/gve/gve_adminq.h +++ b/sys/dev/gve/gve_adminq.h @@ -153,13 +153,21 @@ struct gve_device_option_dqo_qpl { _Static_assert(sizeof(struct gve_device_option_dqo_qpl) == 8, "gve: bad admin queue struct length"); +struct gve_ring_size_bound { + __be16 rx; + __be16 tx; +}; + +_Static_assert(sizeof(struct gve_ring_size_bound) == 4, + "gve: bad admin queue struct length"); + struct gve_device_option_modify_ring { __be32 supported_features_mask; - __be16 max_rx_ring_size; - __be16 max_tx_ring_size; + struct gve_ring_size_bound max_ring_size; + struct gve_ring_size_bound min_ring_size; }; -_Static_assert(sizeof(struct gve_device_option_modify_ring) == 8, +_Static_assert(sizeof(struct gve_device_option_modify_ring) == 12, "gve: bad admin queue struct length"); struct gve_device_option_jumbo_frames { diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 39556b85f493..8a00deedef36 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -32,10 +32,10 @@ #include "gve_adminq.h" #include "gve_dqo.h" -#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.2\n" +#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.3\n" #define GVE_VERSION_MAJOR 1 #define GVE_VERSION_MINOR 3 -#define GVE_VERSION_SUB 2 +#define GVE_VERSION_SUB 3 #define GVE_DEFAULT_RX_COPYBREAK 256 @@ -260,6 +260,54 @@ gve_adjust_tx_queues(struct gve_priv *priv, uint16_t new_queue_cnt) return (err); } +int +gve_adjust_ring_sizes(struct gve_priv *priv, uint16_t new_desc_cnt, bool is_rx) +{ + int err; + uint16_t prev_desc_cnt; + + GVE_IFACE_LOCK_ASSERT(priv->gve_iface_lock); + + gve_down(priv); + + if (is_rx) { + gve_free_rx_rings(priv, 0, priv->rx_cfg.num_queues); + prev_desc_cnt = priv->rx_desc_cnt; + priv->rx_desc_cnt = new_desc_cnt; + err = gve_alloc_rx_rings(priv, 0, priv->rx_cfg.num_queues); + if (err != 0) { + device_printf(priv->dev, + "Failed to allocate rings. Trying to start back up with previous ring size."); + priv->rx_desc_cnt = prev_desc_cnt; + err = gve_alloc_rx_rings(priv, 0, priv->rx_cfg.num_queues); + } + } else { + gve_free_tx_rings(priv, 0, priv->tx_cfg.num_queues); + prev_desc_cnt = priv->tx_desc_cnt; + priv->tx_desc_cnt = new_desc_cnt; + err = gve_alloc_tx_rings(priv, 0, priv->tx_cfg.num_queues); + if (err != 0) { + device_printf(priv->dev, + "Failed to allocate rings. Trying to start back up with previous ring size."); + priv->tx_desc_cnt = prev_desc_cnt; + err = gve_alloc_tx_rings(priv, 0, priv->tx_cfg.num_queues); + } + } + + if (err != 0) { + device_printf(priv->dev, "Failed to allocate rings! Cannot start device back up!"); + return (err); + } + + err = gve_up(priv); + if (err != 0) { + gve_schedule_reset(priv); + return (err); + } + + return (0); +} + static int gve_set_mtu(if_t ifp, uint32_t new_mtu) { diff --git a/sys/dev/gve/gve_sysctl.c b/sys/dev/gve/gve_sysctl.c index 8f52ffad6f3e..f7c7b5803865 100644 --- a/sys/dev/gve/gve_sysctl.c +++ b/sys/dev/gve/gve_sysctl.c @@ -354,6 +354,83 @@ gve_sysctl_num_rx_queues(SYSCTL_HANDLER_ARGS) return (err); } +static int +gve_check_ring_size(struct gve_priv *priv, int val, bool is_rx) +{ + if (!powerof2(val) || val == 0) { + device_printf(priv->dev, + "Requested ring size (%u) must be a power of 2\n", val); + return (EINVAL); + } + + if (val < (is_rx ? priv->min_rx_desc_cnt : priv->min_tx_desc_cnt)) { + device_printf(priv->dev, + "Requested ring size (%u) cannot be less than %d\n", val, + (is_rx ? priv->min_rx_desc_cnt : priv->min_tx_desc_cnt)); + return (EINVAL); + } + + + if (val > (is_rx ? priv->max_rx_desc_cnt : priv->max_tx_desc_cnt)) { + device_printf(priv->dev, + "Requested ring size (%u) cannot be greater than %d\n", val, + (is_rx ? priv->max_rx_desc_cnt : priv->max_tx_desc_cnt)); + return (EINVAL); + } + + return (0); +} + +static int +gve_sysctl_tx_ring_size(SYSCTL_HANDLER_ARGS) +{ + struct gve_priv *priv = arg1; + int val; + int err; + + val = priv->tx_desc_cnt; + err = sysctl_handle_int(oidp, &val, 0, req); + if (err != 0 || req->newptr == NULL) + return (err); + + err = gve_check_ring_size(priv, val, /*is_rx=*/false); + if (err != 0) + return (err); + + if (val != priv->tx_desc_cnt) { + GVE_IFACE_LOCK_LOCK(priv->gve_iface_lock); + err = gve_adjust_ring_sizes(priv, val, /*is_rx=*/false); + GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); + } + + return (err); +} + +static int +gve_sysctl_rx_ring_size(SYSCTL_HANDLER_ARGS) +{ + struct gve_priv *priv = arg1; + int val; + int err; + + val = priv->rx_desc_cnt; + err = sysctl_handle_int(oidp, &val, 0, req); + if (err != 0 || req->newptr == NULL) + return (err); + + err = gve_check_ring_size(priv, val, /*is_rx=*/true); + if (err != 0) + return (err); + + if (val != priv->rx_desc_cnt) { + GVE_IFACE_LOCK_LOCK(priv->gve_iface_lock); + err = gve_adjust_ring_sizes(priv, val, /*is_rx=*/true); + GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); + } + + return (err); +} + static void gve_setup_sysctl_writables(struct sysctl_ctx_list *ctx, struct sysctl_oid_list *child, struct gve_priv *priv) @@ -365,6 +442,16 @@ gve_setup_sysctl_writables(struct sysctl_ctx_list *ctx, SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "num_rx_queues", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, gve_sysctl_num_rx_queues, "I", "Number of RX queues"); + + if (priv->modify_ringsize_enabled) { + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_ring_size", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, + gve_sysctl_tx_ring_size, "I", "TX ring size"); + + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_ring_size", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, + gve_sysctl_rx_ring_size, "I", "RX ring size"); + } } void gve_setup_sysctl(struct gve_priv *priv) From nobody Fri Apr 18 14:00:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfGcP2bbgz5srP5; Fri, 18 Apr 2025 14:00:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfGcN6qlVz42Gc; Fri, 18 Apr 2025 14:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0t6zguvaKtAtfOPTD5IO/8GDpSfbse16nGngZyWFTrQ=; b=pl/BbV0Ficj0LGf/s7H+UWQOGn5mImsyiDtg9PqsLH5Gs1+LxXKG9NUY7LaXk4pF/9Ft+9 IoAFHphbqeRiiK30QUswcqvxLF3wlalcYsey436mCJEFU5fA3QA+7ou+3TOwdvmrtmcx7b BECi15rkbRlXFrgase7ndd5YbKMjnK/AoQ+w2/+Be3SP1tN1Soi9xucc9KxuY+1AAMw0gP 9RuCJoi0EnxBBabNTNQ39A/lRsIvt1tG4PP/ZVcpC5yD2FklEsK7L+766Lx5dErx2l/93N R7Ab54W3hwgncB3oO5KbgE42dERyW6v9wIUAHqEpY1jJAX0iMgZx9uPnbOstXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744984821; a=rsa-sha256; cv=none; b=tD79yMCQHaCcKoEOEOF8yD/09PIAMAYcgm/GJFEQJE3F1oK+8zJiyCW2dPHf87b2XoPZbl sb5pqr5jOMT3xBqNOYW+TM5M3eLiPBwGo3FQNtzypf/sbLfzkKZ7U2zQO423nQNYIJSQln JVV0calBBH/bXjyBNzkUK/e2tg2gN+VIbXrRBDYYgdP0trby69TZnO1asZjJ21P90acEZe FiElOXbK6X+QsYxhr48NriGj86b6vXnZ5ENYEVpunJafcefaDkzAKAExa3c5d3Aqf3tF6z s57EOZ0yscokHZTLfnZeEh9rsggrployKDHTwIDKdVDrgrdpDVkM3CCTjj/6cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744984821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0t6zguvaKtAtfOPTD5IO/8GDpSfbse16nGngZyWFTrQ=; b=qJYMh8xSgqPveJNVd8exLGrs9DoqX9AYM8+afkNcqtJ313Nwc3zDKx1ugTayF9SpQHeU1C yg7c5Yh2E+9Kk07RrkhKZNZExdjpkQu65jtfBfMvkc27bbucr7h3dKUSxbPw0LAV+2LbQq ue5uJHwup9G734G21EWUwRxef9aaShFRq997fu6bOW4p4iZr7h33XpVey1pWHGvKl9Mcga M5Oic7bPhQ4gU8X+Px1cFMr/Wb47gDAFmdMdh+gaJzZG4WfVByXo8Vx3ES1h9abIHBny7Y qiUgJnWuJO1faIUPdRJBWkGbHBs9ZHTbjkbKEQafvqIxCMql8WkBLurZ2PCBdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfGcN6LkSzcbh; Fri, 18 Apr 2025 14:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IE0KI0025825; Fri, 18 Apr 2025 14:00:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IE0Kqn025822; Fri, 18 Apr 2025 14:00:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:00:20 GMT Message-Id: <202504181400.53IE0Kqn025822@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: afbe2bb9e939 - stable/14 - vm_object: Fix handling of wired map entries in vm_object_split() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: afbe2bb9e939eee90033433c7172c14323917a54 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=afbe2bb9e939eee90033433c7172c14323917a54 commit afbe2bb9e939eee90033433c7172c14323917a54 Author: Mark Johnston AuthorDate: 2025-04-04 20:29:25 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 13:53:55 +0000 vm_object: Fix handling of wired map entries in vm_object_split() Suppose a vnode is mapped with MAP_PROT and MAP_PRIVATE, mlock() is called on the mapping, and then the vnode is truncated such that the last page of the mapping becomes invalid. The now-invalid page will be unmapped, but stays resident in the VM object to preserve the invariant that a range of pages mapped by a wired map entry is always resident. This invariant is checked by vm_object_unwire(), for example. Then, suppose that the mapping is upgraded to PROT_READ|PROT_WRITE. We will copy the invalid page into a new anonymous VM object. If the process then forks, vm_object_split() may then be called on the object. Upon encountering an invalid page, rather than moving it into the destination object, it is removed. However, this is wrong when the entry is wired, since the invalid page's wiring belongs to the map entry; this behaviour also violates the invariant mentioned above. Fix this by moving invalid pages into the destination object if the map entry is wired. In this case we must not dirty the page, so add a flag to vm_page_iter_rename() to control this. Reported by: syzkaller Reviewed by: dougm, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49443 (cherry picked from commit 43c1eb894a57ef30562a02708445c512610d4f02) --- sys/vm/vm_object.c | 11 ++++++++--- sys/vm/vm_page.c | 16 ++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 84e56b910809..a50dff22205b 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1601,16 +1601,21 @@ retry: } /* - * The page was left invalid. Likely placed there by + * If the page was left invalid, it was likely placed there by * an incomplete fault. Just remove and ignore. + * + * One other possibility is that the map entry is wired, in + * which case we must hang on to the page to avoid leaking it, + * as the map entry owns the wiring. This case can arise if the + * backing pager is truncated. */ - if (vm_page_none_valid(m)) { + if (vm_page_none_valid(m) && entry->wired_count == 0) { if (vm_page_remove(m)) vm_page_free(m); continue; } - /* vm_page_rename() will dirty the page. */ + /* vm_page_rename() will dirty the page if it is valid. */ if (vm_page_rename(m, new_object, idx)) { vm_page_xunbusy(m); VM_OBJECT_WUNLOCK(new_object); diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 979a4b7b07fb..ac922f4a3bc8 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1833,15 +1833,10 @@ vm_page_replace(vm_page_t mnew, vm_object_t object, vm_pindex_t pindex, * Move the given memory entry from its * current object to the specified target object/offset. * - * Note: swap associated with the page must be invalidated by the move. We - * have to do this for several reasons: (1) we aren't freeing the - * page, (2) we are dirtying the page, (3) the VM system is probably - * moving the page from object A to B, and will then later move - * the backing store from A to B and we can't have a conflict. - * - * Note: we *always* dirty the page. It is necessary both for the - * fact that we moved it, and because we may be invalidating - * swap. + * This routine dirties the page if it is valid, as callers are expected to + * transfer backing storage only after moving the page. Dirtying the page + * ensures that the destination object retains the most recent copy of the + * page. * * The objects must be locked. */ @@ -1882,7 +1877,8 @@ vm_page_rename(vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex) m->object = new_object; vm_page_insert_radixdone(m, new_object, mpred); - vm_page_dirty(m); + if (vm_page_any_valid(m)) + vm_page_dirty(m); vm_pager_page_inserted(new_object, m); return (0); } From nobody Fri Apr 18 14:36:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQT28lQz5stVx; Fri, 18 Apr 2025 14:36: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 4ZfHQT1Pbjz3JwX; Fri, 18 Apr 2025 14:36:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ez1abwJ+N61cT8a5Jy5M9wL1CaSU9M1WI3/Mc06A8yw=; b=Fk+1920jYLoUvtS+LUgyggmFzRNEIt/fL+OL+imcrG7CoU8oU8/M+PsSBV7wP1syoNOqE7 YJVDL75Mg9FpCB7yDNa66M0/QFVv/gnXeaSgSIXzGwVe44pH9o1lkUhxFiJTlVSNJ648HQ FOFEBNft35XxUTiFrZlv1Fh3rueMEX5kRQT8PSxmmPkRgW0j3fd8enGnNYroi6QYLdri8C uUoE/aKlIXfNETnbnqTTaVPjhJKxRGSWOi3CaznkCwHAShUgQNXcaOG5BFcrzq8jX3yxNa ZBVs48WjuoK7NzK9w8FNvhVjsraEUIkBVuhxwtFfPBVe7yoydim2IDVPiuw+9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987009; a=rsa-sha256; cv=none; b=L4605/eZZ6lALAb3yQJcU+zft8WV3P7kejwdjiY2OfmVRJvp1LqyBX1MOdNdUWZP0E2Ccw J5lTdKo2Mt6INkWSj2SN+S6N+2f/MpDzZm2Fl/2Jq8YWqD75bkYU6ubE/+X4+2PLQ3pOXO Vss2lozM8XiO9rwSkxqOFBXeND8djPJ1jfVoReJ73WN4HXQkuO7X1U2wrqUF8o6m9z1tz/ 1nIm9O+EZ4Et5AUk6jvTqI3mbkz78Y4m/50jU7UUWs+jmmLdfbKrfqWPopGRz4tJp/lMh7 f2StAdr0QQ5lw54DpSS2j01PPi0qnLpzPkfcmh0eP+DK/+Xf9mlVe3C4kaLr8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ez1abwJ+N61cT8a5Jy5M9wL1CaSU9M1WI3/Mc06A8yw=; b=o2rnfaPzuM8UiwEHWE+JC97urUFSGZG0ZaARbnsKzZnnbTqHg2Lz7U17ktpItVlKMmFXQc 8BMd/hbQbRXx+9951TtN004hbTZx1HKXBH/LdETBAmcd1MXWXRFHVfcCFENlMR5PpObJBr sMtD4XqKzniTGHlgQEcwRpsRF7Aeha0FLTn0qxIUrf4b1DDGNl2MACnzlitS6pa0r/N2/d PmoAB55Yx2OXe5ZL6t4MWoe/zreXrTuR8QukKY21LUud0aV2pXuXcXP0ojNdnkQEtLlVM2 fcrpKBB3DfBaPo7xQhR2gfOGoFLkmD+MEvhGV+mP7GCPW9+yNXbVA4DbJBHizg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQT0S4gzdt7; Fri, 18 Apr 2025 14:36: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 53IEamws090990; Fri, 18 Apr 2025 14:36:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEamAI090987; Fri, 18 Apr 2025 14:36:48 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:48 GMT Message-Id: <202504181436.53IEamAI090987@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 580c891f5add - stable/14 - malloc: extend malloc_usable_size() for contigmalloc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 580c891f5addc9055f41933c72caae14e352ba4c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=580c891f5addc9055f41933c72caae14e352ba4c commit 580c891f5addc9055f41933c72caae14e352ba4c Author: Bjoern A. Zeeb AuthorDate: 2025-04-12 17:11:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:56 +0000 malloc: extend malloc_usable_size() for contigmalloc Extend malloc_usable_size() for contigmalloc; it seems the only outside consumer is LinuxKPI ksize() which by itself has little to no consumer either. Sponsored by: The FreeBSD Foundation Suggested by: jhb (see D46657) Reviewed by: jhb, markj Fixes: 9e6544dd6e02 Differential Revision: https://reviews.freebsd.org/D49571 (cherry picked from commit c5cf4b64f4a976f5c5d75d52816078def86bf3e4) --- sys/kern/kern_malloc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index f31fc2a76a07..94583288430b 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -1162,6 +1162,9 @@ malloc_usable_size(const void *addr) case SLAB_COOKIE_MALLOC_LARGE: size = malloc_large_size(slab); break; + case SLAB_COOKIE_CONTIG_MALLOC: + size = round_page(contigmalloc_size(slab)); + break; default: __assert_unreachable(); size = 0; From nobody Fri Apr 18 14:36:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQV6nX6z5stVy; Fri, 18 Apr 2025 14:36: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 4ZfHQV0wnjz3Jyr; Fri, 18 Apr 2025 14:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JILF8MvA9+KWEvDJAKpRUb7CxKvgTq43dBCSNrvidyg=; b=WEnlJchnCt+S4iwRaobg+pq7OQ2dXgcRBgAyFFFrqlPMC90rnx552colhs8OK7mfrKrovE h8xr0hWKIUFIH6Ifu+JMpIXtmPjh116Y+bXj+j9ECcBcCW6JuZgvUncBGdWcfB1yiLTpHv Gm+pCvM2AxLmYgj7tFmUOEyeEAWTlJxfgQAhipTkNg4FTFIQIyuUDWjBX0Objrcy4eASdm c+DD7E9FiwiskNIuDicxZBfexByq3IycSo7+tqoeMAzUWcDj7yjHu6bPa2EOn27s/KR1yV BjlsUQmAnrxBUJHI6yfZzTRZd520czLCjhNDGmcmpTgE/OsuPlCx3gTmL6LAqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987010; a=rsa-sha256; cv=none; b=q7O34Jr/w8KJkhtR0vPzN9AuWJMxFweX+qJQxC+6nli2XpL+QtjpQo8IPUaZn8bTaQC1V7 w/8COmcl9411ySl7RN/h6+f5mS9jfCqQN11ZaA2y1UBi11h9FJesys0Qs0tHuZwaUQIwap QEGnuPjMQJdq8AOke6AmYk3nmTKXNbzCC6bsjaOq/6LVjFVT5/LtjY4r1BAvssBiKLlbTd Uw70/Ty+YgXtJ3UUG3fEX9JkFiy7fu/uGK0XfPvaOH4GD1rGJx9xd72asMYgd7wYZeLq/C 0cBl8vxxiyT/I209heOK+p4cEgdtHCyORFE8TL9LQaFKrs1Jk0txdAq7P557Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JILF8MvA9+KWEvDJAKpRUb7CxKvgTq43dBCSNrvidyg=; b=G49xV0NzgXWWxBx2X94wNdm3nW1CqJmzqsBHAU+ug+Ams9boknu2O646BiX+wRUtZkA5Vo KYQIP4u4HwC9T97reKywoGeE+VXj9d0Eu3oJ/bOPIzbP2+BtP2BjQGi3nPTk9sBqV5YR2P mMP0qlHOrFS/6xEhXYVKsxUKCqBKfq1FMNaxy2sRN6i+jhWEeqYQtD2bznPMsVZ28kiPoW zTNbitXLaTUHDSbOCqcWdDJuEagXGQZbX6ToH2F8RLelykk+xrRY8ombgVwlvNcSpCtoWm MSy9Atx1aRBXoDGVb7pA4qhBJuwhXz8CPcylbUAPJcP38X9OMe+vzGeYL74EIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQV0SzLzf3l; Fri, 18 Apr 2025 14:36: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 53IEantb091027; Fri, 18 Apr 2025 14:36:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEanqw091024; Fri, 18 Apr 2025 14:36:49 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:49 GMT Message-Id: <202504181436.53IEanqw091024@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bc6e1ca80704 - stable/14 - LinuxKPI: make __kmalloc() play by the rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: bc6e1ca8070467eca4e22e8dc0a4fc962169cad7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bc6e1ca8070467eca4e22e8dc0a4fc962169cad7 commit bc6e1ca8070467eca4e22e8dc0a4fc962169cad7 Author: Bjoern A. Zeeb AuthorDate: 2024-09-12 18:11:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:57 +0000 LinuxKPI: make __kmalloc() play by the rules According to Documentation/core-api/dma-api.rst kmalloc() is supposd to provide physically contiguous memory. [1] In order to guarantee that allocations are contiguous even if using PAGE_SIZE or larger check the size and use contigmalloc if needed. This makes use of 9e6544dd6e02 (and following) allowing free(9) to also work for contigmalloced memory. Sponsored by: The FreeBSD Foundation Pointed out by: jhb [1] Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D46656 (cherry picked from commit 19df0c5abcb9d4e951e610b6de98d4d8a00bd5f9) --- sys/compat/linuxkpi/common/src/linux_slab.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index 72b35fee9214..5be4c1ec674c 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -215,7 +215,11 @@ lkpi___kmalloc(size_t size, gfp_t flags) /* sizeof(struct llist_node) is used for kfree_async(). */ _s = MAX(size, sizeof(struct llist_node)); - return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags))); + if (_s < PAGE_SIZE) + return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags))); + else + return (contigmalloc(_s, M_KMALLOC, linux_check_m_flags(flags), + 0, -1UL, PAGE_SIZE, 0)); } struct lkpi_kmalloc_ctx { From nobody Fri Apr 18 14:36:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQW6YPlz5stY1; Fri, 18 Apr 2025 14:36: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 4ZfHQW2VQ4z3K1r; Fri, 18 Apr 2025 14:36:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yi7P47Huyzd7PPQ1TZ5nMoiyBPVk81Rr4RYMZaxPVM8=; b=Gphi9tMRXp+6kQvZE44xj6EukorftIK1PaBIbF3p3i2HmmT4Mlsuh9sf4AeOhPaI/9CGoo l7gKyomBCFk8P4MIqhRynE8DwM32Z0ogIMDiAFb6u3q4floRQg9Hq1VJ1OZ9QTM3q4JGwn wPXkuWxfbStA+IVJGmWSjdDayzY7b8BmYE8tMO2zp6brL8ZuowNbDzv/uHwBcStcpamC4O DApOEVRI4JcaITz+B7vq8LlQzplIiVar6K2yCeOraSsYwSrvFmGwb6eC6evqscAqDUnVHY MLxnsYHMM15Tv/lCSRzrnjiEJN/G+c/YjRLrjWrg2J+3qyxJOgN/kFs/YH1prw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987011; a=rsa-sha256; cv=none; b=aU4zpVRZ8jGDYe2ZyuxgVp7j+/zrLmwzNt0uLfyWBJWF5x29+LVi1jpRbSaq59RQhPMLAF qwAmwigW3zf1BrfD8Xot6Q3PesEWHLLibLbFV2xrbN/oV8Z+ZWdC69Fi8jxXVVI/OLpQYu tZpRXK3EuET+5GqFMyqmqNYJ2wElwDPAT2WTQ40iKACKWJ1lXwmh9o9a85vhY4HrCveMxk TMLUazf5qfAK4gTTgvhQblbNaXewDTBK34lmrUexD0DU/SKD4VuwOyirzLQLhhjTUBexQ6 hLEaLxrYMuoQgqs9FZOBjE7EvLBALvaIGuMXUIYV7bSEpamfWu5DuP/SEfLaQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yi7P47Huyzd7PPQ1TZ5nMoiyBPVk81Rr4RYMZaxPVM8=; b=QF6yo3nc7DFYEXskzqQsiwojH4B5RUoLQSyqG5AwWg31mv+8GUHDGsHuRwggpP8Kvc0xbP 3tdP8KqUzjTaQiiBsKHvNVTZkoZzFjWngAAw4rta8lGdNT2OKN7lDWyBtjRhUdfF5NI5g0 Z/IWQ3XtMv1Sq4L9XepbpuJSYIM0oby4nsUfRG3IGUnpdkOothI6nEbTUNyOQspzuX/8aR BlXMbgC2kZbgR4/Mk/0S0r6IlnH4QJPE2oaLJbf2KxGUsx1OoGDbel8sztpAG68pe6ZHO9 p9IyLMbdbmnMgb1wJJUdkadkk6Y6cXZ3wStuPDkSpX65dmzbIPC2/JHdO3JZQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQW1Hm2zdt8; Fri, 18 Apr 2025 14:36: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 53IEapEu091064; Fri, 18 Apr 2025 14:36:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEapbs091061; Fri, 18 Apr 2025 14:36:51 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:51 GMT Message-Id: <202504181436.53IEapbs091061@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3494f4f5369d - stable/14 - LinuxKPI: always use contig allocations in linux_alloc_kmem() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3494f4f5369de2661c88f3217acbf8d5f0795780 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3494f4f5369de2661c88f3217acbf8d5f0795780 commit 3494f4f5369de2661c88f3217acbf8d5f0795780 Author: Bjoern A. Zeeb AuthorDate: 2024-09-12 21:17:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:57 +0000 LinuxKPI: always use contig allocations in linux_alloc_kmem() In linux_alloc_kmem() [used by *get_page*()] we always at least allocate PAGE_SIZE and we want the allocation to be contiguous so it can be passed to DMA. Always use kmem_alloc_contig() and only change the low argument depending on the GFP_DMA32 flag being given or not. Sponsored by: The FreeBSD Foundation Reviewed by: jhb, dumbbell Differential Revision: https://reviews.freebsd.org/D46661 (cherry picked from commit a5c7b44d6a46fc5a67a79cb9b31050a9cc7c50ce) --- sys/compat/linuxkpi/common/src/linux_page.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index cc7683e3b572..99b63e8d5680 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -182,12 +182,10 @@ linux_alloc_kmem(gfp_t flags, unsigned int order) size_t size = ((size_t)PAGE_SIZE) << order; void *addr; - if ((flags & GFP_DMA32) == 0) { - addr = kmem_malloc(size, flags & GFP_NATIVE_MASK); - } else { - addr = kmem_alloc_contig(size, flags & GFP_NATIVE_MASK, 0, - BUS_SPACE_MAXADDR_32BIT, PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); - } + addr = kmem_alloc_contig(size, flags & GFP_NATIVE_MASK, 0, + ((flags & GFP_DMA32) == 0) ? -1UL : BUS_SPACE_MAXADDR_32BIT, + PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); + return ((vm_offset_t)addr); } From nobody Fri Apr 18 14:36:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQY137Nz5stbN; Fri, 18 Apr 2025 14:36: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 4ZfHQX2N3cz3Jnx; Fri, 18 Apr 2025 14:36:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ow3xRhuhf8xRfEUgzG7XSuYIzWPsfbuS3zbuege2r78=; b=JORspgY2BpCOK7iOudfxiSZLkBEabXchnXsLn2ykdyE6hAug80kqh0TLuGuV5K/K3es4xE lM5fmJgoZPHjMLNqCWktVDFyPqoXbjuZ46N5sNFxm/4KwqARtEJxPymYIMKHi6lf7vd4QE KkzozZqW4VHVGO5eb9HenOaSShhBCdRXlU+kGS/sqhh9DBFNcr3y8aR++kzYvHPd8z1vgX +bEd2N8/rjbaTNTbMYi++03+tktddMG3BBXf3TFrDF69dlBJtDaIYoqgjDr9rklrLs78Sn i7GPj047VF/X3pNK7WE2CT3JJfZ5tYdIzwzBMVdsndBtuGVfP9cIBWubz7fxoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987012; a=rsa-sha256; cv=none; b=KYhL/xNugDkCrTLNhVPjIpOL30ChXY90i04ZkfmBr3yYaLaRvpVdKg/DNZiEPNwTbOAziX Z2l14X+tr0KAj937GcY9GGAeGdj419KH/lD+VS1UQOwV/L/MwV2plf9xU/ncytIp2tgpFy Mn4kuDTmEyqP0H5Ad/nTrxyxYCjPbMsLzetsRSje7oPsI32pNgAbVnJDjEvqphZzlWp/qx 3tBkBCOmU+oVIR2/QXQdGwYmKjnJEkkuit9O4Fr0ut268Edxtk1PGFB8VGfmldWhZZn/jv xTcRQgNsDYnrQhs0H6C4kiHr/3rZeY13OaV2xHwSAdQzoYhraqjL7krySV+DCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ow3xRhuhf8xRfEUgzG7XSuYIzWPsfbuS3zbuege2r78=; b=cRVJYjEqSCZDdjRxAQDsuyoxDD/725w1CdTC3KHH6tNcdiraDzQblTn4PvcPbGHmEq5mFs 4JI7Jf1wy3Bzi/9dmbemUEIbMe9I9xzkoLc4S4xUVZ8tvI8IlSxEP2fRRnt0s+42fOWJsB TTz20os+QNkSViG1gEICXK3Ll5P2biBrvCNrwILQ3dGYiIEFmXuwH65OmMZYa8mr9uxyT3 ba9qLIwMSYyUq99uTKPNu2DU4+nvaau76h2waqT2fcW5BpYOArE5JBOob/oxPIJmXHmezw LPgDNTgQWoFbGH/gEE/5WyIGOCy9AvgNdGTToURfhuivYwuqEWlGC0yg2gQsHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQX1yV6zf3m; Fri, 18 Apr 2025 14:36: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 53IEaqY7091102; Fri, 18 Apr 2025 14:36:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEaqCl091099; Fri, 18 Apr 2025 14:36:52 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:52 GMT Message-Id: <202504181436.53IEaqCl091099@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 4fc30b0186b6 - stable/14 - LinuxKPI: be more verbose on _bus_dmamap_load_phys failures if debug is on List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4fc30b0186b628013ef566d376526e427644cf94 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4fc30b0186b628013ef566d376526e427644cf94 commit 4fc30b0186b628013ef566d376526e427644cf94 Author: Bjoern A. Zeeb AuthorDate: 2025-03-29 14:31:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:57 +0000 LinuxKPI: be more verbose on _bus_dmamap_load_phys failures if debug is on With the [k]malloc adjustments in switching skbuff from using a tunable and conditional contigmalloc with boundries to using __kmalloc as allocator should just work. The allocations are now physically contiguous and nseg=1 should be fine even if we have to bounce. The problem now coming back is that busdma bounce code cannot deal with larger contiguous nseg=1 allocations. I originally found that on arm64 more than two years ago but I am also seeing it for amd64 now. Improve the debugging beyond the dump_stack() call and print the busdma error (so we know if it is EFBIG or else), print the physical address so we can see better if we should bounce and print the length so we have an idea on what lengths we are failing. D45813 has some observations and rtw88 seems to be a good driver to test with. Sponsored by: The FreeBSD Foundation Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D49569 (cherry picked from commit a12a9c6c59764b876f06355f9f857e0018188d91) --- sys/compat/linuxkpi/common/src/linux_pci.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index ce7f91cd15ac..36dbac24496b 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1452,14 +1452,19 @@ linux_dma_map_phys_common(struct device *dev, vm_paddr_t phys, size_t len, } nseg = -1; - if (_bus_dmamap_load_phys(obj->dmat, obj->dmamap, phys, len, - BUS_DMA_NOWAIT, &seg, &nseg) != 0) { + error = _bus_dmamap_load_phys(obj->dmat, obj->dmamap, phys, len, + BUS_DMA_NOWAIT, &seg, &nseg); + if (error != 0) { bus_dmamap_destroy(obj->dmat, obj->dmamap); DMA_PRIV_UNLOCK(priv); uma_zfree(linux_dma_obj_zone, obj); counter_u64_add(lkpi_pci_nseg1_fail, 1); - if (linuxkpi_debug) + if (linuxkpi_debug) { + device_printf(dev->bsddev, "%s: _bus_dmamap_load_phys " + "error %d, phys %#018jx len %zu\n", __func__, + error, (uintmax_t)phys, len); dump_stack(); + } return (0); } From nobody Fri Apr 18 14:36:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQY6K6Vz5stbV; Fri, 18 Apr 2025 14:36: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 4ZfHQY3MVbz3Jll; Fri, 18 Apr 2025 14:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vkQMNb9bxij/S6xrmhzEe6XCY18EZMkR0kg5qz6KurY=; b=os3wuYA0jz7mzFbaICOKSg0eGvuK+6zCrpAR6iBfhZX5/Gl1K5pjGpHZv7ohDuW3T0QL2I v1DzoWN3fh/5x4IqbUyWZr0b45/l48BpXG0L6TSlOBPqEDBY70rznfNnyyUDCcFdjUsPss b6Tbwvbp7QTWwCR+/JUQ7HWxKxPBN5NZVr7ssYx7rb4Tdc0aLJgXcwWzkez7wsN4rt6Jn5 G4dBXx9YNEaRme/hxJeUbACh7h3ECHMciyX12YIVRPLhyyRfCXXYdmD6slgpwHaakzn0zL vB+sHH4teewK572DbZLEIGOpZElDVH2dJIxiZSuPnawjTLPQEueMGJRx51d/Iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987013; a=rsa-sha256; cv=none; b=SYdeQyQ8DCeLqKgLgjf1rCYUIMKzdCzS+VGwmI7ppEVBNWN4pF2z/J59SHp/yX8CXLf4XG KYLCigIfQ6iIwtBFTzK1CZrK0Cwjmul2xTI4ecgBmpG5qlKbWQpPRTGOOIPDRm1h75n1JT 6YKDfhNJeFWCdDP5W86UW5DtSPrRd1tzabvR7bp7MJ1eiKq8wUqASxZE1ZytjhzZvzLkCx xim50HNu8eZBKBZg2uQ/8RyeAdfv1c79ErgydGhkFwk+Z0h1tiGyo3WAoGXCgFPNCfRM/c TeHdl/RHlRJruavia1IXCiUUnfl7k60ZxVLhX9LifF2HTPMTob588QYBfl28/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vkQMNb9bxij/S6xrmhzEe6XCY18EZMkR0kg5qz6KurY=; b=jnz96jCCW5x0GI37ZGSme4bieH8Rmf3Q9EjMq+oYN75Ap/VIdsgSLIRH1eDBKDAVAyfhDY Lxpe3TqyKDrcePkG7o3E9BVuR0kldM17Jo3MlFcGu8oQBjGGHc+ntKWtk88Zttstwyqov8 lzZpj4lPioagjhm3R4J3/vVwtUjnpUeINfM3GTKkNrsqMsjVZh0Z/KzJjBFiLoa69Df64n eCtOKhmJhN9ceAHLpL+NviW4wnv5bf9X7QJuLXedKGGeEgRCFz9WYHF2TYa9eqedCuk9VZ hlsumc6lFyShTaCCbnySH+KevGZKnNMGuQ01F1RBtsggRKywX5ubSsRCjQwj2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQY2tBCzdxr; Fri, 18 Apr 2025 14:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEarLD091143; Fri, 18 Apr 2025 14:36:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEar4d091140; Fri, 18 Apr 2025 14:36:53 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:53 GMT Message-Id: <202504181436.53IEar4d091140@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d684da076bbd - stable/14 - LinuxKPi: lkpi___kmalloc change a < into <= for proper boundry check List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d684da076bbd85dee7a942cbe5b71ec0c083dc35 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d684da076bbd85dee7a942cbe5b71ec0c083dc35 commit d684da076bbd85dee7a942cbe5b71ec0c083dc35 Author: Bjoern A. Zeeb AuthorDate: 2025-03-29 14:30:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:57 +0000 LinuxKPi: lkpi___kmalloc change a < into <= for proper boundry check lkpi___kmalloc() would use contigmalloc if the requested size is exactly PAGE_SIZE. But we can still fullfill this request from malloc() without losing the guarantee of physical contiguous memory. Sponsored by: The FreeBSD Foundation Reported by: emaste (in D46656) Fixes: 19df0c5abcb9d Reviewed by: dumbbell, emaste Differential Revision: https://reviews.freebsd.org/D49570 (cherry picked from commit 19efc9e6320a30e230b0b40d5bae90142ec13aeb) --- sys/compat/linuxkpi/common/src/linux_slab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index 5be4c1ec674c..bc780ab3f609 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -215,7 +215,7 @@ lkpi___kmalloc(size_t size, gfp_t flags) /* sizeof(struct llist_node) is used for kfree_async(). */ _s = MAX(size, sizeof(struct llist_node)); - if (_s < PAGE_SIZE) + if (_s <= PAGE_SIZE) return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags))); else return (contigmalloc(_s, M_KMALLOC, linux_check_m_flags(flags), From nobody Fri Apr 18 14:36:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQZ6pt2z5stDp; Fri, 18 Apr 2025 14:36: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 4ZfHQZ4L3Dz3K6t; Fri, 18 Apr 2025 14:36:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rP+ZGnkcQmRT4l78eQB9TCgte5jZja9jy7wR38sq4Bw=; b=N+Gs8GzMRY20QXzztCq25tiNGdLtYXr3QuqwI+NhCxJOhV8Z8o7t0S/Ze1rHvyU4r9gJWt 226uJRV3C04cPNoS3ypXkYsc133e3dLAJ3nI5G6rZN4VdsvWjNr5Ieb7vFiMXPh0nodIBe 0G1Le3GiY7Q8qxwyza8jPByZG5rnC7pADirk3Yalpiv3fVjfeMeZ2WRohShkOfd1F/Dbmm Z9dEmkaWAeGQTSkZAYr3M9ZB1NgrF+MNxI7HypQNrUhbVXUTQqzKPazG9s3OXnsMP6Ytjj gCjmcc+y4CTUsbQQBtfUlewYaX/fobPV9RakRr9yuVyRNNkfVxIQU5k20UH4pA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987014; a=rsa-sha256; cv=none; b=uQJL9RH2xwvLJrS6KyVzJDJmCJzh8COUwnodN8G7m4GX3aidnkQy0s4wb4nReDtX2xepX5 c01sftfLasuQs+hjyGRqDlswQGMFCthAxscgOmL1eEUVDAR90ycYw11ToZwkLadfCQH7OP +4vtNQ1B0qrh14bxzX0yBQ5Xiv7Ncl0x66fKs0EtxslGVQK/XK7v9XKwHCLaygr0hh4bNq Xpe/F38uou9DxxyhpMVzTDC94V31gMM9QkS0Ta9axr1XE4dXsaUnmeI6dLGbpaRI/QLGmT cJQYp/OSzOHX3itSoLFTLt0P8sTHcqIa1wFgnKnAUAUE1KGZRwhLMLdzdBi6gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rP+ZGnkcQmRT4l78eQB9TCgte5jZja9jy7wR38sq4Bw=; b=N9CalO2uJdi40QpiA8a5RQzmzmiEccXKgEp6ExN0+sKblOnt6eUbwuBoW/7n6o4pPYkD6R nblFDsYod/OViMryhNiPwIReazOqWj89XbMv85g1GaL/jX/GnUFEDKHaqzaKXWvGaSAV2Y zl3GTk5xZFwvpQMuPq97SL59jTjAJrf9DepUExzd0uddAtaRZzUSrZyQNy/MSNV6KNVdf8 z8WuKG5mGhMpNS4HBWVjIrvVxg0exWkMzNeyb1h00AKWicasCbt2DxbFpVf2vpBQR2cLn9 ENjyBsPxfgqXkxFH9bDTaRUz3Fo2alPERnxw0lFMqUOH8suSgXqABTe7VsDorA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQZ3nFTzdt9; Fri, 18 Apr 2025 14:36: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 53IEasRC091189; Fri, 18 Apr 2025 14:36:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEasKt091186; Fri, 18 Apr 2025 14:36:54 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:54 GMT Message-Id: <202504181436.53IEasKt091186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3404752d554f - stable/14 - LinuxKPI: switch mallocarray to an lkpi implementation using __kmalloc() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3404752d554fad152be8cdf02859b47780a61ca8 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3404752d554fad152be8cdf02859b47780a61ca8 commit 3404752d554fad152be8cdf02859b47780a61ca8 Author: Bjoern A. Zeeb AuthorDate: 2025-03-20 23:54:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:57 +0000 LinuxKPI: switch mallocarray to an lkpi implementation using __kmalloc() With mallocarray() we cannot guarantee that any size larger than PAGE_SIZE will be contiguous. Switch kmalloc_array() and kmalloc_array_node() to use __kmalloc()/lkpi___kmalloc_node() as their underlying implementation which now does provide that guarantee. Likewise adjust kcalloc_node() to use kmalloc_array_node(). This means we only have two (plain + _node) underlying allocation routines for the entire category of functions. Also adjust kvmalloc() and kvmalloc_array() to be a "mirrored" implementation to their non-v counterparts. These may return non-contiguous memory so can use malloc(). Sponsored by: The FreeBSD Foundation Reviewed by: jhb Extra thanks to: jhb for helping sorting this out Differential Revision: https://reviews.freebsd.org/D46657 (cherry picked from commit 1c81ebec74d8a71c770f7835d3bc6e02c13467a0) --- sys/compat/linuxkpi/common/include/linux/slab.h | 48 +++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_compat.c | 12 +++---- sys/compat/linuxkpi/common/src/linux_slab.c | 12 +++++++ 3 files changed, 48 insertions(+), 24 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index 07c16884b00e..ddaabcef0b9c 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -42,7 +42,6 @@ MALLOC_DECLARE(M_KMALLOC); #define kmalloc(size, flags) lkpi_kmalloc(size, flags) -#define kvmalloc(size, flags) kmalloc(size, flags) #define kvzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) #define kvcalloc(n, size, flags) kvmalloc_array(n, size, (flags) | __GFP_ZERO) #define kzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) @@ -93,6 +92,7 @@ struct linux_kmem_cache; extern void *lkpi_kmalloc(size_t size, gfp_t flags); void *lkpi___kmalloc(size_t size, gfp_t flags); +void *lkpi___kmalloc_node(size_t size, gfp_t flags, int node); #define __kmalloc(_s, _f) lkpi___kmalloc(_s, _f) static inline gfp_t @@ -113,23 +113,39 @@ linux_check_m_flags(gfp_t flags) static inline void * kmalloc_node(size_t size, gfp_t flags, int node) { - return (malloc_domainset(size, M_KMALLOC, - linux_get_vm_domain_set(node), linux_check_m_flags(flags))); + return (lkpi___kmalloc_node(size, flags, node)); +} + +static inline void * +kmalloc_array(size_t n, size_t size, gfp_t flags) +{ + if (WOULD_OVERFLOW(n, size)) + panic("%s: %zu * %zu overflowed", __func__, n, size); + + return (kmalloc(size * n, flags)); } static inline void * kcalloc(size_t n, size_t size, gfp_t flags) { flags |= __GFP_ZERO; - return (mallocarray(n, size, M_KMALLOC, linux_check_m_flags(flags))); + return (kmalloc_array(n, size, linux_check_m_flags(flags))); +} + +static inline void * +kmalloc_array_node(size_t n, size_t size, gfp_t flags, int node) +{ + if (WOULD_OVERFLOW(n, size)) + panic("%s: %zu * %zu overflowed", __func__, n, size); + + return (kmalloc_node(size * n, flags, node)); } static inline void * kcalloc_node(size_t n, size_t size, gfp_t flags, int node) { flags |= __GFP_ZERO; - return (mallocarray_domainset(n, size, M_KMALLOC, - linux_get_vm_domain_set(node), linux_check_m_flags(flags))); + return (kmalloc_array_node(n, size, flags, node)); } static inline void * @@ -151,23 +167,20 @@ vmalloc_32(size_t size) return (contigmalloc(size, M_KMALLOC, M_WAITOK, 0, UINT_MAX, 1, 1)); } +/* May return non-contiguous memory. */ static inline void * -kmalloc_array(size_t n, size_t size, gfp_t flags) -{ - return (mallocarray(n, size, M_KMALLOC, linux_check_m_flags(flags))); -} - -static inline void * -kmalloc_array_node(size_t n, size_t size, gfp_t flags, int node) +kvmalloc(size_t size, gfp_t flags) { - return (mallocarray_domainset(n, size, M_KMALLOC, - linux_get_vm_domain_set(node), linux_check_m_flags(flags))); + return (malloc(size, M_KMALLOC, linux_check_m_flags(flags))); } static inline void * kvmalloc_array(size_t n, size_t size, gfp_t flags) { - return (mallocarray(n, size, M_KMALLOC, linux_check_m_flags(flags))); + if (WOULD_OVERFLOW(n, size)) + panic("%s: %zu * %zu overflowed", __func__, n, size); + + return (kvmalloc(size * n, flags)); } static inline void * @@ -179,9 +192,8 @@ krealloc(void *ptr, size_t size, gfp_t flags) static inline void * krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) { - if (WOULD_OVERFLOW(n, size)) { + if (WOULD_OVERFLOW(n, size)) return NULL; - } return (realloc(ptr, n * size, M_KMALLOC, linux_check_m_flags(flags))); } diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index b60f464377cc..a30523e88864 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -2719,8 +2719,8 @@ linux_compat_init(void *arg) boot_cpu_data.x86_model = CPUID_TO_MODEL(cpu_id); boot_cpu_data.x86_vendor = x86_vendor; - __cpu_data = mallocarray(mp_maxid + 1, - sizeof(*__cpu_data), M_KMALLOC, M_WAITOK | M_ZERO); + __cpu_data = kmalloc_array(mp_maxid + 1, + sizeof(*__cpu_data), M_WAITOK | M_ZERO); CPU_FOREACH(i) { __cpu_data[i].x86_clflush_size = cpu_clflush_line_size; __cpu_data[i].x86_max_cores = mp_ncpus; @@ -2762,8 +2762,8 @@ linux_compat_init(void *arg) * This is used by cpumask_of() (and possibly others in the future) for, * e.g., drivers to pass hints to irq_set_affinity_hint(). */ - static_single_cpu_mask = mallocarray(mp_maxid + 1, - sizeof(static_single_cpu_mask), M_KMALLOC, M_WAITOK | M_ZERO); + static_single_cpu_mask = kmalloc_array(mp_maxid + 1, + sizeof(static_single_cpu_mask), M_WAITOK | M_ZERO); /* * When the number of CPUs reach a threshold, we start to save memory @@ -2782,9 +2782,9 @@ linux_compat_init(void *arg) * (_BITSET_BITS / 8)' bytes (for comparison with the * overlapping scheme). */ - static_single_cpu_mask_lcs = mallocarray(mp_ncpus, + static_single_cpu_mask_lcs = kmalloc_array(mp_ncpus, sizeof(*static_single_cpu_mask_lcs), - M_KMALLOC, M_WAITOK | M_ZERO); + M_WAITOK | M_ZERO); sscm_ptr = static_single_cpu_mask_lcs; CPU_FOREACH(i) { diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index bc780ab3f609..4b0b18178a5c 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -207,6 +207,18 @@ linux_kmem_cache_destroy(struct linux_kmem_cache *c) free(c, M_KMALLOC); } +void * +lkpi___kmalloc_node(size_t size, gfp_t flags, int node) +{ + if (size <= PAGE_SIZE) + return (malloc_domainset(size, M_KMALLOC, + linux_get_vm_domain_set(node), linux_check_m_flags(flags))); + else + return (contigmalloc_domainset(size, M_KMALLOC, + linux_get_vm_domain_set(node), linux_check_m_flags(flags), + 0, -1UL, PAGE_SIZE, 0)); +} + void * lkpi___kmalloc(size_t size, gfp_t flags) { From nobody Fri Apr 18 14:36:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQc43lvz5st3g; Fri, 18 Apr 2025 14:36: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 4ZfHQb4tzzz3K2y; Fri, 18 Apr 2025 14:36:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3lMvo41WwzGmB6YGth2hufX4nzuZQ+h9ktCHEldwuYs=; b=caDqJIn5fm/K9Sr7ye9terTE0sfpddqEal5u7LlNsf0MEWURCzcv5WXEI/7aUYrBZLViIw SyUrnh9eXiS3xeSwjxbEimAeNxQ6ajRcyR0vDZIpqWP03y4XOSQ+DkbSeH5eJzvDgf27TR wSPyWCi26u4MmiRMGq07WxI4cRGoq1SaY2XnvRrpFFNXYXhlELcIGkynip0dq5Z2M058cA A4+fq39Y1BYFOk9Z0Y08z4z/npAy24pSrgkgVKuoHDlyoPOv9aiYtkbb+o6uPaY9tvzJgS fDmS9okSWoJNHyUEGJ14Hr1lQDGyloJLgbiwvQXYpLv151I4Z55mDmFQLyLB6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987015; a=rsa-sha256; cv=none; b=MFYGLuBjyUZY1RyLRGGnpCiCDGNEt7YUkhn/yvMUIwtKznHD+HESF/6IzdGYp/ViqfevxN A4mciHUXFjFydLuhjEyFy34xOrc+DJ78qN7Nzc16LbbRAsc3iB/Y2BE0M09QwYDquWqZQE pGeje9uhNu7xllPv1J/TurONd6+UN/2EHGgGxTRhfHQev5k+OeVFyWx/60JDei26o/rIkG U1OQrUwz+j7JIUYc5T8ZpAFXCem5Aff8jpFoZ+FYQxDyr7gtP6QfgWfFWI2pgZjDcLFmoE FkCAiFmGx4ish8uUcZTsDduZAJXb+1aO2x+okVttX714MgOHUtYqrsGfVxYEWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3lMvo41WwzGmB6YGth2hufX4nzuZQ+h9ktCHEldwuYs=; b=Pdf/9f8kMzK5cIOT7yLiQzFw/EAXqSB7FMD3N5c9jVRC7sWM8HvLJLjVB3dzIW99yJZFGp 3fSqdylro6i7TyN4nogI12S3t5B3sciLZ8LsrfFR1QWzTIZNKlOGHVv0CxSzjv9d/ZLIfo 3zqkyMn+Miavrh/LnXlaV1SZ7laecsQ20JY0m0O5Xcf8+iCIhMrch+596oRzFdC5pPldyf 0UW0ZfhqFgzLyTO9O7TapyLndHay79e3tSfHyuXt+zXrig2JbhTLFF9N4pB5Qj11VPkvSP pxHz/ZwdBIUAFIUrXDXzvkw+n6Zl8EiBz6c7XELZIifRPT5by+OYEy9Wyr+5wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQb4TfZzfDw; Fri, 18 Apr 2025 14:36: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 53IEatmd091227; Fri, 18 Apr 2025 14:36:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEatur091224; Fri, 18 Apr 2025 14:36:55 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:55 GMT Message-Id: <202504181436.53IEatur091224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 516eb937b274 - stable/14 - LinuxKPI: implement krealloc() for memory being contiguous List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 516eb937b274c34793f9b640e547eee0dc185b2d Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=516eb937b274c34793f9b640e547eee0dc185b2d commit 516eb937b274c34793f9b640e547eee0dc185b2d Author: Bjoern A. Zeeb AuthorDate: 2025-03-29 17:05:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 LinuxKPI: implement krealloc() for memory being contiguous Implement krealloc_array() using krealloc(). Implement krealloc() doing the various size checks ourselves and use realloc() or kmalloc() depending on old and new allocation sizes. This way we can ensure that allocated memory stays physically contiguous. Sponsored by: The FreeBSD Foundation Suggested by: jhb (see D46657) Reviewed by: jhb, markj Differential Revision: https://reviews.freebsd.org/D49571 (cherry picked from commit 1c95d401ebe5075ebb38b57638830713a496f107) --- sys/compat/linuxkpi/common/include/linux/slab.h | 31 +++++++++++----------- sys/compat/linuxkpi/common/src/linux_slab.c | 35 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index ddaabcef0b9c..a692ccb8b944 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -94,6 +94,7 @@ extern void *lkpi_kmalloc(size_t size, gfp_t flags); void *lkpi___kmalloc(size_t size, gfp_t flags); void *lkpi___kmalloc_node(size_t size, gfp_t flags, int node); #define __kmalloc(_s, _f) lkpi___kmalloc(_s, _f) +void *lkpi_krealloc(void *, size_t, gfp_t); static inline gfp_t linux_check_m_flags(gfp_t flags) @@ -148,6 +149,21 @@ kcalloc_node(size_t n, size_t size, gfp_t flags, int node) return (kmalloc_array_node(n, size, flags, node)); } +static inline void * +krealloc(void *ptr, size_t size, gfp_t flags) +{ + return (lkpi_krealloc(ptr, size, flags)); +} + +static inline void * +krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) +{ + if (WOULD_OVERFLOW(n, size)) + return NULL; + + return (krealloc(ptr, n * size, flags)); +} + static inline void * __vmalloc(size_t size, gfp_t flags, int other) { @@ -183,21 +199,6 @@ kvmalloc_array(size_t n, size_t size, gfp_t flags) return (kvmalloc(size * n, flags)); } -static inline void * -krealloc(void *ptr, size_t size, gfp_t flags) -{ - return (realloc(ptr, size, M_KMALLOC, linux_check_m_flags(flags))); -} - -static inline void * -krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) -{ - if (WOULD_OVERFLOW(n, size)) - return NULL; - - return (realloc(ptr, n * size, M_KMALLOC, linux_check_m_flags(flags))); -} - extern void linux_kfree_async(void *); static inline void diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index 4b0b18178a5c..abcffdb094f5 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -234,6 +234,41 @@ lkpi___kmalloc(size_t size, gfp_t flags) 0, -1UL, PAGE_SIZE, 0)); } +void * +lkpi_krealloc(void *ptr, size_t size, gfp_t flags) +{ + void *nptr; + size_t osize; + + /* + * First handle invariants based on function arguments. + */ + if (ptr == NULL) + return (kmalloc(size, flags)); + + osize = ksize(ptr); + if (size <= osize) + return (ptr); + + /* + * We know the new size > original size. realloc(9) does not (and cannot) + * know about our requirements for physically contiguous memory, so we can + * only call it for sizes up to and including PAGE_SIZE, and otherwise have + * to replicate its functionality using kmalloc to get the contigmalloc(9) + * backing. + */ + if (size <= PAGE_SIZE) + return (realloc(ptr, size, M_KMALLOC, linux_check_m_flags(flags))); + + nptr = kmalloc(size, flags); + if (nptr == NULL) + return (NULL); + + memcpy(nptr, ptr, osize); + kfree(ptr); + return (nptr); +} + struct lkpi_kmalloc_ctx { size_t size; gfp_t flags; From nobody Fri Apr 18 14:36:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQd0sj8z5stdr; Fri, 18 Apr 2025 14:36: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 4ZfHQc63yzz3Jxd; Fri, 18 Apr 2025 14:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YxmKw1nekafzVXrQxc0/4kdYXoHvqfdVrdNAuSlJaHo=; b=aYMNz4LmlYGfiXf/ntRlwaj6onZlOVUi0D4ZtdpqK5LVy/y9gtJEvLoaCJMxxOlot8Ms1i bbg1RNjz/7C9nc1ki2k6/MLIOoD3snj6lTGZj6ha68ov/3QgYW3eBlR+QLebQ0GFIL9ZQ8 2Mri2aXRnRNqGeZEFRXoH2IS/FAsm4uhok4ngaT+zNF+5ReiCbB8TPZ90npFkJShIttaDD DtvSVzaUhRi7mGzdRAH4+aQSnMUYzsEhae3eVHVwEBKBrPUQ1MUVSYgH58pVsMjxgb3Ez0 hI6eakq0L/3uZOACwztmwpUVwOSxzNoQ9BElHA1Z2jY34a5gjUMdk/yOpYpcig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987016; a=rsa-sha256; cv=none; b=PPrjcaFbOqNRbO8kxUdi5PcDjX2xOOkZjV41GeKBtUYBqD+ooD1rnfax9vM1bkyW4zM0Lj xUa6yp7oS2Jb8+vOPKsNoKAtw0hUVHu5Bse+LtWoeZA8umNcWWHjxTrOfNwWG50BVKQZ+0 dlPeYH+rVi/JzKdJGq78QaTGIChqFHaeBGMJfbgm8fyNKe0CbYGmCj+lIf2sdKtMxl0YcE 5IuPl4e2pMFnsEP2oHkm9AN5ygWSY1v1BQroN6wPHYCZ7ySvbr3oy18k/5CY4FTEKOOT9R box5uuBWyrBkDUPHmJZtbDSol3ZxeuqoLmfizFrozCOFleI++ic5MeqKjOHDzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YxmKw1nekafzVXrQxc0/4kdYXoHvqfdVrdNAuSlJaHo=; b=qfAZXVOk/4A/FrkKZfLcYOQsZfMuXnwdzPqU3DoGMvt/2jAId6uXcmQcqNDXRGHrxFzYzo t8vLGd6mxtNT2kz9a6xm25kGJV8E7qJWKeCYfhaEnXIz2EEx8AOR84eVJUwPVvERpq9+c6 LSRHwsfyCb/lCemuGNsSkh92zQ40pmI5HYRUj3c/vkxhZIdE5gWoVsimACnqHMXu6nd3ly pdwc96t0yfXy6h8avk5a6KTu5aJxwBeBmPA6cAhm4dk0dvDSdD7C0Aok+g+f89cQCBfahW sKuCL702eeZPzteeAfnhGZA8EqRYdMwAEoTGCx/O0SuwCgcdybi1toq7snAWuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQc5N6Hzf3n; Fri, 18 Apr 2025 14:36: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 53IEauxG091265; Fri, 18 Apr 2025 14:36:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEaub8091262; Fri, 18 Apr 2025 14:36:56 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:56 GMT Message-Id: <202504181436.53IEaub8091262@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ebe210ca703b - stable/14 - LinuxKPI; cleanup slab.h a bit; move more free() into slab.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ebe210ca703bd584274396b2c0fa1694750f05c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ebe210ca703bd584274396b2c0fa1694750f05c1 commit ebe210ca703bd584274396b2c0fa1694750f05c1 Author: Bjoern A. Zeeb AuthorDate: 2025-03-29 17:33:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 LinuxKPI; cleanup slab.h a bit; move more free() into slab.c Move kfree() into slab.c as an implementation and hide the private function linux_kfree_async() entirely. Remove a ; at the end of a define and sort some defines into place. Remove extern from function declarations and move the closer to where they belong. Sort the functions into "base allocator/free" functions--these have an implementation in slab.c and are ensuring contiguous physical memory allocations. Followed by inline functions using these base allocators to implement their functionality; vmalloc/kvalloc, and misc functions. Sponsored by: The FreeBSD Foundation Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D49572 (cherry picked from commit a3e6f97bf57c1d323487d07369aec66542f995ce) --- sys/compat/linuxkpi/common/include/linux/slab.h | 111 ++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_slab.c | 19 +++- 2 files changed, 84 insertions(+), 46 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index a692ccb8b944..f3a840d9bf4b 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -4,6 +4,10 @@ * Copyright (c) 2010 Panasas, Inc. * Copyright (c) 2013-2021 Mellanox Technologies, Ltd. * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Björn Zeeb + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -41,12 +45,12 @@ MALLOC_DECLARE(M_KMALLOC); -#define kmalloc(size, flags) lkpi_kmalloc(size, flags) #define kvzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) #define kvcalloc(n, size, flags) kvmalloc_array(n, size, (flags) | __GFP_ZERO) #define kzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) #define kzalloc_node(size, flags, node) kmalloc_node(size, (flags) | __GFP_ZERO, node) #define kfree_const(ptr) kfree(ptr) +#define kfree_async(ptr) kfree(ptr) /* drm-kmod 5.4 compat */ #define vzalloc(size) __vmalloc(size, GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO, 0) #define vfree(arg) kfree(arg) #define kvfree(arg) kfree(arg) @@ -84,17 +88,21 @@ struct linux_kmem_cache; #define ARCH_KMALLOC_MINALIGN \ __alignof(unsigned long long) -/* drm-kmod 5.4 compat */ -#define kfree_async(ptr) kfree(ptr); - #define ZERO_SIZE_PTR ((void *)16) #define ZERO_OR_NULL_PTR(x) ((x) == NULL || (x) == ZERO_SIZE_PTR) -extern void *lkpi_kmalloc(size_t size, gfp_t flags); -void *lkpi___kmalloc(size_t size, gfp_t flags); -void *lkpi___kmalloc_node(size_t size, gfp_t flags, int node); -#define __kmalloc(_s, _f) lkpi___kmalloc(_s, _f) +struct linux_kmem_cache *linux_kmem_cache_create(const char *name, + size_t size, size_t align, unsigned flags, linux_kmem_ctor_t *ctor); +void *lkpi_kmem_cache_alloc(struct linux_kmem_cache *, gfp_t); +void *lkpi_kmem_cache_zalloc(struct linux_kmem_cache *, gfp_t); +void lkpi_kmem_cache_free(struct linux_kmem_cache *, void *); +void linux_kmem_cache_destroy(struct linux_kmem_cache *); + +void *lkpi_kmalloc(size_t, gfp_t); +void *lkpi___kmalloc(size_t, gfp_t); +void *lkpi___kmalloc_node(size_t, gfp_t, int); void *lkpi_krealloc(void *, size_t, gfp_t); +void lkpi_kfree(const void *); static inline gfp_t linux_check_m_flags(gfp_t flags) @@ -111,12 +119,43 @@ linux_check_m_flags(gfp_t flags) return (flags & GFP_NATIVE_MASK); } +/* + * Base functions with a native implementation. + */ +static inline void * +kmalloc(size_t size, gfp_t flags) +{ + return (lkpi_kmalloc(size, flags)); +} + +static inline void * +__kmalloc(size_t size, gfp_t flags) +{ + return (lkpi___kmalloc(size, flags)); +} + static inline void * kmalloc_node(size_t size, gfp_t flags, int node) { return (lkpi___kmalloc_node(size, flags, node)); } +static inline void * +krealloc(void *ptr, size_t size, gfp_t flags) +{ + return (lkpi_krealloc(ptr, size, flags)); +} + +static inline void +kfree(const void *ptr) +{ + lkpi_kfree(ptr); +} + +/* + * Other k*alloc() funtions using the above as underlying allocator. + */ +/* kmalloc */ static inline void * kmalloc_array(size_t n, size_t size, gfp_t flags) { @@ -130,9 +169,10 @@ static inline void * kcalloc(size_t n, size_t size, gfp_t flags) { flags |= __GFP_ZERO; - return (kmalloc_array(n, size, linux_check_m_flags(flags))); + return (kmalloc_array(n, size, flags)); } +/* kmalloc_node */ static inline void * kmalloc_array_node(size_t n, size_t size, gfp_t flags, int node) { @@ -149,12 +189,7 @@ kcalloc_node(size_t n, size_t size, gfp_t flags, int node) return (kmalloc_array_node(n, size, flags, node)); } -static inline void * -krealloc(void *ptr, size_t size, gfp_t flags) -{ - return (lkpi_krealloc(ptr, size, flags)); -} - +/* krealloc */ static inline void * krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) { @@ -164,6 +199,9 @@ krealloc_array(void *ptr, size_t n, size_t size, gfp_t flags) return (krealloc(ptr, n * size, flags)); } +/* + * vmalloc/kvalloc functions. + */ static inline void * __vmalloc(size_t size, gfp_t flags, int other) { @@ -199,29 +237,6 @@ kvmalloc_array(size_t n, size_t size, gfp_t flags) return (kvmalloc(size * n, flags)); } -extern void linux_kfree_async(void *); - -static inline void -kfree(const void *ptr) -{ - if (ZERO_OR_NULL_PTR(ptr)) - return; - - if (curthread->td_critnest != 0) - linux_kfree_async(__DECONST(void *, ptr)); - else - free(__DECONST(void *, ptr), M_KMALLOC); -} - -static __inline void -kfree_sensitive(const void *ptr) -{ - if (ZERO_OR_NULL_PTR(ptr)) - return; - - zfree(__DECONST(void *, ptr), M_KMALLOC); -} - static inline void * kvrealloc(const void *ptr, size_t oldsize, size_t newsize, gfp_t flags) { @@ -239,6 +254,19 @@ kvrealloc(const void *ptr, size_t oldsize, size_t newsize, gfp_t flags) return (newptr); } +/* + * Misc. + */ + +static __inline void +kfree_sensitive(const void *ptr) +{ + if (ZERO_OR_NULL_PTR(ptr)) + return; + + zfree(__DECONST(void *, ptr), M_KMALLOC); +} + static inline size_t ksize(const void *ptr) { @@ -253,11 +281,4 @@ kmalloc_size_roundup(size_t size) return (malloc_size(size)); } -extern struct linux_kmem_cache *linux_kmem_cache_create(const char *name, - size_t size, size_t align, unsigned flags, linux_kmem_ctor_t *ctor); -extern void *lkpi_kmem_cache_alloc(struct linux_kmem_cache *, gfp_t); -extern void *lkpi_kmem_cache_zalloc(struct linux_kmem_cache *, gfp_t); -extern void lkpi_kmem_cache_free(struct linux_kmem_cache *, void *); -extern void linux_kmem_cache_destroy(struct linux_kmem_cache *); - #endif /* _LINUXKPI_LINUX_SLAB_H_ */ diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index abcffdb094f5..3d75ca480661 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -1,6 +1,10 @@ /*- * Copyright (c) 2017 Mellanox Technologies, Ltd. * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Björn Zeeb + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -303,7 +307,7 @@ linux_kfree_async_fn(void *context, int pending) static struct task linux_kfree_async_task = TASK_INITIALIZER(0, linux_kfree_async_fn, &linux_kfree_async_task); -void +static void linux_kfree_async(void *addr) { if (addr == NULL) @@ -311,3 +315,16 @@ linux_kfree_async(void *addr) llist_add(addr, &linux_kfree_async_list); taskqueue_enqueue(linux_irq_work_tq, &linux_kfree_async_task); } + +void +lkpi_kfree(const void *ptr) +{ + if (ZERO_OR_NULL_PTR(ptr)) + return; + + if (curthread->td_critnest != 0) + linux_kfree_async(__DECONST(void *, ptr)); + else + free(__DECONST(void *, ptr), M_KMALLOC); +} + From nobody Fri Apr 18 14:36:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQf24FLz5stWG; Fri, 18 Apr 2025 14:36: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 4ZfHQd6T7Fz3KGD; Fri, 18 Apr 2025 14:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G21ZZM/ohXObVRcXAczoeIqgBq1icpUnsBB+f0c/W28=; b=oBnr/rrKvkYzsiRzBKacLiJPXeHhwR20d+012X55m4QNAZvxxmDwWsW4Js/64Q3MhESRwl AR9c5AL8RkVt6jMAw4ofHOzUq9aCrWX19ecyg7apTV1WgsWZq4vY46omVpfegQDiIssbV0 Ty3v5iqachcoK6+MMsv5vYEEd1rN6zwBBIOKRoF3JCx7nO1ojpJ+om0GZY+N0lN1n8hWLO ZGou4DE6HWgF+h+yrOVkZn9cTNw7ZYCF/KyqfV+mIkfxp8b7p1a2+okycZVm1U2s22ql4n H/42QMNR5GbgFUNH+RZ6PLM2TktHS+wn43ziGr93nlao0VgUs4+PmEMku8yn/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987017; a=rsa-sha256; cv=none; b=c8+VLIzxgehBjuP0Dcwlwa0ORdZ7nyBEU2vcDD2Df5C5h2GIojrif9JmdQC9ZX7CrWAUbh Wvc4c2L0NxA/qftuvaeSCdIOghDnEA/huSPirG1Y129qMCXz6L6T09emUujqA2ERn44jqP Mw/i6kjsBYPAj3j+G/QqWxGszu5YCpeogck7KBcDRYv8ZJ+5TGfPCG+869bPafgZpOYdN+ BkpVr2Xb/IAhbf7jhV9hM1/AFoIB6LaYTwBRYlrCHFsd/z57KwsF1zRB/c0iIQC/oJhhFb 37xDDXNeydOte9gE5o5otMvPGx3Bcp73QuPGaj+op1hGJd1VYVHbY99gjAMEQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G21ZZM/ohXObVRcXAczoeIqgBq1icpUnsBB+f0c/W28=; b=OSsSwAbQNgI4SutaP2Hp7K+XhbVSGBs+0IUIgRxE5Bya9YXIEUYjDmWt2VuNidwykZCFsY 8TCzVOlSYnvcMVTv0gwcDc4aTtl0T54xARX1JySZDA6erxiH3IwX60Z1zJ3oH0luu/gxSj Bh0unqlc209tWI/6guaFwHYLg/Vg5ZWvOxDTeEshyyh2vUv0FEeP2qp4HXfD2EKt5s4LRl PjiXsV2i0gcjDkSVeZuPVX4Adhon0iOZauNfNb6e1EOir4rW2DvFdIbwYtVFjh+tf5ESe3 lxWvQJNdLq2t31O/UNdvfJmcWx/WDR/6ebZ6wDTj0x2zJakuotNioZuxj9L3tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQd62Zhzf3p; Fri, 18 Apr 2025 14:36: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 53IEavOB091302; Fri, 18 Apr 2025 14:36:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEaveQ091299; Fri, 18 Apr 2025 14:36:57 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:57 GMT Message-Id: <202504181436.53IEaveQ091299@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 719721ca4b4e - stable/14 - LinuxKPI: add seq_hex_dump() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 719721ca4b4e03f9e4945fb6ba31a18023a45a0c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=719721ca4b4e03f9e4945fb6ba31a18023a45a0c commit 719721ca4b4e03f9e4945fb6ba31a18023a45a0c Author: Bjoern A. Zeeb AuthorDate: 2025-04-02 18:06:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 LinuxKPI: add seq_hex_dump() Move the implementation of print_hex_dump() into linux_compat.c as lkpi_hex_dump() taking an extra function pointer and argument. Add two internal wrappers for printf and sbuf_printf to get a common function definition (sbuf_printf takes the extra argument). Use these to implement print_hex_dump() and the newly added seq_hex_dump(). This allows us to re-use the same implementation of print_hex_dump() for both functions without duplicating the code. Initial implementation: D49381 by dumbbell Sponsored by: The FreeBSD Foundation Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D49637 (cherry picked from commit 4359672e656af5e6758d0aae147212e58f445f5b) --- sys/compat/linuxkpi/common/include/linux/printk.h | 54 +++------------ .../linuxkpi/common/include/linux/seq_file.h | 14 ++++ sys/compat/linuxkpi/common/src/linux_compat.c | 80 ++++++++++++++++++++++ 3 files changed, 102 insertions(+), 46 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/printk.h b/sys/compat/linuxkpi/common/include/linux/printk.h index 3840a6e5fb8a..da9d45122d4d 100644 --- a/sys/compat/linuxkpi/common/include/linux/printk.h +++ b/sys/compat/linuxkpi/common/include/linux/printk.h @@ -44,57 +44,19 @@ enum { DUMP_PREFIX_OFFSET }; +int __lkpi_hexdump_printf(void *, const char *, ...) __printflike(2, 3); + +void lkpi_hex_dump(int(*)(void *, const char *, ...), void *arg1, + const char *, const char *, const int, const int, const int, + const void *, size_t, const bool); + static inline void print_hex_dump(const char *level, const char *prefix_str, const int prefix_type, const int rowsize, const int groupsize, const void *buf, size_t len, const bool ascii) { - typedef const struct { long long value; } __packed *print_64p_t; - typedef const struct { uint32_t value; } __packed *print_32p_t; - typedef const struct { uint16_t value; } __packed *print_16p_t; - const void *buf_old = buf; - int row; - - while (len > 0) { - if (level != NULL) - printf("%s", level); - if (prefix_str != NULL) - printf("%s ", prefix_str); - - switch (prefix_type) { - case DUMP_PREFIX_ADDRESS: - printf("[%p] ", buf); - break; - case DUMP_PREFIX_OFFSET: - printf("[%#tx] ", ((const char *)buf - - (const char *)buf_old)); - break; - default: - break; - } - for (row = 0; row != rowsize; row++) { - if (groupsize == 8 && len > 7) { - printf("%016llx ", ((print_64p_t)buf)->value); - buf = (const uint8_t *)buf + 8; - len -= 8; - } else if (groupsize == 4 && len > 3) { - printf("%08x ", ((print_32p_t)buf)->value); - buf = (const uint8_t *)buf + 4; - len -= 4; - } else if (groupsize == 2 && len > 1) { - printf("%04x ", ((print_16p_t)buf)->value); - buf = (const uint8_t *)buf + 2; - len -= 2; - } else if (len > 0) { - printf("%02x ", *(const uint8_t *)buf); - buf = (const uint8_t *)buf + 1; - len--; - } else { - break; - } - } - printf("\n"); - } + lkpi_hex_dump(__lkpi_hexdump_printf, NULL, level, prefix_str, prefix_type, + rowsize, groupsize, buf, len, ascii); } static inline void diff --git a/sys/compat/linuxkpi/common/include/linux/seq_file.h b/sys/compat/linuxkpi/common/include/linux/seq_file.h index d8b327f59538..876ef9e8dfe5 100644 --- a/sys/compat/linuxkpi/common/include/linux/seq_file.h +++ b/sys/compat/linuxkpi/common/include/linux/seq_file.h @@ -28,9 +28,13 @@ #ifndef _LINUXKPI_LINUX_SEQ_FILE_H_ #define _LINUXKPI_LINUX_SEQ_FILE_H_ +#include +#include + #include #include #include +#include #undef file #define inode vnode @@ -89,6 +93,16 @@ void lkpi_seq_printf(struct seq_file *m, const char *fmt, ...); #define seq_vprintf(...) lkpi_seq_vprintf(__VA_ARGS__) #define seq_printf(...) lkpi_seq_printf(__VA_ARGS__) +int __lkpi_hexdump_sbuf_printf(void *, const char *, ...) __printflike(2, 3); + +static inline void +seq_hex_dump(struct seq_file *m, const char *prefix_str, int prefix_type, + int rowsize, int groupsize, const void *buf, size_t len, bool ascii) +{ + lkpi_hex_dump(__lkpi_hexdump_sbuf_printf, m->buf, NULL, prefix_str, prefix_type, + rowsize, groupsize, buf, len, ascii); +} + #define file linux_file #endif /* _LINUXKPI_LINUX_SEQ_FILE_H_ */ diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index a30523e88864..a2c2d18c8185 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -95,6 +95,8 @@ #include #include #include +#include +#include #if defined(__i386__) || defined(__amd64__) #include @@ -1917,6 +1919,84 @@ kasprintf(gfp_t gfp, const char *fmt, ...) return (p); } +int +__lkpi_hexdump_printf(void *arg1 __unused, const char *fmt, ...) +{ + va_list ap; + int result; + + va_start(ap, fmt); + result = vprintf(fmt, ap); + va_end(ap); + return (result); +} + +int +__lkpi_hexdump_sbuf_printf(void *arg1, const char *fmt, ...) +{ + va_list ap; + int result; + + va_start(ap, fmt); + result = sbuf_vprintf(arg1, fmt, ap); + va_end(ap); + return (result); +} + +void +lkpi_hex_dump(int(*_fpf)(void *, const char *, ...), void *arg1, + const char *level, const char *prefix_str, + const int prefix_type, const int rowsize, const int groupsize, + const void *buf, size_t len, const bool ascii) +{ + typedef const struct { long long value; } __packed *print_64p_t; + typedef const struct { uint32_t value; } __packed *print_32p_t; + typedef const struct { uint16_t value; } __packed *print_16p_t; + const void *buf_old = buf; + int row; + + while (len > 0) { + if (level != NULL) + _fpf(arg1, "%s", level); + if (prefix_str != NULL) + _fpf(arg1, "%s ", prefix_str); + + switch (prefix_type) { + case DUMP_PREFIX_ADDRESS: + _fpf(arg1, "[%p] ", buf); + break; + case DUMP_PREFIX_OFFSET: + _fpf(arg1, "[%#tx] ", ((const char *)buf - + (const char *)buf_old)); + break; + default: + break; + } + for (row = 0; row != rowsize; row++) { + if (groupsize == 8 && len > 7) { + _fpf(arg1, "%016llx ", ((print_64p_t)buf)->value); + buf = (const uint8_t *)buf + 8; + len -= 8; + } else if (groupsize == 4 && len > 3) { + _fpf(arg1, "%08x ", ((print_32p_t)buf)->value); + buf = (const uint8_t *)buf + 4; + len -= 4; + } else if (groupsize == 2 && len > 1) { + _fpf(arg1, "%04x ", ((print_16p_t)buf)->value); + buf = (const uint8_t *)buf + 2; + len -= 2; + } else if (len > 0) { + _fpf(arg1, "%02x ", *(const uint8_t *)buf); + buf = (const uint8_t *)buf + 1; + len--; + } else { + break; + } + } + _fpf(arg1, "\n"); + } +} + static void linux_timer_callback_wrapper(void *context) { From nobody Fri Apr 18 14:37:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQk0SvNz5stR1; Fri, 18 Apr 2025 14:37: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 4ZfHQj2sF4z3KQX; Fri, 18 Apr 2025 14:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQD4nRA4BGlnNE5qwz+20AgGhONJTHeiVsim+1UdfOk=; b=mLi6xs5so+ARVTWre/ZMZKHQMG/8dynXU1/gLLKA56bsAnJMy9+UeGqkUH+rLkwWOQ8CmB X7TaEzXxDRDAFoIZTv5VOgY4BrB+KQ7QXC0LPWtZtIXr8tXIJd0XcE305CFDfUort6uwr3 MazlchiIv94dNbMKXrVpBbKvc7/bl9DIISWfF6Bsy7/uTie5e9asDxkKjltLYhM3Gj/+qX QU2ZeZP/80ABICu7b6ZUl1IjQjtXQivn1JhH1SBriEnmEcpzmAqE7n0RVB+5n0e/vn/zJo gV58eAt/POxH7BBpII8tpQqFTwOIicQe1GUIf/clJBc/qeuN9Kp8xkMObGZWlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987021; a=rsa-sha256; cv=none; b=jp7//p20ILWE/e3KFNfJB3DiPCkF29ghkLHT5NKR29K+Dhc7/LUHFPHgHfVdRD8+qaoYGE PfmWkswRuAamUjl1zO+lOW4Py3GVOyK9pXtfVxXR0HghjvbCdAh6d3J1WxktxCscmXWRxT zQN991TnS00uIy7uOX/EuX3COlRtSAcu9v/BPX44jt8BHWcZJ+l1D81GTfHqeNhgxxYO0L tKqZjrkqrkjhbJaXb/fFhpkp/pMOWpCldJtRnEV9RJpomaPHDCUOaI/i8zmMDst7nOXYin 6JaRSO1ODbf1cqF72qAjsMPq9iUv8QgB0kTHSZu0ZCfkL1ZUEpyLgjKkwr9uog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQD4nRA4BGlnNE5qwz+20AgGhONJTHeiVsim+1UdfOk=; b=hDQtmTMjwn8sJahD9mIxlPsT5OQVJjvs690R26QaiGO9vEE9Lj87Y8lln/Kq3ko78DUl9A 841m2qcJfpwJCxkCBu/VEwV+UA4uHRbDukXJpJMnTzQsZF9dUGZHBy/2XDkhmfZ6t/ZcBC AIBrgNA+YBqlyVRwmVNBYwP2fy0wNvHLtCPdcYetp8qg+fbc0EI8pmFxNAXZw+NlhLpbhP 7BPKIDjga8OSxMdcwa/x0hR1/Q1M5tXwWwYxxLT/H63tSb6/X6wTW+Nw4EW903/o/RrP7w eY6AVnBi3oFV8rgW4JXx3gMqE57LesoPmOlUMvDe/Ulfco4o/OdIv+xHDIUQSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQj22QXzfDx; Fri, 18 Apr 2025 14:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEb1Lf091426; Fri, 18 Apr 2025 14:37:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb1FS091423; Fri, 18 Apr 2025 14:37:01 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:01 GMT Message-Id: <202504181437.53IEb1FS091423@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 8f564898b937 - stable/14 - net80211: cleanup keyidx argument of ieee80211_notify_michael_failure() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8f564898b937555273d6a8da107168ce16c7db99 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8f564898b937555273d6a8da107168ce16c7db99 commit 8f564898b937555273d6a8da107168ce16c7db99 Author: Bjoern A. Zeeb AuthorDate: 2025-03-14 23:33:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 net80211: cleanup keyidx argument of ieee80211_notify_michael_failure() Instead of passing -1 to the function in ieee80211_crypto_demic(), use the defined IEEE80211_KEYIX_NONE. net80211 uses ieee80211_keyix not u_int as type for the key index internally. Use that. This also helps when printing the -1 unsigned as it stays within the expected numerical scope and makes the debug message more readable. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49368 (cherry picked from commit db8ceb8e59487d1d6b2e019efab3eef40688731c) --- sys/net80211/ieee80211_crypto.c | 3 ++- sys/net80211/ieee80211_crypto.h | 2 +- sys/net80211/ieee80211_freebsd.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_crypto.c b/sys/net80211/ieee80211_crypto.c index c5e0816bd43c..45316b43605a 100644 --- a/sys/net80211/ieee80211_crypto.c +++ b/sys/net80211/ieee80211_crypto.c @@ -725,7 +725,8 @@ ieee80211_crypto_demic(struct ieee80211vap *vap, struct ieee80211_key *k, * modules to handle a NULL key and not to dereference * it. */ - ieee80211_notify_michael_failure(vap, wh, -1); + ieee80211_notify_michael_failure(vap, wh, + IEEE80211_KEYIX_NONE); return (0); } diff --git a/sys/net80211/ieee80211_crypto.h b/sys/net80211/ieee80211_crypto.h index 156d5d77fd55..49e3f93410b2 100644 --- a/sys/net80211/ieee80211_crypto.h +++ b/sys/net80211/ieee80211_crypto.h @@ -249,6 +249,6 @@ void ieee80211_notify_replay_failure(struct ieee80211vap *, const struct ieee80211_frame *, const struct ieee80211_key *, uint64_t rsc, int tid); void ieee80211_notify_michael_failure(struct ieee80211vap *, - const struct ieee80211_frame *, u_int keyix); + const struct ieee80211_frame *, ieee80211_keyix keyix); #endif /* defined(__KERNEL__) || defined(_KERNEL) */ #endif /* _NET80211_IEEE80211_CRYPTO_H_ */ diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index db118bc19d16..d3c8352ab411 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -870,7 +870,7 @@ ieee80211_notify_replay_failure(struct ieee80211vap *vap, void ieee80211_notify_michael_failure(struct ieee80211vap *vap, - const struct ieee80211_frame *wh, u_int keyix) + const struct ieee80211_frame *wh, ieee80211_keyix keyix) { struct ifnet *ifp = vap->iv_ifp; From nobody Fri Apr 18 14:37:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQj4T7dz5stf2; Fri, 18 Apr 2025 14:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHQh2t8lz3KB0; Fri, 18 Apr 2025 14:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0zf3C04ZCZn13uWGa2HH3LAsTrmBNUzKZQSuz8nwTc=; b=JTK4ivS5En0Uimudo+RGXQhhNIwrpiQXdluAQdqaivECC9Q3RpeaSiH3p/x5ouUuxoXPGR MIKC+s8RwI+9vktrMnr6dwHOIr/ZCkgaw+zEocFYuQrJaHqOCqSQAd/N9VUe5nnVxao2Xb KnV7lRWmwdRG8rt/TZR6LluOchWt39yv0JceMP0LfIBP2emiztuz+EZuKcFH6mkDxaJGVV s3zvK+cDUx+DdamWnWorGVX+0XENFstEVu/nzkPJE9krmIPPxJVyqVBvz+CilfNaboL+5c 8hOx/wYesXtiopsdCKvwISS3zo/d2/jK1YidpMFnLKvuOkes0ocEe5h+1i6j3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987020; a=rsa-sha256; cv=none; b=J44++4SDxsbovvJRh5LZV2HHsBgJB6WrAD0kmxCJKc4dxW+g7IGgSQe1wANLFg74ENsXb7 PwN3aYuGBJ/2ARiDHKcSYg1SDwiDrj9CButkC80TiPX2LwKAHpGzcKEs9Ut7bsxUQ++9ps sFAi0+jfn4BEnZcm2g+xPbXDBtg/cwgOOWsmYNKSF8OaPIQFYUUD+2HTqw6ZYu7Q1B7kEU vr8Mjf4A3+nIedlQojSv91ZAcTXJ0blN34sbgLI3fKuugF3SMPrcvzO39bNB93zieDvMw3 fqu13bKb4g8NsqEgYk2VIx1wwcykRJc1xWuw8nd7JZQ4NhWxT3LrqvAOIj95NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0zf3C04ZCZn13uWGa2HH3LAsTrmBNUzKZQSuz8nwTc=; b=qbANbVnACtHf45JxGnvNQSEg24xpY26AOWSdSlToU9GiTNs/HPEgV6hBTEE3Q7tp9C2b6h 9/1SdAIVj2CaVSPJWyJ8flCfo+s/uKSy9ouNa+uJZkfm+yIDHzSrlJO5tDHPd62aqyv47y sI3chLb6LT/kfMsvp0+g1M4FxlFiDZaWmTXWqsFDZkV3RsCA2/6TRv4Cp45sN19YnvHnBZ UXEs5qFRTYR5u2qCRlctzGrrJRHY1XocXFXI/wNOxOaP7KPQfMttEfAnn40qvuv7aqxkYR idh7RhhZn14852f+YXT0SYjuNIEpeLZumOTcPm01cNMMbyHx/jg0AeJOSNICCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQh0kJDzdwf; Fri, 18 Apr 2025 14:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEb0GO091389; Fri, 18 Apr 2025 14:37:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb0wP091386; Fri, 18 Apr 2025 14:37:00 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:00 GMT Message-Id: <202504181437.53IEb0wP091386@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 20f3d58fb8a6 - stable/14 - net80211: correct IEEE80211_KEY_BITS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 20f3d58fb8a61582dbaedb87d76eecc42f15b961 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=20f3d58fb8a61582dbaedb87d76eecc42f15b961 commit 20f3d58fb8a61582dbaedb87d76eecc42f15b961 Author: Bjoern A. Zeeb AuthorDate: 2025-03-14 23:22:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 net80211: correct IEEE80211_KEY_BITS Not only are some of the bits missing, \4 and following were also off-by-one. Correct that so we can use them instead of reading hex numbers. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49366 (cherry picked from commit 0461600deaa227050fbff60274ba72ab3a407bcc) --- sys/net80211/ieee80211_crypto.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_crypto.h b/sys/net80211/ieee80211_crypto.h index fc7c13cfdfb4..156d5d77fd55 100644 --- a/sys/net80211/ieee80211_crypto.h +++ b/sys/net80211/ieee80211_crypto.h @@ -118,8 +118,8 @@ struct ieee80211_key { IEEE80211_KEY_NOIVMGT|IEEE80211_KEY_NOMIC|IEEE80211_KEY_NOMICMGT) #define IEEE80211_KEY_BITS \ - "\20\1XMIT\2RECV\3GROUP\4SWENCRYPT\5SWDECRYPT\6SWENMIC\7SWDEMIC" \ - "\10DEVKEY\11CIPHER0\12CIPHER1" + "\20\1XMIT\2RECV\3GROUP\4NOREPLAY\5SWENCRYPT\6SWDECRYPT\7SWENMIC\10SWDEMIC" \ + "\11DEVKEY\12CIPHER0\13CIPHER1\14NOIV\15NOIVMGT\16NOMIC\17NOMICMGT" #define IEEE80211_KEYIX_NONE ((ieee80211_keyix) -1) From nobody Fri Apr 18 14:36:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQg2M6Pz5stWK; Fri, 18 Apr 2025 14:36: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 4ZfHQg0RMTz3KPT; Fri, 18 Apr 2025 14:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TlulT2EyP4QairBnM8ENTryE0wKfwarEO2+PoYrTwfE=; b=ppB5Hi1bkAsLMrGKfPwg1cWpKHUAPWs2puCwR+XkpRYMq3B7ni0LRMw5l6+UUR6y459v+h qtzmcUOPkLSoXLc5PvbSBOqTeXTxjq9LPX+JW1EbZBKRe3p+MXeI2DSe16EiF8Y7R6Z8OQ K253g5bOzOKb37ZQgKiIqMQvQ9tZtdOCd73dakWDkga1c4Hz0JrnsuH7W6xcvPVfhK9JLf goy0MqLDrhMvDUtEJw7O0BI76SOkaJlRFeYIckEydJj5zeUF7qYzm0xtPOsDT6M/i02+py G7DOIRgR64vThEefI9S6r85K9BgyvfStx1OxmEuprkLeuahkDzmS2Q3Sth0Frg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987019; a=rsa-sha256; cv=none; b=Wpou9Gnv8i+AQkPPhmxoTuQY3SawqMp3cmRC2X7XazECIvK0u3V8h/i50J00DRS7dxleU1 3GRaP1wZhIAYtdbsONpfSjyF5enrUDTWnFk0XMD3SUzq6UUEJQG72wXLZ+6RicYDRXq4iS dCCPZmVFcSyisrsk7QJ8dXbEU46zSiH4QxVaPhmO4qp58riGKv4+7JFa1NQu1Me5Fl55gs 5bRq+Te21iHW6yDFuNFvnNZhZlgpUyh9quGppDDl21oGEyCNaIQ7WZcP4nqIdunBf1bFAm hdBwqFcp/TnsgPYRoc7q79gW8l3DlKMribtHfwXLTPO1+/OQVwEm1JjKbtMqsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TlulT2EyP4QairBnM8ENTryE0wKfwarEO2+PoYrTwfE=; b=nU/kxVOoJU0ZBiy7x/3Qf+a+Q3amnT1dtd2CAEHl+/MLO0YQuiNe528e65ZLEnVQlsecBp G9CueW950H4QCW3001gAXYZ8pAGRj12EZ9fscaD/d6QyG0wFjry5dBuiJENWJrsXLlYY1R 00YobQP5CspFGVK20t+4nVZqa1osYTHytTpBFEUDIG/0x0q8ml8jZxokX2923mKB43eYw+ PukLJ0abEQW7QGL+Ddlv/OD+4iCvKa98odZbDEcWqMZzaCCSHaCJteFDnBtMAJeBHumWf2 ah9DxTiRaYsmdEHMGyFxb6sJPfWidOhyA69qZQj5bR1nvfy66GRqk7n/Ygc+Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQf73bNzdxs; Fri, 18 Apr 2025 14:36:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEawDc091339; Fri, 18 Apr 2025 14:36:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEawXY091336; Fri, 18 Apr 2025 14:36:58 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:36:58 GMT Message-Id: <202504181436.53IEawXY091336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 02ad13b3796a - stable/14 - net80211/regdomain: try to sort out TW List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 02ad13b3796a3e1bc74de10b2e9a70db356deea2 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=02ad13b3796a3e1bc74de10b2e9a70db356deea2 commit 02ad13b3796a3e1bc74de10b2e9a70db356deea2 Author: Bjoern A. Zeeb AuthorDate: 2025-04-11 13:12:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:58 +0000 net80211/regdomain: try to sort out TW Try to help people in TW to get onto 11ac as well by adding the missing entries to regdomain.xml. Use at your own risk. regdomain.xml is unmaintanable in the modern world with too many tiny difference between countries. We'll need a different way to generate this or a different representation long term. Sponsored by: The FreeBSD Foundation Reported by: lwhsu Tested by: lwhsu Reviewed by: lwhsu, adrian Differential Revision: https://reviews.freebsd.org/D49776 (cherry picked from commit 84e1eb50dd9529b234e568ccb6f6c37f897688dc) --- lib/lib80211/regdomain.xml | 254 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 253 insertions(+), 1 deletion(-) diff --git a/lib/lib80211/regdomain.xml b/lib/lib80211/regdomain.xml index 557af0349cb0..9116e54c31cf 100644 --- a/lib/lib80211/regdomain.xml +++ b/lib/lib80211/regdomain.xml @@ -1187,6 +1187,202 @@ + + TAIWAN + + + + 30 + IEEE80211_CHAN_B + + + + + + + 30 + IEEE80211_CHAN_G + + + + + + + 30 + IEEE80211_CHAN_G + IEEE80211_CHAN_HT20 + + + + 30 + IEEE80211_CHAN_G + IEEE80211_CHAN_HT40 + + + + + + + 23 + + + + 23 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_DFS + + + + 30 + + + + + + + 23 + IEEE80211_CHAN_HT20 + + + + 23 + IEEE80211_CHAN_HT40 + + + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_DFS + + + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_DFS + + + + + 30 + IEEE80211_CHAN_HT20 + + + + 30 + IEEE80211_CHAN_HT40 + + + + + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_VHT20 + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT40 + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT80 + + + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_VHT20 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT40 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT80 + IEEE80211_CHAN_DFS + + + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_VHT20 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT40 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT80 + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT160 + IEEE80211_CHAN_DFS + + + + + 30 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_VHT20 + + + + 30 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT40 + + + + 30 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT80 + + + + @@ -1781,7 +1977,7 @@ 760 Syria - 158 Taiwan + 158 Taiwan 764 Thailand @@ -1904,6 +2100,11 @@ IEEE80211_CHAN_A + + 5120 5240 + 20 20 + IEEE80211_CHAN_A + 5160 5240 20 20 @@ -1925,6 +2126,11 @@ IEEE80211_CHAN_A + + 5260 5340 + 20 20 + IEEE80211_CHAN_A + 5260 5340 20 20 @@ -1941,6 +2147,11 @@ IEEE80211_CHAN_A + + 5480 5720 + 20 20 + IEEE80211_CHAN_A + 5480 5700 20 20 @@ -1961,7 +2172,38 @@ 160 20 IEEE80211_CHAN_A + + + 5500 5720 + 40 20 + IEEE80211_CHAN_A + + + 5500 5720 + 80 20 + IEEE80211_CHAN_A + + + 5745 5825 + 20 20 + IEEE80211_CHAN_A + + + 5745 5845 + 20 20 + IEEE80211_CHAN_A + + + 5745 5845 + 40 20 + IEEE80211_CHAN_A + + + 5745 5845 + 20 20 + IEEE80211_CHAN_A + 5745 5865 20 20 @@ -1972,6 +2214,11 @@ 40 20 IEEE80211_CHAN_A + + 5745 5845 + 40 20 + IEEE80211_CHAN_A + 5745 5805 80 20 @@ -2027,6 +2274,11 @@ 20 20 IEEE80211_CHAN_A + + 5500 5720 + 40 20 + IEEE80211_CHAN_A + 5500 5580 40 20 From nobody Fri Apr 18 14:37:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQm6fhJz5stTC; Fri, 18 Apr 2025 14:37: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 4ZfHQm4p7sz3KSN; Fri, 18 Apr 2025 14:37:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QBSu7XX9ozVG9tH4OjxElL8eE8AqOjIkoDUNCTwmlhI=; b=yzj4198IUdSGyABy2UiHIY1JDO1HsXtCoI3y+JDfRbkHEdOI0Ya3fyDdOF/FuTLrAnI0pN zA/N9u5L++RK3FPAYm06iXM6mIgi+SaOZjsMmfxwfI8HCJt2VkHnFCuKv7pe+S/6+iIOvW PvzsOjgL8JeFblF5dbEUjtHdUya7qB5MLqurf6/1E8OAqP3+ETuYBKHUrMueaG9YzpOhC9 qBKW7Ee9zFznqAEAsfc8VLAVtaSJrzhGdisE3n1QZJPekBGAhYxl7rCVZJxe8xYe7IJLUZ +txEAGSHmbM7qdKNpLM85KGwgIRukVzfrtOx5Fvdq3E1VzZpL2TbVHADagBpeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987024; a=rsa-sha256; cv=none; b=TK55HYZmbSS+/hcgD1I88kqLZd6LWF1BwlJMm+0b4jkMWczJCIwzfyrDQORFoN0c8M3UHx IVHf80UXTBkYS30eo/oHcN6Sc+3dpBr+rJub3P6k0VoYVsDyMaL9KlLJ3ojRTTM4XAnfa+ a9pl6nNj692Qnp90qUCLM3hVnjk86lBBek6Gf7jt9KyfmLhUf0wqfNxFmgrMnho8vYeqfw VpcbMMi1KKmX34YX8ZtStEvRumuRP8fOaIzCQZujDu8foqd6aU1sTdPegR7bKqX4vwj33w 5Up/dZET9YUqyuFXDPM4QjjdAIsM1mXfSm+UQUrcs3nVJ8IUwFMerBNVphwclQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QBSu7XX9ozVG9tH4OjxElL8eE8AqOjIkoDUNCTwmlhI=; b=ey2HuLhGS4Lo1mCmqKDjPbEt/8STUMM8KTYjbt+mNVrzNC/OQncMo+SSntKH1D0NSY3y3a Qtrcca0NwmXqpRdPRTxER1HoRdkxle7vt+CEnLQQ8CleUaAQkOcu+H6G4yUfDtD0Wdp7jb z6iqJYGn5hGBXYJjguOYan8wLZVhbXe+hdGYPOmasv6JTH568xgYABTZb5m+Pk8bH85BiM K/r+OaJu3MnyyQL10zIeQZANUHhtkgnFJsZVa5KCOU9MM0nv3hbG1vblxA2JhJdD0Qdibv QKKVDMg1j0obVxs6yS8SE/K42fGIw+70UbqWL5EFZROBEFYOmDAsdAcQyeduog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQm4KcBzdxt; Fri, 18 Apr 2025 14:37: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 53IEb4NI091542; Fri, 18 Apr 2025 14:37:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb4vn091539; Fri, 18 Apr 2025 14:37:04 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:04 GMT Message-Id: <202504181437.53IEb4vn091539@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 361c8b995d6d - stable/14 - net80211: fill in missing flags to IEEE80211_NODE_BITS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 361c8b995d6dfbec7a3446599008388a0c7c9d29 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=361c8b995d6dfbec7a3446599008388a0c7c9d29 commit 361c8b995d6dfbec7a3446599008388a0c7c9d29 Author: Bjoern A. Zeeb AuthorDate: 2025-04-10 23:13:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:59 +0000 net80211: fill in missing flags to IEEE80211_NODE_BITS Sponsored by: The FreeBSD Foundation Reviewed by: adrian, thj Differential Revision: https://reviews.freebsd.org/D49771 (cherry picked from commit b5b393df682f7938fa5e3ea4ed5e5938401baca0) --- sys/net80211/ieee80211_node.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h index 0039c743544c..aba9fe4068bd 100644 --- a/sys/net80211/ieee80211_node.h +++ b/sys/net80211/ieee80211_node.h @@ -310,7 +310,7 @@ MALLOC_DECLARE(M_80211_NODE_IE); #define IEEE80211_NODE_BITS \ "\20\1AUTH\2QOS\3ERP\5PWR_MGT\6AREF\7HT\10HTCOMPAT\11WPS\12TSN" \ "\13AMPDU_RX\14AMPDU_TX\15MIMO_PS\16MIMO_RTS\17RIFS\20SGI20\21SGI40" \ - "\22ASSOCID" + "\22ASSOCID\23AMSDU_RX\24AMSDU_TX\25VHT\26LDPC\27UAPSD" #define IEEE80211_NODE_AID(ni) IEEE80211_AID(ni->ni_associd) From nobody Fri Apr 18 14:37:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQk5vZQz5stbf; Fri, 18 Apr 2025 14:37: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 4ZfHQk3RPsz3KFQ; Fri, 18 Apr 2025 14:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7gqkXGKEszJ4EtStdtQbFnQiSii4nxwUTyLTy17Q/8=; b=ryBf05Jj2+fY61B1XO64qf/Wqc4eTjadqQgdaEpo1omFrvQFZzLzji0c989CMu3a7K6TiF fFDpIYDv5ZcrFlcQzkrWiDtIr9uSARK7o004iCuD/Vw/Ch06E/ThBcGLFzIKACbFFwjNZ9 5NEUAVE8K985ykdkxWZS880cpewDP5dZNbECz4iNbCHiDPPqWqYNlmEKsKuBc+p579B1iu MB3LcBl4ycYIgMzBWghuF93r0MTd1HGl1xgvqa+koWcLRTQpg/vT05UhGhvoNSDBjfWuXu O3Meq3MexbeZMnh4nmT1EIJLVlnjq5FPlIiO+ux5HJjxS6YDPDspdmzFCoIWBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987022; a=rsa-sha256; cv=none; b=ZNEUKBG1kEtxI8+tKHDRvo6sIUC/G+IhEyj3IkRvtfXBsHxwMaHBc8Y2XjY+708cjhjnJl QOhnjg3MdDDwBY8Bkuxrui1S4Ah7EFY5QfRMHzODD8wBBwX2VCsvWi7eqdGYM/ktiTKus4 oVqJCtSf55bp+FPL1ybR8IIp68pRHb1Jaz1lQUbdcZ5/Y/RUq0XIT5DqBHHpktrSnAyQOi nxPIiCVW/94utaJAynsbxilnoalKHwBNqF28JnG54CKsE2GaQSgXkPOfnmy68Awrnn46R6 l1OACxhaj/I6tOvUna+27XeJyXw78mDoZf/1dGtDJh9hOuFtWBskRFriLJPZSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7gqkXGKEszJ4EtStdtQbFnQiSii4nxwUTyLTy17Q/8=; b=ycc6t4H7DW52ysn2yXG9iDH41EvUX/b12U/xnDsUz9OSuXBKqhf8XtR5a3a/xMCEgE0Vml GpWLmB65maFancqfzLI7dxaAmvnVLC6nR82dijbmEEQVm9N3VcualPO0ah0BthhkRZj0ZT xlKqi+OlFgFgjBaNTj2PDiWHkG0jZYWfGdDRlZMYzX5z7W/04QNveIu5yL7ov2iCUf7x8w ShruUDCOoBJIkxsVMpapucF6F61AwcEVzEZuTBOr40rnpkJXPskM1+42074T9+TbNaI9/N CfVJPl8S33/bGUkLk/sDSkbUu9mtGw15kn97VoblNDlnJ7e+vI34+Eo5eKLTQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQk2zjFzdtB; Fri, 18 Apr 2025 14:37: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 53IEb2vC091463; Fri, 18 Apr 2025 14:37:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb2Jg091460; Fri, 18 Apr 2025 14:37:02 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:02 GMT Message-Id: <202504181437.53IEb2Jg091460@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e0bd174e0e36 - stable/14 - net80211: make use of IEEE80211_KEY_BITS for debug messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e0bd174e0e369af59cc533f2d7bf6f231dc250df Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e0bd174e0e369af59cc533f2d7bf6f231dc250df commit e0bd174e0e369af59cc533f2d7bf6f231dc250df Author: Bjoern A. Zeeb AuthorDate: 2025-03-14 23:43:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:59 +0000 net80211: make use of IEEE80211_KEY_BITS for debug messages Use %b with IEEE80211_KEY_BITS for the debug logging in ieee80211_crypto.c rather than just printing the hex value, which makes some of the messages more obvious and avoids having the header file next to one at all times. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49369 (cherry picked from commit 7513a0afe5fb26d30dbcae0347e43728e3511d3e) --- sys/net80211/ieee80211_crypto.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/net80211/ieee80211_crypto.c b/sys/net80211/ieee80211_crypto.c index 45316b43605a..bb7a612ac36c 100644 --- a/sys/net80211/ieee80211_crypto.c +++ b/sys/net80211/ieee80211_crypto.c @@ -391,14 +391,15 @@ ieee80211_crypto_newkey(struct ieee80211vap *vap, */ IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, "%s: driver override for cipher %s, flags " - "0x%x -> 0x%x\n", __func__, cip->ic_name, - oflags, key->wk_flags); + "%b -> %b\n", __func__, cip->ic_name, + oflags, IEEE80211_KEY_BITS, + key->wk_flags, IEEE80211_KEY_BITS); keyctx = cip->ic_attach(vap, key); if (keyctx == NULL) { IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, "%s: unable to attach cipher %s with " - "flags 0x%x\n", __func__, cip->ic_name, - key->wk_flags); + "flags %b\n", __func__, cip->ic_name, + key->wk_flags, IEEE80211_KEY_BITS); key->wk_flags = oflags; /* restore old flags */ vap->iv_stats.is_crypto_attachfail++; return 0; @@ -423,9 +424,9 @@ _ieee80211_crypto_delkey(struct ieee80211vap *vap, struct ieee80211_key *key) KASSERT(key->wk_cipher != NULL, ("No cipher!")); IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, - "%s: %s keyix %u flags 0x%x rsc %ju tsc %ju len %u\n", + "%s: %s keyix %u flags %b rsc %ju tsc %ju len %u\n", __func__, key->wk_cipher->ic_name, - key->wk_keyix, key->wk_flags, + key->wk_keyix, key->wk_flags, IEEE80211_KEY_BITS, key->wk_keyrsc[IEEE80211_NONQOS_TID], key->wk_keytsc, key->wk_keylen); @@ -491,9 +492,9 @@ ieee80211_crypto_setkey(struct ieee80211vap *vap, struct ieee80211_key *key) KASSERT(cip != NULL, ("No cipher!")); IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, - "%s: %s keyix %u flags 0x%x mac %s rsc %ju tsc %ju len %u\n", + "%s: %s keyix %u flags %b mac %s rsc %ju tsc %ju len %u\n", __func__, cip->ic_name, key->wk_keyix, - key->wk_flags, ether_sprintf(key->wk_macaddr), + key->wk_flags, IEEE80211_KEY_BITS, ether_sprintf(key->wk_macaddr), key->wk_keyrsc[IEEE80211_NONQOS_TID], key->wk_keytsc, key->wk_keylen); @@ -511,9 +512,9 @@ ieee80211_crypto_setkey(struct ieee80211vap *vap, struct ieee80211_key *key) */ if (!cip->ic_setkey(key)) { IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, - "%s: cipher %s rejected key index %u len %u flags 0x%x\n", + "%s: cipher %s rejected key index %u len %u flags %b\n", __func__, cip->ic_name, key->wk_keyix, - key->wk_keylen, key->wk_flags); + key->wk_keylen, key->wk_flags, IEEE80211_KEY_BITS); vap->iv_stats.is_crypto_setkey_cipher++; return 0; } From nobody Fri Apr 18 14:37:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQl74S3z5stHr; Fri, 18 Apr 2025 14:37: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 4ZfHQl4SMKz3KBn; Fri, 18 Apr 2025 14:37:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vLU1T4/MLsDyor74DQhZWSMpa+xJyMi2iza8nAj1cUI=; b=c5q25mDKbxBGcuPAA1DokAtRYU13E5oj2bftC5RWxEs0wATVQQ1DVbGBwpJ/gUGlU/Wkl5 PqZ5LWxWPtS/GtT66ygE5p1y4UE06IRNP1nbt3ICvTS2q38lC9OKBK4ytQLEtKW7OPK4Y1 gfcbrbJpGq9Tr8UEaMLn3+bdP9IPX+UDBxGnHfXh9Mvcpc/0q0Rk3x2zkRWnNZXfsTb/N1 XD/Xaxt2Ac1CDbGrWFDJV2jDG/XiWO8tsg+BguZtj7wvoyVCBqhwI76Q/c4vGmcP8/INUp ifK/2yTnhNRg4cy/ZunenAn/E4LolUyQ3qGHGPIYCDv9aTf9F5Y9Yl1sA5nntg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987023; a=rsa-sha256; cv=none; b=KyAU+vIt+dzVo8dcd61shqw4Okr6zZNYPjbMKA/vJxHVx0IqUe6yF0qVKu2Lgwz33v7Amr 4A+tCG4ay9EEgWmauNS/T/b9HQgZTCKVwIjwY/EiNAxXmFes4KPCN/CCJsHd1Hqa8JurdS VJrAZ6uF96gpUKAXEfoLad5rgffhK95Rvtd9eDE5cR9BTjiFUInNW7ufh4brbbJMf3B1Z3 5XhWxARQFIQmbGgm3rSppJ3lBmT6uFx9ptMF0GCj3/oihNKQEu00Mapu8gk3Z/Y50BvBQX JBjt4GIJ1yO5zMDQqX/c64XhFAcJItJoTaEDqKPToD4YFKyYNNm59cE/qkH+Rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vLU1T4/MLsDyor74DQhZWSMpa+xJyMi2iza8nAj1cUI=; b=psJM/cSBne1XLygcn5HrdvKNGliV7DjrtQ8vzFwAk885hqNnk5eXezYGZUveempeqJDpj8 OC53F4ov9w3l32HG7U15pfCjDi1Zm0JBq66LtxzpTOXsN8yICRq26RzquyyVt5BB+U1r9X 79gIv0Zv1x7SB2FtnP3FQlir/9E5bAc5nF7l+ow71K9s5Wv+/6ytWsEcjIbuqP94qFu8ir 2WAZwwfe2qyF8OG845btH/XNBq21rDpaVmJdPeIkTKMk0Th24D54gNGEAmO4fSInbI4vwL 6G9PkeW4JmyqlcLJq0Dk49aqGmVHhgFaUN5y8EUeTM6n7SGOb4mkCMxdKAz+YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQl3m2vzdwg; Fri, 18 Apr 2025 14:37: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 53IEb3fB091506; Fri, 18 Apr 2025 14:37:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb3BF091503; Fri, 18 Apr 2025 14:37:03 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:03 GMT Message-Id: <202504181437.53IEb3BF091503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 0dbc7a50aa6e - stable/14 - net80211: fix IEEE80211_VFHT_BITS after 160 and 80P80 got swapped List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0dbc7a50aa6e5c8eaba31de13ce8f1216a19e031 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0dbc7a50aa6e5c8eaba31de13ce8f1216a19e031 commit 0dbc7a50aa6e5c8eaba31de13ce8f1216a19e031 Author: Bjoern A. Zeeb AuthorDate: 2025-04-10 23:18:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:59 +0000 net80211: fix IEEE80211_VFHT_BITS after 160 and 80P80 got swapped Sponsored by: The FreeBSD Foundation Fixes: 8f2e5b6ef3230 Reviewed by: adrian, thj Differential Revision: https://reviews.freebsd.org/D49772 (cherry picked from commit 626a4931be7a095cff95e4272c7f36f9bedebeff) --- sys/net80211/ieee80211_var.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index afd3beeb5d73..3e7ad7942de7 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -750,7 +750,7 @@ MALLOC_DECLARE(M_80211_VAP); IEEE80211_FVHT_STBC_TX | IEEE80211_FVHT_STBC_RX) #define IEEE80211_VFHT_BITS \ - "\20\1VHT\2VHT40\3VHT80\4VHT160\5VHT80P80\6STBC_TX\7STBC_RX" + "\20\1VHT\2VHT40\3VHT80\4VHT80P80\5VHT160\6STBC_TX\7STBC_RX" #define IEEE80211_COM_DETACHED 0x00000001 /* ieee80211_ifdetach called */ #define IEEE80211_COM_REF_ADD 0x00000002 /* add / remove reference */ From nobody Fri Apr 18 14:37:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQq4BMcz5stWW; Fri, 18 Apr 2025 14:37: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 4ZfHQq00pMz3KVm; Fri, 18 Apr 2025 14:37:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=So3OWCnbfPHALwgHM0207P85Oq7Gdbb7EI5nGZUdDoI=; b=YrLPfJhIouWg4q9Ova8hjgTDb7Vg+g5Rn/jeVb2RrSvb9PQRS0PhlPQyCWP2Bfqweas9td qjLyOefis8VrrcALDIzigg9uecNQfTYwlQh9IjvlyU5dA3hDKfzQjt529f13qbLPGLJq+C m8OxI/ggifimLw9yoKdF3h4jZjKiyE1JwQEHTlmlYpOjIO1AlvvFjnPoWOsRJ3yyCFrWkM EqSE11r6PK2j6BG25ZxkgqKCs1CRFgDa8JlZwam20+g9lAOKQoFj1qNiMn8LO90xAroU5k uHr+EXxBjcZoDALOM9eHOKR1LSZNFnowcobT2vj/5WTxPTCZh8AY6K/DL9liNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987027; a=rsa-sha256; cv=none; b=mSrsIbqb12sr3/KBtwbVazPRPJgZ9Y2JlG/z3Xkp1x122Ktd+VSPlkDeebSQ2Vl8SsTADs ZKEWWsmxhQa/zkk329XXIY4rpZs8z5Ca/qYQ26Cpz0gCGJFZ1uHHrtqZ1rdRgKIMZTGuwq +noC1eJIe/wXJgSA3SK8nIOpIqRS+HUlvV2jb1K9TnuWquAs8aOznMwrXytXPd/XTTy2xn odix9aoBkKX7SOYK650ZF347ax9VbhW4MT7XIgMuojTTEr1Ai6awi3EqAEr58W4EOlolcp 9ljKOtD56RWvi6AwLq+EoCq5ZyxYqOz46YJbTaL43VeW9/hkebhX35dPV/AT2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=So3OWCnbfPHALwgHM0207P85Oq7Gdbb7EI5nGZUdDoI=; b=vc3lJYu/lGKKPaKb/KGFW8Zv7fN14f0JEny9iDMG2Fna9g873u2Afr3TrVpYjavH4hOqFT gRXqe+melCRKHPTrIAEe/ChJCZRKHctreR9sLUayzq6sVURbJbnFyqZb8ptHSrQFy5vSor XlKMKBex31CJzgdKy4BpFiRnTAio7Zh+gLuQPsorj2/H62YqdEjlfSK+ghqDmBQE09T/SZ J7Zm3M5+X3ZZwY6LKwP9TO41tvXZjQuAm6RTo5WDQQdaxb+rZLzBgyx1yqScwTjY8ODiJ4 ETP/kYNoOdZuc18bZmk8sVJre2mw29TZrgCpVag92NaqxmyiFUo3sa0jRKR5mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQp6GPkzdxw; Fri, 18 Apr 2025 14:37: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 53IEb66u091620; Fri, 18 Apr 2025 14:37:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb6c3091617; Fri, 18 Apr 2025 14:37:06 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:06 GMT Message-Id: <202504181437.53IEb6c3091617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 998fc383bd02 - stable/14 - LinuxKPI: 802.11: remove ieee80211_node_get_txrate_dot11rate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 998fc383bd02e8f1abe3c67decb60dc326c87908 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=998fc383bd02e8f1abe3c67decb60dc326c87908 commit 998fc383bd02e8f1abe3c67decb60dc326c87908 Author: Bjoern A. Zeeb AuthorDate: 2025-03-04 15:20:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:59 +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 Reported by: J.R. Oldroyd (jr opal.com) Fixes: 706745001093 (I should have noticed during review) (cherry picked from commit d1a37f280be46a707b42c3eca5f8b6a38ecf726b) --- sys/compat/linuxkpi/common/src/linux_80211.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b0bf54744e3a..3d60404537e2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6986,12 +6986,6 @@ linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *hw, } if (ni != NULL) { - int ridx __unused; -#ifdef LINUXKPI_DEBUG_80211 - int old_rate; - - old_rate = ni->ni_vap->iv_bss->ni_txrate; -#endif txs.pktlen = skb->len; txs.flags |= IEEE80211_RATECTL_STATUS_PKTLEN; if (info->status.rates[0].count > 1) { @@ -7008,16 +7002,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); - ridx = 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 ridx %d, " - "long_retries %d\n", __func__, - old_rate, ni->ni_vap->iv_bss->ni_txrate, - ridx, txs.long_retries); + printf("TX-RATE: %s: long_retries %d\n", __func__, + txs.long_retries); } #endif } From nobody Fri Apr 18 14:37:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQp4C55z5stTH; Fri, 18 Apr 2025 14:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHQp049Cz3KHs; Fri, 18 Apr 2025 14:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55i89JW6VLoWvp77Hyti5IrXdd2tIWzL6gan9V0ixX0=; b=mnbX0e45u5bpUv5eiylulIJpIVRm3QBHFfdb4W170k8ELPQeI37OtfZtOULM2AhAVyWPDF 7b3hz+tjPdBIQ353+1Xe2qwFQhsblugFvoMs9sPhXpyTDruoTpa/KNccVLcxNqCCbltorp XSoh3U6ZONlJjaUXzji4EpGFutnjg8oFofjcoaX2UXVilqE5LljW57fcQ5UPnlyZDvZkoK nZ3v/PgRQf29xUHrDYIN6J05pnvLRSd/+VtXFysE1X3QiT0j6bswcj54V4r4xDii7kayhA zllBgQ5ZIA9lFPA4eF5Eb/QPCLsdU2ZkwvbZzG1uPPs84WqpzizsxvZV2LXbrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987026; a=rsa-sha256; cv=none; b=q+YqdNPTFdUzXgKnxpz3gQcj5NK2UmWXigz1zaqThvVUCWXoDBTLO2KgaRaKFCDHqVYou/ JITDXh7N9F0KvIELYVqA8YDAafzzwcGBQYqRuLcRUP+3RL0k7tKQCKwTO9YU4pxnCxA3Fu hiQBroIrJKNrP1x2sLmKSaspHxIBdMIurkk8irwS9q4y5j24H/bdbBwuzkCwAMZWMdNwLh ZGlKfZVAcLR6zOeMHMrmJwNPP5mUZ/9mJkMiPGI6U78TN4vnqVsnqXPW2i7gjXLFqVk2HZ cctLpokPrVzBBl+KTXPokT2o7KmXH7Q5wI/Rus6bCPdD1f8HcR7WP/BsgfwYZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55i89JW6VLoWvp77Hyti5IrXdd2tIWzL6gan9V0ixX0=; b=Lqs4D/PwwEoB3O+cx5p8oMcOKs74bQzg2aN0WUVvTal1ab994Syw2dOXw5WXKl6ABN23LG EExnKIux+puly7xx6MlGOH4T2LkJrbzp0P1D3CRozUKTj4DdacE/0klAQcjowpAx0JpSUC gAbOzZFDMVA6hN7J6u+Y60AKR97vrir0+Y35egomNquIqT4Q0JeRhZSI4Tn9NJE74teQAi sGRKvQW+5E0ioN4Ierqi5D1ugq3bQzNgAlw5AEbRwc1/q8Uh5+6DhOgUvp3Wie0mh+j53e lu5sAOD+0M8T3Si7XKq+lVCZHgyaQqZZeM6Bht7nTwpDFJp/RFeKG0zTqGzczw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQn5XBnzdxv; Fri, 18 Apr 2025 14:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEb5Pk091584; Fri, 18 Apr 2025 14:37:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb5qF091581; Fri, 18 Apr 2025 14:37:05 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:05 GMT Message-Id: <202504181437.53IEb5qF091581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 241fb1757415 - stable/14 - iwlwifi: fix iwl_uefi_get_uats_table() if not compiled with ACPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 241fb175741532b7e9820399e0032137e938e520 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=241fb175741532b7e9820399e0032137e938e520 commit 241fb175741532b7e9820399e0032137e938e520 Author: Bjoern A. Zeeb AuthorDate: 2025-04-11 15:22:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:35:59 +0000 iwlwifi: fix iwl_uefi_get_uats_table() if not compiled with ACPI Apply a temporary fix to FreeBSD only to allow AX101 to proceed further. While this fix results in a debug error message if firmware debugging is on we currently take this for the version we have. A proper fix will eventually show up in future versions of iwlwifi. Sponsored by: The FreeBSD Foundation Reported by: bapt Tested by: bapt (cherry picked from commit 97ddb6371b7206c622de40745927e98f0dfd2e85) --- sys/contrib/dev/iwlwifi/fw/uefi.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/contrib/dev/iwlwifi/fw/uefi.h b/sys/contrib/dev/iwlwifi/fw/uefi.h index 1f8884ca8997..50327bb8c2d6 100644 --- a/sys/contrib/dev/iwlwifi/fw/uefi.h +++ b/sys/contrib/dev/iwlwifi/fw/uefi.h @@ -318,7 +318,11 @@ static inline int iwl_uefi_get_uats_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt) { +#if defined(__linux__) return 0; +#elif defined(__FreeBSD__) + return -ENOENT; +#endif } #endif /* CONFIG_EFI */ #endif /* __iwl_fw_uefi__ */ From nobody Fri Apr 18 14:37:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQt4fT2z5stRG; Fri, 18 Apr 2025 14:37: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 4ZfHQt2n6Zz3KnW; Fri, 18 Apr 2025 14:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Zb4AZmPWNJBsOZYWXLkTYo4vOKDZoLnpwRMnYWsEMM=; b=mQsBDU6D2ibCdjD8oBWu4YPXzf8DyGKaOJTXBRoxlhJXzXAM8i4YFvDrWKDaVTVip+FHdh 2J8YpDec9g5ZPRcaqSs8YrDzuya3dFSH9u1np7XC21vJIW3r7Rbq1Tl7VEyTGlEN0n0eQM J3nS6SgE4IxukXlw9ptfLt/U0g/cGb3gATA2yudEs2ohG98ruMLS/0yVilkHR+Egyx/X0l irB5o9s4t/2qimlCA5whhMSkP1BAp0B6CqjZ39/pVZx0sUlJdHX8Z3GXLPjhfCaM09fCcB IxEIefCpKwsLt1PEYz5CEUei4A4r9XZOIshRseJd0clPIMY20PvAhgw9HNbwsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987030; a=rsa-sha256; cv=none; b=K9eJ4RyG64FmkQQKJ5jEE4jXUH46mZxz/HWyqczue36YOwTmic5WeKVj4q2RLAANCpzPtn fjBMdxiW2JHJUlrWO5n+UCDIdw6O3X3ULC3l2NtQHcnIjDESKL7IDLEYPoy1xYtV0aETkU GFQZlW16/IGtBik+lIK0839AsAjXudWbm9byZ4Oks2rEKU+YntD9IDR9QiNEQUdlIT3EHa LIZoa1GAGkxt7qclxT0yEolZj24v74eJs8t3OmmcJ6B69EideCpb3+1cINk7SOgqx8dmL7 eAoPNSKSgq1ZdPWO9qwSQ3T19Ci23R0gGRsTu+euU4l9q1SaPqdnliTWjfQBUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Zb4AZmPWNJBsOZYWXLkTYo4vOKDZoLnpwRMnYWsEMM=; b=OtdLNkolJ5cQID1IF9Z6gYCAVwT3GJkaSvmI0nCTNO65ujdDz7d06k8371nkFqWHZA/s4S IQYfdMesQfI+HHkw8LRVh3Gqio+Muxk1C3RgSUUaplOeBj7xvVrLIuI+/5ewRhRzdpFxwH MDrx4M+cslEmCAMscm+LzTcQpm7pV/NWw2fZMh/26FqX7ICGaan4IplfP1R0EVzs+iUjJn IUijle5FWCQd3IG+7L/J2oeFh5oHb50z8J4wUW6OWZU3TFnEbU/ElgYNYWXdO/uhDNVDOG e2UyfjWGEb0pK+RFIrEy57fPkd+e0yX67Ir0NcJ0yXuH7SoT+NirP3PxVqK2Lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQt24cTzf3r; Fri, 18 Apr 2025 14:37: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 53IEbAod091726; Fri, 18 Apr 2025 14:37:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbARs091723; Fri, 18 Apr 2025 14:37:10 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:10 GMT Message-Id: <202504181437.53IEbARs091723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f4aa407e89fe - stable/14 - LinuxKPI: 802.11: CONFIG_PM_SLEEP / WoWLAN header adjustments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f4aa407e89fe8961efe722a53ae463c25ef5ea20 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f4aa407e89fe8961efe722a53ae463c25ef5ea20 commit f4aa407e89fe8961efe722a53ae463c25ef5ea20 Author: Bjoern A. Zeeb AuthorDate: 2025-03-15 00:30:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: CONFIG_PM_SLEEP / WoWLAN header adjustments Sort out some (though not yet all) changes needed for CONFIG_PM_SLEEP and respectively WoWLAN support (so we can compile it in). This is just one further step towards proper suspend/resume support. Sponsored by: The FreeBSD Foundation (cherry picked from commit b42c339c59fd00f2d97f6854b17b54b340019d0c) --- .../linuxkpi/common/include/linux/ieee80211.h | 7 ++++++ sys/compat/linuxkpi/common/include/net/cfg80211.h | 26 +++++++++++++++++----- sys/compat/linuxkpi/common/include/net/mac80211.h | 16 +++++++++---- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 964fd970ecf0..efac2a26e27e 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -147,6 +147,7 @@ enum ieee80211_key_len { WLAN_KEY_LEN_WEP104 = 13, WLAN_KEY_LEN_TKIP = 32, WLAN_KEY_LEN_CCMP = 16, + WLAN_KEY_LEN_CCMP_256 = 32, WLAN_KEY_LEN_GCMP = 16, WLAN_KEY_LEN_AES_CMAC = 16, WLAN_KEY_LEN_GCMP_256 = 32, @@ -507,6 +508,12 @@ struct ieee80211_mgmt { uint16_t capab_info; uint8_t variable[0]; } beacon; + /* 9.3.3.5 Association Request frame format */ + struct { + uint16_t capab_info; + uint16_t listen_interval; + uint8_t variable[0]; + } assoc_req; /* 9.3.3.10 Probe Request frame format */ struct { uint8_t variable[0]; diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 3454b58f1db7..2cdb96ffccdf 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1033,9 +1033,12 @@ struct cfg80211_wowlan_nd_info { enum wiphy_wowlan_support_flags { WIPHY_WOWLAN_DISCONNECT, - WIPHY_WOWLAN_GTK_REKEY_FAILURE, WIPHY_WOWLAN_MAGIC_PKT, WIPHY_WOWLAN_SUPPORTS_GTK_REKEY, + WIPHY_WOWLAN_GTK_REKEY_FAILURE, + WIPHY_WOWLAN_EAP_IDENTITY_REQ, + WIPHY_WOWLAN_4WAY_HANDSHAKE, + WIPHY_WOWLAN_RFKILL_RELEASE, WIPHY_WOWLAN_NET_DETECT, }; @@ -1049,6 +1052,7 @@ struct cfg80211_wowlan_wakeup { /* XXX TODO */ uint16_t pattern_idx; bool disconnect; + bool unprot_deauth_disassoc; bool eap_identity_req; bool four_way_handshake; bool gtk_rekey_failure; @@ -1066,11 +1070,22 @@ struct cfg80211_wowlan_wakeup { struct cfg80211_wowlan { /* XXX TODO */ - int disconnect, gtk_rekey_failure, magic_pkt; - int eap_identity_req, four_way_handshake, rfkill_release, tcp, any; + bool any; + bool disconnect; + bool magic_pkt; + bool gtk_rekey_failure; + bool eap_identity_req; + bool four_way_handshake; + bool rfkill_release; + + /* Magic packet patterns. */ int n_patterns; - struct cfg80211_sched_scan_request *nd_config; struct cfg80211_pkt_pattern *patterns; + + /* netdetect? if not assoc? */ + struct cfg80211_sched_scan_request *nd_config; + + void *tcp; /* XXX ? */ }; struct cfg80211_gtk_rekey_data { @@ -1244,7 +1259,8 @@ struct wiphy { unsigned long ext_features[BITS_TO_LONGS(NUM_NL80211_EXT_FEATURES)]; struct dentry *debugfsdir; - struct cfg80211_wowlan_support *wowlan; + const struct wiphy_wowlan_support *wowlan; + struct cfg80211_wowlan *wowlan_config; /* Lower layer (driver/mac80211) specific data. */ /* Must stay last. */ uint8_t priv[0] __aligned(CACHE_LINE_SIZE); diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index baac9fe67fdd..5c155a4c1cc8 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -42,6 +42,7 @@ #include #include #include +#include #define ARPHRD_IEEE80211_RADIOTAP __LINE__ /* XXX TODO brcmfmac */ @@ -1075,9 +1076,7 @@ struct ieee80211_ops { int (*set_tim)(struct ieee80211_hw *, struct ieee80211_sta *, bool); int (*set_key)(struct ieee80211_hw *, enum set_key_cmd, struct ieee80211_vif *, struct ieee80211_sta *, struct ieee80211_key_conf *); - void (*set_default_unicast_key)(struct ieee80211_hw *, struct ieee80211_vif *, int); void (*update_tkip_key)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_key_conf *, struct ieee80211_sta *, u32, u16 *); - void (*set_rekey_data)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_gtk_rekey_data *); int (*start_pmsr)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_pmsr_request *); void (*abort_pmsr)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_pmsr_request *); @@ -1121,9 +1120,18 @@ struct ieee80211_ops { void (*link_sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_link_sta *, struct dentry *); void (*link_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct dentry *); /* #endif */ +/* #ifdef CONFIG_PM_SLEEP */ /* Do not change depending on compile-time option. */ + int (*suspend)(struct ieee80211_hw *, struct cfg80211_wowlan *); + int (*resume)(struct ieee80211_hw *); + void (*set_wakeup)(struct ieee80211_hw *, bool); + void (*set_rekey_data)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_gtk_rekey_data *); + void (*set_default_unicast_key)(struct ieee80211_hw *, struct ieee80211_vif *, int); +/* #if IS_ENABLED(CONFIG_IPV6) */ + void (*ipv6_addr_change)(struct ieee80211_hw *, struct ieee80211_vif *, struct inet6_dev *); +/* #endif */ +/* #endif CONFIG_PM_SLEEP */ }; - /* -------------------------------------------------------------------------- */ /* linux_80211.c */ @@ -2411,7 +2419,7 @@ ieee80211_get_tkip_p1k_iv(struct ieee80211_key_conf *key, static __inline struct ieee80211_key_conf * ieee80211_gtk_rekey_add(struct ieee80211_vif *vif, - struct ieee80211_key_conf *key) + struct ieee80211_key_conf *key, int link_id) { TODO(); return (NULL); From nobody Fri Apr 18 14:37:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQs74Dfz5stf7; Fri, 18 Apr 2025 14:37: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 4ZfHQs20QWz3Kfn; Fri, 18 Apr 2025 14:37:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7TlkQGaKlWi3Uk5yU5gDkT63J/Q+CVmhIjdm/szAWDQ=; b=kop95/ytUn7XYvfn2sQTjuaEACVTM5umybGgZh56eJ0ZIIEPbWS8pBgIgFoIfoz3RWUBxU SoeKGg0ZrqmcoeTJVQH6ta+CubUv1JSzuQQWAuKhfsaRlTJZHnh0JgkyNULKDBk9PhXBcf XNFYY5pWMnl/jc8R/6Q25SOt1HQq7MHspo15TyeXeLLvTopFuXfbHrEvGOaMCdY4yIyHGf /i3Uo62rgcEzWHvDzkfjdVEtfxlcF3rZurTlTZwyOb8ZNTOdoMHDB0w/wGbJ3+XVwh2yeS QTiGfshxhbUWRrcAssaq37O6X9CH4feeLaZUA4IKLORRUuWSMlsfesN/zBbqvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987029; a=rsa-sha256; cv=none; b=FW9PsAPzuocMYC3k7FH60ZdSbRvrJAXbsJsnvh7UMjLnG+iJR0yo+I5LYHgYoQ9i5N+Sw0 2YjpB/FuoRDABvr4h5cJwrBt3LfMmT72WuunGWi/eBYPzWnnv0nM7nRA4hXgfOlm4lYeNA My3eQzvaxkciLNZp9M4EBmQNayMDBx+2eT1JjKkPTqZHlMZhSdNkjJq7aBWFRhVIWN37/D hmQJdkG194sdVhPnEjZ8dYp1bfsbTd5VFpeEhfCcikzyC46TC9o2JwB5ev+WaFPHcd6sNN SXUjQ7Bhr/3KWk/RVsJYSRRIkgVFPT3rwYiaC5jj2MGmryrDUvOefDmqYSmZ6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7TlkQGaKlWi3Uk5yU5gDkT63J/Q+CVmhIjdm/szAWDQ=; b=aQthsWkDM87Uz0j8Ygh+mLygvMTbaQ6KCEuZtwD3DS82UU8M1TSdaEd72nJgya2lUgoZ0H KGbPTIZtj53WsOcjhPle/iYGODT3rJvMxmYflrppTJQKFyHCUiVInUrZOdKgwcFOh7mcBX 46VX9o8zxuIF2A8W1d/p6OlEIZ/yXs8NPwFHbpIjqYIrfhUblZrNze3jPBu6AMMKxVN6Tz v5rRLGN3ey0emasloenETHSU1FB+Cuppttkol/10ynzUsjBeHyH/lRpcLHPTa43duRmVsa QXjDx1jJB5tJR51RmzSazjDclbrPHrXQLS6DrwZ3+nrPtqszlILSGGfyulUlpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQs12BVzdjY; Fri, 18 Apr 2025 14:37: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 53IEb9h3091691; Fri, 18 Apr 2025 14:37:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb9g1091688; Fri, 18 Apr 2025 14:37:09 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:09 GMT Message-Id: <202504181437.53IEb9g1091688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 64ec6ddac008 - stable/14 - LinuxKPI: 802.11: crypto pn lengths List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 64ec6ddac008a7f26527bce173855d215d88ca39 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=64ec6ddac008a7f26527bce173855d215d88ca39 commit 64ec6ddac008a7f26527bce173855d215d88ca39 Author: Bjoern A. Zeeb AuthorDate: 2025-03-15 00:01:11 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: crypto pn lengths Define the last missing PN length and for consistency use them in struct ieee80211_key_seq (even though a 6 is a 6 is a 6). Sponsored by: The FreeBSD Foundation (cherry picked from commit c8a6676eb652b59fee545dc3e24ffec21bd0cd8d) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 3 ++- sys/compat/linuxkpi/common/include/net/mac80211.h | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index ca1493e666c6..964fd970ecf0 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2024 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -64,6 +64,7 @@ struct ieee80211_mmie_16 { #define IEEE80211_GCMP_MIC_LEN 16 #define IEEE80211_GCMP_PN_LEN 6 #define IEEE80211_GMAC_PN_LEN 6 +#define IEEE80211_CMAC_PN_LEN 6 #define IEEE80211_MAX_PN_LEN 16 diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index dc1142270b9a..baac9fe67fdd 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -567,10 +567,13 @@ struct ieee80211_key_seq { uint8_t pn[IEEE80211_CCMP_PN_LEN]; } ccmp; struct { - uint8_t pn[IEEE80211_CCMP_PN_LEN]; + uint8_t pn[IEEE80211_GCMP_PN_LEN]; + } gcmp; + struct { + uint8_t pn[IEEE80211_CMAC_PN_LEN]; } aes_cmac; struct { - uint8_t pn[IEEE80211_CCMP_PN_LEN]; + uint8_t pn[IEEE80211_GMAC_PN_LEN]; } aes_gmac; struct { uint32_t iv32; From nobody Fri Apr 18 14:37:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQr5sXHz5stWc; Fri, 18 Apr 2025 14:37: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 4ZfHQr0nNqz3KVs; Fri, 18 Apr 2025 14:37:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=51Z7gtbc0yOxYh4NN+AP3qkHIUpYxeJHkg5ILk9BQBw=; b=deA6NRpfVY9w4WRt3nGZHSxPbDIZH9XtFTP9Ph2fwbjiQzsYntBLCHzo0LQLMePBOHIfEQ x+gtd3VY3k9o+CIjwE8457TaQRR+tK7I/RVty0utVybl6uucl7dv+ZkQmgsnHzeDZSll3K gmGBoiUPH+dAFMyOFYu3iKZ+Lc7mP3t1swlht/WN11c2xJkjR2b7XHmgbIQlGyWnYoX77y EJk5f3FcDnRxcha0pk4albG6H+oIUtWXZQgwyGc8E41mp/i3dIM1Crwd4a7ubZS+y3MQWn RLu/MQ30ktOxCxTNKpw6sKIZoU8goINMJMXibSwxhT85xI/ehO76Pb2g4V+zLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987028; a=rsa-sha256; cv=none; b=AHsR5231rKCvgIVVmOYbxZxZKoMyxhf1OhL3T7RL507KsY24/U2eXeTHEFr57MZRz+sQqL dCm9a9Pb8tIbZRBksZX54mrV3lYZkMA0t7QfRB/slM5WE+cOvANlo3Z+f/ds92mShvKgSE hd8ehbrC3zKV8yBqTRQKwMuddVfwlgZg5hunAA8aSn1rznexNixSb3wVyFlqyw7YRgmhuL cFekJ40gjxkhzRKAIv3OU4JAekQ5gUFXPVeNrk9R9RLmbLXdoBB+WRtBP9oiTXvMC7oDIU 0jZmsly6q51eRkTAU19KmmdI09pcJ/o9aVxYrtLSw1+Xxt2cp0ZhTm4BSxKbMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=51Z7gtbc0yOxYh4NN+AP3qkHIUpYxeJHkg5ILk9BQBw=; b=aVgEQsZu6qddJTzwhELEw9Cdr2rth44BZxORaf+BZ6juza3zWL/Gc8p6nS5Ll3TkpFwEXW ir7qjXCZdVk1N3XtbfoGziSRr7KWtOtXQ2NgXC35gcGU02xR2vRFeV5QY5TP5y1nghDWz5 OPJr7mWBlQCvbBY20Ran4Tw54mBFwPp2xAiU+MJAkfbe/6Dkg0KNVNYkSQLHxJpzafC1eD MvnvzwN44bHtoKlQhI8HMer8wSEtUXdoi+DIF85W7iNK1YNlzGUi7Vz34aW7CebJS8d7XA FdXN6iuXK+JhlZKPM/+eyojNQyCrf0MmNRB8bIPxj1fpox6WaPEEG3ko4NIeHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQr05GJzf3q; Fri, 18 Apr 2025 14:37: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 53IEb7k4091656; Fri, 18 Apr 2025 14:37:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEb7ja091653; Fri, 18 Apr 2025 14:37:07 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:07 GMT Message-Id: <202504181437.53IEb7ja091653@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 350651dbc927 - stable/14 - LinuxKPI: 802.11: remove cipher_scheme support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 350651dbc9275b42cb9eb342971fb52b2f934a87 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=350651dbc9275b42cb9eb342971fb52b2f934a87 commit 350651dbc9275b42cb9eb342971fb52b2f934a87 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 00:22:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: remove cipher_scheme support iwlwifi was the only driver we care about which "used" cipher_scheme and it was removed from there too. Remove given it is no longer used anywhere. Sponsored by: The FreeBSD Foundation (cherry picked from commit cdef9a9f91e2eee00e8f6f1ed743a8d8bd0bdc14) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 9faf58ed6ee5..dc1142270b9a 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -372,18 +372,6 @@ struct ieee80211_channel_switch { struct cfg80211_chan_def chandef; }; -struct ieee80211_cipher_scheme { - uint32_t cipher; - uint8_t iftype; /* We do not know the size of this. */ - uint8_t hdr_len; - uint8_t pn_len; - uint8_t pn_off; - uint8_t key_idx_off; - uint8_t key_idx_mask; - uint8_t key_idx_shift; - uint8_t mic_len; -}; - enum ieee80211_event_type { BA_FRAME_TIMEOUT, BAR_RX_EVENT, @@ -507,8 +495,6 @@ struct ieee80211_hw { /* TODO FIXME */ int extra_tx_headroom, weight_multiplier; int max_rate_tries, max_rates, max_report_rates; - struct ieee80211_cipher_scheme *cipher_schemes; - int n_cipher_schemes; const char *rate_control_algorithm; struct { uint16_t units_pos; /* radiotap "spec" is .. inconsistent. */ From nobody Fri Apr 18 14:37:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQw0Pbfz5stYN; Fri, 18 Apr 2025 14:37: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 4ZfHQv3blVz3KZQ; Fri, 18 Apr 2025 14:37:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X8bAcCDBDAEv1nmYrSf0qd7SZr8wyNlhdeGCiykknMg=; b=EAH1YkcLUSL4wd5SgpG3aqpPF/qDEI11GSHTWJYut/sWcOf3LOrT2V9S4TyxYJlAeQcV2D quFK9ty+U1DbaRe3PntqXebxPqiUXo3AG7whyZ8BqfaLAShxz3uQEpCxNf/xizNnl7NkAo Yi0BgMZl+0o+mPgZgMo69rcFbRC7iBKLzMVjKWI5ZarX//qx5WdKJHSBeJmPq58GKOIaci SJDHLxYx046fJ5j4aG9gIScEt4ExzzgM3efrOde7kU/GZMr+qfClUmvWT0wYRkSLXz6h/b U5/0wjRCQjQBBHLBJ35z3GaxOp01en1WI71XWT4XGwpliikt8DboaWd6/TOpyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987031; a=rsa-sha256; cv=none; b=cQ+qqKVuFTqg9NOQj2q4k8oMIe0dtDuvVQyZvUaqZuvHEXmCRki4Du+xgVW7M7YyjbJgHf rUyqXTOD2CRKLMGYZ80fdBBvr4sLCCWn3PFpPeJVH3kk9zgO+y4crPNJ8zB1O2nwYEAFjk gH7BRrrNURlSYRf2oSx4WgpYNaJmHXJDbhcAHAvh7coGD7wUaip1nPF+/ApaX6p/Vx7Ped qFsLGEQM8hpXkAFNf5c/FOGhKxMUI3mnu46uzC3QoUL/uVBF1p5fk0wvabJaXLlNZQTizy cyhKTDriDA1iQ6BCENlOxKD1IANx1G0U8QEkDAeKaFfg6BDz1pQHwMiqBwc25A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X8bAcCDBDAEv1nmYrSf0qd7SZr8wyNlhdeGCiykknMg=; b=LQcRhKNWmrARk6nwhe7mcJ9+ExlLSUWiNbaXsY50o5LR1xtHt9gPLDjWhfB9X9BoUffsQU ELWv1NTHt42oMfV4u7JjHXtFLktRV/Z+Wm65Cmq5Zv/26ZebvJcQPyQYame3PBnXkbvkeq 5c+sndkHAZXL7UHnVExupJQzrf/fFAN9/oRoOhbNQAkWc75Q6d8vX6hWa5OU9fjkv2v23A +hZl1MobWw9IScGtFfLyjlz8uebV4zXHH+piWQseRs5GbirqO0Q5v3C0PFm1xVsDFO+8lt xxcVULV2l4kFGivZGdRdo2ICEWZTx9VFnEKrghKrCygy+f3RxaBMfYcWqzlQnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQv38wGzdtC; Fri, 18 Apr 2025 14:37: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 53IEbB4k091767; Fri, 18 Apr 2025 14:37:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbBHj091764; Fri, 18 Apr 2025 14:37:11 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:11 GMT Message-Id: <202504181437.53IEbBHj091764@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 57764d222865 - stable/14 - LinuxKPI: 802.11: reduce code duplication introducing lkpi_remove_chanctx() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 57764d222865c1182dd9bab55fda4e4c012ba56b Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=57764d222865c1182dd9bab55fda4e4c012ba56b commit 57764d222865c1182dd9bab55fda4e4c012ba56b Author: Bjoern A. Zeeb AuthorDate: 2025-04-05 23:59:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: reduce code duplication introducing lkpi_remove_chanctx() We have the same code three times, so factor it out into its own function to make it easier to maintain. Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit 50d826be664ef35065e8c4c4966252f2dfde9cb9) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 2 +- sys/compat/linuxkpi/common/src/linux_80211.c | 80 ++++++++--------------- 2 files changed, 30 insertions(+), 52 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 5c155a4c1cc8..95991dd2ac42 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -839,7 +839,7 @@ struct ieee80211_vif { bool probe_req_reg; uint8_t addr[ETH_ALEN]; struct ieee80211_vif_cfg cfg; - struct ieee80211_chanctx_conf *chanctx_conf; + struct ieee80211_chanctx_conf *chanctx_conf; /* XXX-BZ no longer used anywhere but in linuxkpi 802.11 internally; now in bss_conf per-link? */ struct ieee80211_txq *txq; struct ieee80211_bss_conf bss_conf; struct ieee80211_bss_conf *link_conf[IEEE80211_MLD_MAX_NUM_LINKS]; /* rcu? */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3d60404537e2..63a6328ebc74 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1731,6 +1731,31 @@ lkpi_80211_flush_tx(struct lkpi_hw *lhw, struct lkpi_sta *lsta) } } + +static void +lkpi_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) +{ + /* Take the chan ctx down. */ + if (vif->chanctx_conf != NULL) { + struct lkpi_chanctx *lchanctx; + struct ieee80211_chanctx_conf *chanctx_conf; + + chanctx_conf = vif->chanctx_conf; + /* Remove vif context. */ + lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->chanctx_conf); + /* NB: vif->chanctx_conf is NULL now. */ + + lkpi_hw_conf_idle(hw, true); + + /* Remove chan ctx. */ + lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); + vif->bss_conf.chanctx_conf = NULL; + lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); + free(lchanctx, M_LKPI80211); + } +} + + /* -------------------------------------------------------------------------- */ static int @@ -1924,6 +1949,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int ic_printf(vap->iv_ic, "%s:%d: mo_assign_vif_chanctx " "failed: %d\n", __func__, __LINE__, error); lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); + vif->bss_conf.chanctx_conf = NULL; lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); free(lchanctx, M_LKPI80211); goto out; @@ -2157,23 +2183,7 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ - /* Take the chan ctx down. */ - if (vif->chanctx_conf != NULL) { - struct lkpi_chanctx *lchanctx; - struct ieee80211_chanctx_conf *chanctx_conf; - - chanctx_conf = vif->chanctx_conf; - /* Remove vif context. */ - lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->chanctx_conf); - /* NB: vif->chanctx_conf is NULL now. */ - - lkpi_hw_conf_idle(hw, true); - - /* Remove chan ctx. */ - lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); - lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); - free(lchanctx, M_LKPI80211); - } + lkpi_remove_chanctx(hw, vif); out: LKPI_80211_LHW_UNLOCK(lhw); @@ -2501,23 +2511,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i /* conf_tx */ - /* Take the chan ctx down. */ - if (vif->chanctx_conf != NULL) { - struct lkpi_chanctx *lchanctx; - struct ieee80211_chanctx_conf *chanctx_conf; - - chanctx_conf = vif->chanctx_conf; - /* Remove vif context. */ - lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->chanctx_conf); - /* NB: vif->chanctx_conf is NULL now. */ - - lkpi_hw_conf_idle(hw, true); - - /* Remove chan ctx. */ - lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); - lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); - free(lchanctx, M_LKPI80211); - } + lkpi_remove_chanctx(hw, vif); error = EALREADY; out: @@ -3117,23 +3111,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ - /* Take the chan ctx down. */ - if (vif->chanctx_conf != NULL) { - struct lkpi_chanctx *lchanctx; - struct ieee80211_chanctx_conf *chanctx_conf; - - chanctx_conf = vif->chanctx_conf; - /* Remove vif context. */ - lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->chanctx_conf); - /* NB: vif->chanctx_conf is NULL now. */ - - lkpi_hw_conf_idle(hw, true); - - /* Remove chan ctx. */ - lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); - lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); - free(lchanctx, M_LKPI80211); - } + lkpi_remove_chanctx(hw, vif); error = EALREADY; out: From nobody Fri Apr 18 14:37:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQw6X4Sz5stRN; Fri, 18 Apr 2025 14:37: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 4ZfHQw4L4Gz3KZb; Fri, 18 Apr 2025 14:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EB3H70GNqiE0WlP3x9RU6h8CkSvU4V4tzgS0CseaIrw=; b=bwZD5qQRbrPhxfxfWvlxBVoaeKYzUpcMUBfL1/9T3xftKkQDLmAlFeK3/DVYywPrTikOjm /xrYLq13QLNVaUm9YwavEeCKy8/6yKLa+9Kmhz44OtvmBxXcGamyyF2O1R/rNRkz7ncCVR xgvI18KhLcCcffnVhSonOOUI6K5PoPntfGOIZ+/3qYVxqAlZ45OKBXZm2so8sR+Q3DduAM SaLnlS/ArE9xOttai4G45JK+giAZtqf1TgUMFTIKJhZcLIahD/l6NVtlVIrcsPt0bI2MVo XAuwwTua1lsbb0UMm01pEL6APZZTegT7E1u6Buv0nucyhXZADp2Y49+UdKowew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987032; a=rsa-sha256; cv=none; b=dvQi1BMpEWWxFnDNCeQL2IMpyEGsx81URItwq7oWI37P5Ww79X22vAF6QD1Zl6lMvtp4pM 2pHXH6IX3d8NAY1r5bfAjFP9hw3I2IRqW23eZ2U7j6b2zitDxtC6Je1a3pIpEEZkqOvph1 27VAEBW9meLnrT3MHQsez7aGIo/Vt28EDT9lCDaivzKSDr+ifTEVAULXBqFIQfZ60IRtP8 PX0D1VShcAnRvPX5uJS1o+JhUFW77VdD4WUmCdktqBpxUEv+Xw6stRp18RmWOq4KeGLfiG TKnLuQWcmwgELr/FWulD+9h1Ye1JooOmUk3UK87mnp8fEZgWm+N4479FAGKpHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EB3H70GNqiE0WlP3x9RU6h8CkSvU4V4tzgS0CseaIrw=; b=ZO3WU1fsLTQaskD1PLmifbFuzB1Leme6m454uSw5/EHaqecXbUCR0DIiw9qjXoPnK+4Tu6 2sSsIpxSsy6dSJnwnDN/RnY5D0yL93TtClZsZjnzEcvzMsrvfginZu6t9zfJ3vDqGUcXim Btye/meEeS22cJBOB40M5xm+ElmWCX9T925R+Akluo7csWTyNkrwTI7mUKNYLpFbBqljj/ xYJ5yHC4+9yv/gUDUBWb2AgTZDd89gO/oGcmKNXY7IXcVgwvSGiC3aNReDcj3qh6Q5htSL FLFwy4Z0bPYCW1b1XOHXT2t+7XpLdY2sNu7spW2V6g63LBCQN6NE7b0+1deZbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQw3vbZzdtD; Fri, 18 Apr 2025 14:37: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 53IEbCib091804; Fri, 18 Apr 2025 14:37:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbCYV091801; Fri, 18 Apr 2025 14:37:12 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:12 GMT Message-Id: <202504181437.53IEbCYV091801@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 494894b11a98 - stable/14 - LinuxKPI: 802.11: move chanctx_conf from vif to vif->bss_conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 494894b11a9886ed974de79498ada136249cb930 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=494894b11a9886ed974de79498ada136249cb930 commit 494894b11a9886ed974de79498ada136249cb930 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 00:56:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: move chanctx_conf from vif to vif->bss_conf In preparations for MLD support chanctx_conf was moved from vif to the bss_conf as it will be per-link later. Follow accordingly. Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit 11604b2a1659fd6da9bbfdc6acf9758884cb2b36) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 1 - sys/compat/linuxkpi/common/src/linux_80211.c | 20 ++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211_macops.c | 2 +- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 95991dd2ac42..016143874564 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -839,7 +839,6 @@ struct ieee80211_vif { bool probe_req_reg; uint8_t addr[ETH_ALEN]; struct ieee80211_vif_cfg cfg; - struct ieee80211_chanctx_conf *chanctx_conf; /* XXX-BZ no longer used anywhere but in linuxkpi 802.11 internally; now in bss_conf per-link? */ struct ieee80211_txq *txq; struct ieee80211_bss_conf bss_conf; struct ieee80211_bss_conf *link_conf[IEEE80211_MLD_MAX_NUM_LINKS]; /* rcu? */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 63a6328ebc74..43d5c5dc9deb 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1736,14 +1736,14 @@ static void lkpi_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) { /* Take the chan ctx down. */ - if (vif->chanctx_conf != NULL) { + if (vif->bss_conf.chanctx_conf != NULL) { struct lkpi_chanctx *lchanctx; struct ieee80211_chanctx_conf *chanctx_conf; - chanctx_conf = vif->chanctx_conf; + chanctx_conf = vif->bss_conf.chanctx_conf; /* Remove vif context. */ - lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->chanctx_conf); - /* NB: vif->chanctx_conf is NULL now. */ + lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->bss_conf.chanctx_conf); + /* NB: vif->bss_conf.chanctx_conf is NULL now. */ lkpi_hw_conf_idle(hw, true); @@ -1840,8 +1840,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int LKPI_80211_LHW_LOCK(lhw); /* Add chanctx (or if exists, change it). */ - if (vif->chanctx_conf != NULL) { - chanctx_conf = vif->chanctx_conf; + if (vif->bss_conf.chanctx_conf != NULL) { + chanctx_conf = vif->bss_conf.chanctx_conf; lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); IMPROVE("diff changes for changed, working on live copy, rcu"); } else { @@ -1916,7 +1916,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); error = 0; - if (vif->chanctx_conf != NULL) { + if (vif->bss_conf.chanctx_conf != NULL) { changed = IEEE80211_CHANCTX_CHANGE_MIN_WIDTH; changed |= IEEE80211_CHANCTX_CHANGE_RADAR; changed |= IEEE80211_CHANCTX_CHANGE_RX_CHAINS; @@ -3470,7 +3470,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], /* XXX-BZ hardcoded for now! */ #if 1 - vif->chanctx_conf = NULL; + vif->bss_conf.chanctx_conf = NULL; vif->bss_conf.vif = vif; /* vap->iv_myaddr is not set until net80211::vap_setup or vap_attach. */ IEEE80211_ADDR_COPY(vif->bss_conf.addr, mac); @@ -5970,10 +5970,10 @@ linuxkpi_ieee80211_iterate_chan_contexts(struct ieee80211_hw *hw, TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { vif = LVIF_TO_VIF(lvif); - if (vif->chanctx_conf == NULL) + if (vif->bss_conf.chanctx_conf == NULL) continue; - lchanctx = CHANCTX_CONF_TO_LCHANCTX(vif->chanctx_conf); + lchanctx = CHANCTX_CONF_TO_LCHANCTX(vif->bss_conf.chanctx_conf); if (!lchanctx->added_to_drv) continue; diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index 1da3c582adb4..e9f97914a4b1 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -459,7 +459,7 @@ lkpi_80211_mo_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif * hw, vif, conf, chanctx_conf); error = lhw->ops->assign_vif_chanctx(hw, vif, conf, chanctx_conf); if (error == 0) - vif->chanctx_conf = chanctx_conf; + vif->bss_conf.chanctx_conf = chanctx_conf; out: return (error); From nobody Fri Apr 18 14:37:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQz3LrTz5stfG; Fri, 18 Apr 2025 14:37: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 4ZfHQy6FBvz3KpP; Fri, 18 Apr 2025 14:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MpnGOqfR3/Sv4fkdqFfZFbg87dSf3uCNY96Q8ZCHXpA=; b=SlOkJTD6BfbhhxxJVpOA1YdUPbbs5+yTQ7iZzIbJNRBZoCioj1wmIbU1jb1xSOT998TkfD KemmjQVtl16iAxIgsFECXolO+m8OjPC+iNIxZNbEsMm18as+fl1eZh3YG4/0GfHZDqhkHJ 4vkfytraRqPMtIH191FPs6cSxMdMbZVqF1YhJY9gKKaDnhhdGPG9ntqmEmbD8cTXK92Pou FT1WBlNhUILLUHyNCtI18THqYFx5PVfM9Lg+211TDXTfhHE34+lyMw/SPhfWe4PT/Pcosx 5ThafaqliJs+DkLzVjwhyeIY4RJ8LDj7pC2l84C1XmlhGCsEma1iQE4CbQ8JQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987034; a=rsa-sha256; cv=none; b=ax7P0hpRzAI2ovGbnOpsEicZlqiO+zJJap3YJaIpQgZi2Jidy3FfnAnZHsnmXyBfyUqxLc pAUnWsqRkaX8f22qmiW8UmY7xTjr7LdlsQJDh3G3WZml8tMhJSDFDL+pRlHpcnd2EgYhLD onrxjPQGidPObk0e/uth/hBi4omkbZm3qjTgBUGj7cx/zLGTbGGb3OJw0aIDtoQQeeIj3s EnWWnUb9nUR3FxbRxxv4jouCFD94rKPoA8XEgi9toxfk+YydvGAScIwXCw6aMAVm6YHs17 C+orAFIV7/R/dYU4LyNs9R5bKigPk3Sc6wS+jn6Xtt5ZoO87SKp03aXap0nyjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MpnGOqfR3/Sv4fkdqFfZFbg87dSf3uCNY96Q8ZCHXpA=; b=Y6CMHt1MBsGMCBG53yjFWG/HVpdMf6096vN4l4E/del6VBVqbrcX7uCQQs5ibDHOeqSXjU pUd4kkUZBEDqNUkpQ+k4piwqZ+XTOohPJb/roR77eKCF08fd321USDWR3uhtc1rjFzK9Tq d12Vk5NmFx0nYyV6vjyMGAxUqryXW5ppFkh0Zulv8LcmGzjXbqdCY1NOwE1W/NFRwL+Wp9 a92CCR+b3FUpOH5Ar/urepaWd/qoI4hqyBpZCWTbBxc9vbPwEX2oHDhPDUl3Fxz1t9pKEm XE1/MXtTn5E9TNz5QALgGG2divJQWWFBWejMqws22ASD2wHevsWSH1umRHlpOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQy5qb4zdxx; Fri, 18 Apr 2025 14:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEbEXj091874; Fri, 18 Apr 2025 14:37:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbE4d091871; Fri, 18 Apr 2025 14:37:14 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:14 GMT Message-Id: <202504181437.53IEbE4d091871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7614861463e6 - stable/14 - LinuxKPI: 802.11: adjust locking around lkpi_remove_chanctx() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7614861463e6c26fdaaa79206b2bb0c79bb23683 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7614861463e6c26fdaaa79206b2bb0c79bb23683 commit 7614861463e6c26fdaaa79206b2bb0c79bb23683 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 16:35:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: adjust locking around lkpi_remove_chanctx() With the adjusted locking as a first step and the single code path into lkpi_80211_mo_unassign_vif_chanctx() we also move the "setting chnactx to NULL" into the caller to simplify the code. Before we can adjust the other places touching vif->bss_conf.chanctx we need to adjust the overall locking in LinuxKPI 802.11. Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit 231168c7e77777f69a323bcd80a7956527d34548) --- sys/compat/linuxkpi/common/src/linux_80211.c | 39 +++++++++++++--------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 +- .../linuxkpi/common/src/linux_80211_macops.c | 12 ++++--- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 43d5c5dc9deb..edd3b91dcecf 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1735,24 +1735,27 @@ lkpi_80211_flush_tx(struct lkpi_hw *lhw, struct lkpi_sta *lsta) static void lkpi_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) { - /* Take the chan ctx down. */ - if (vif->bss_conf.chanctx_conf != NULL) { - struct lkpi_chanctx *lchanctx; - struct ieee80211_chanctx_conf *chanctx_conf; + struct ieee80211_chanctx_conf *chanctx_conf; + struct lkpi_chanctx *lchanctx; - chanctx_conf = vif->bss_conf.chanctx_conf; - /* Remove vif context. */ - lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, &vif->bss_conf.chanctx_conf); - /* NB: vif->bss_conf.chanctx_conf is NULL now. */ + chanctx_conf = rcu_dereference_protected(vif->bss_conf.chanctx_conf, + lockdep_is_held(&hw->wiphy->mtx)); - lkpi_hw_conf_idle(hw, true); + if (chanctx_conf == NULL) + return; - /* Remove chan ctx. */ - lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); - vif->bss_conf.chanctx_conf = NULL; - lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); - free(lchanctx, M_LKPI80211); - } + /* Remove vif context. */ + lkpi_80211_mo_unassign_vif_chanctx(hw, vif, &vif->bss_conf, chanctx_conf); + + lkpi_hw_conf_idle(hw, true); + + /* Remove chan ctx. */ + lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); + + /* Cleanup. */ + rcu_assign_pointer(vif->bss_conf.chanctx_conf, NULL); + lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); + free(lchanctx, M_LKPI80211); } @@ -2183,7 +2186,9 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ + wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); + wiphy_unlock(hw->wiphy); out: LKPI_80211_LHW_UNLOCK(lhw); @@ -2511,7 +2516,9 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i /* conf_tx */ + wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); + wiphy_unlock(hw->wiphy); error = EALREADY; out: @@ -3111,7 +3118,9 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ + wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); + wiphy_unlock(hw->wiphy); error = EALREADY; out: diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index c2d29b2dcc4b..c01a6cb0cd7c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -425,7 +425,7 @@ int lkpi_80211_mo_config(struct ieee80211_hw *, uint32_t); int lkpi_80211_mo_assign_vif_chanctx(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf *); void lkpi_80211_mo_unassign_vif_chanctx(struct ieee80211_hw *, struct ieee80211_vif *, - struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf **); + struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf *); int lkpi_80211_mo_add_chanctx(struct ieee80211_hw *, struct ieee80211_chanctx_conf *); void lkpi_80211_mo_change_chanctx(struct ieee80211_hw *, struct ieee80211_chanctx_conf *, uint32_t); diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index e9f97914a4b1..ff3959340af7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -467,21 +467,23 @@ out: void lkpi_80211_mo_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, - struct ieee80211_bss_conf *conf, struct ieee80211_chanctx_conf **chanctx_conf) + struct ieee80211_bss_conf *conf, struct ieee80211_chanctx_conf *chanctx_conf) { struct lkpi_hw *lhw; + might_sleep(); + lockdep_assert_wiphy(hw->wiphy); + lhw = HW_TO_LHW(hw); if (lhw->ops->unassign_vif_chanctx == NULL) return; - if (*chanctx_conf == NULL) + if (chanctx_conf == NULL) return; LKPI_80211_TRACE_MO("hw %p vif %p bss_conf %p chanctx_conf %p", - hw, vif, conf, *chanctx_conf); - lhw->ops->unassign_vif_chanctx(hw, vif, conf, *chanctx_conf); - *chanctx_conf = NULL; + hw, vif, conf, chanctx_conf); + lhw->ops->unassign_vif_chanctx(hw, vif, conf, chanctx_conf); } From nobody Fri Apr 18 14:37:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHQy1cCrz5stJ1; Fri, 18 Apr 2025 14:37: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 4ZfHQx5lQwz3KpJ; Fri, 18 Apr 2025 14:37:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4EukVIykvAOVAvSMvO/tQUzXrKpQh8dS0fuPIBCwPg=; b=U/mQAUEpKyurulfVtnXhh1YbMq+QMHackfRUXfnYN4CnxLFTrFV96SMkjEqzglEPRGl+48 2uCxEB509J2TQ/kSzldEqnj1jIrVnsX7TgdSLtTN8N7KJvJh80dfktalbHkgPNZlrLbcfu RVi0byA+ixpn8Uti5eUYqkMbyzYhJEoy/0NcEsrujTmr6p992i7lZhSzbtKOfPnFtU6f4D 1re5fxBM+Ocd4wKQTNTTdwSGmYQA6fIZFS3klH3FRNOQX9PIcoOo7RcUE0z4vWEIPh2E+z 67RuZaBV9YHRtmjJovG5ckRR4hji0p4fiEiZU611t/6Z3qNyRsIFezVO6Libzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987033; a=rsa-sha256; cv=none; b=uJPHq61XOxug3udDaKcpYeHMVZqo3LKhctSQ9/+f7yvtGe05tIQ0glF5yZfv+VV9KzFpge lYItmVOn4ubFsqgpeLho1fj9AGgoA1J4RDtpnxqxldmwBdQ0j0xpsqcXkZywpo+hfIGNZ0 R4QKfAGg/H2H0WuH6WbK+8OR1/YJ6aEKJtYWLdSSUQVVrSSabOnK4qIpRSUR075WMSqcce jcTjIDTNIG3MpzpWX4zMP4Yi47gO503gZj/fl6zACSRIU6ndviBIL+mTGzKg9KLSsismle nyFFMN2im62Ipg8uy+uY3zGC0lYCDxE2wTyBcCIvCaxPIwrSLLsGMcKcQtQvSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4EukVIykvAOVAvSMvO/tQUzXrKpQh8dS0fuPIBCwPg=; b=m4VIi71ZhoEbEdDXgOmBKs6OFiWnKLecrC54aExyNeBMF5nnlBw0C3OAgqWnam8cr0R13Q 8VdNc1+S1XUgxugIVWhYgvZfHAil9aAyR8kwFKlfkxtL9ihI6JDozYEPQRfw5JqQIfxPh5 nR8qTzZc9vSc9wJ888QjxpIulPKkJx6o25V5YRLQAPK6vLoW1uDJ0uwUpLKZ1NG7Jqyarf rjlVoj5JET9aLMiTMcrHAIhKceDQUQ5f3oK5vSQfqT7Bcgg1b/TvzylEcLC6KvQDcIfLMC H7JmlG3Fa9h9MnTaO787AhMFUKtacdYqqfTJ9yDiHib/WSAe+USZE99ocUHyFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHQx52K6zfDy; Fri, 18 Apr 2025 14:37: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 53IEbD8e091839; Fri, 18 Apr 2025 14:37:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbDHQ091836; Fri, 18 Apr 2025 14:37:13 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:13 GMT Message-Id: <202504181437.53IEbDHQ091836@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7b9d08676f33 - stable/14 - LinuxKPI: 802.11: more fields moved from vif to bss_conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7b9d08676f3396f404501c959c4c0a95e3098ff4 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7b9d08676f3396f404501c959c4c0a95e3098ff4 commit 7b9d08676f3396f404501c959c4c0a95e3098ff4 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 01:04:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:00 +0000 LinuxKPI: 802.11: more fields moved from vif to bss_conf csa_active, color_change_active, mu_mimo_owner also moved from vif to bss_conf; we already have the fields in bss_conf (adjust type for one) so all we have to do is remove the old relics in vif. Sponsored by: The FreeBSD Foundation Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit 5321cf2b15d7bff1b01182cfc4897ac978c63fe7) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 016143874564..8856eee8c696 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -343,6 +343,7 @@ struct ieee80211_bss_conf { bool eht_support; bool csa_active; bool mu_mimo_owner; + bool color_change_active; uint32_t sync_device_ts; uint64_t sync_tsf; uint16_t beacon_int; @@ -363,7 +364,6 @@ struct ieee80211_bss_conf { int twt_requester, uora_exists, uora_ocw_range; int assoc_capability, enable_beacon, hidden_ssid, ibss_joined, twt_protected; int twt_responder, unsol_bcast_probe_resp_interval; - int color_change_active; }; struct ieee80211_channel_switch { @@ -831,9 +831,8 @@ struct ieee80211_vif_cfg { struct ieee80211_vif { /* TODO FIXME */ enum nl80211_iftype type; - int csa_active, mu_mimo_owner; int cab_queue; - int color_change_active, offload_flags; + int offload_flags; enum ieee80211_vif_driver_flags driver_flags; bool p2p; bool probe_req_reg; From nobody Fri Apr 18 14:37:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR068Fwz5stFM; Fri, 18 Apr 2025 14:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHR00z7vz3KbS; Fri, 18 Apr 2025 14:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BLM4vnG1ydcpo3qq+xdmPw/AZ56/smUDeFNVgepx24g=; b=EpF1tLrx9F31G5Pi3525BvY/Or4R7DF0GLNqoO+ti2W3V2pzTGzBpcPwK89oQmILRtitba Jp3motL5AXvmj+U5LNcEp585bWWWfYqXasicK1GjUG2BzQkdYq2rYbQvX9mBMZUP/CMYF0 cwdxvjgDu8G5dA+cuVAmIAxiyYEvnUKvKmm7jUZo1KBaJeqPFL01cqUqzHyQePx4x9FyYC hcI9KfiyDn1arTaifDMAT9q1NWjl4jN5zFcywT4HD9g/7CVAJt/RZ5HIZJAcF9gan7GZKM j5zCl9bblRv19g6JCjhPkPkqnTM/4yb6kALy5B474dKkzgvZwJWMoKYAYr0yXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987036; a=rsa-sha256; cv=none; b=OAmbpbn98LUF0qgU5dtDRgx6rMf5B17y59j6+TwDTD88x6MQSSSFwU2UwFYTzrXPI1m5XO 7ZGYP0qem7fJZX0IgjLL2SrV2KYmNavoxgdXeACcQLGWUtF7B5vSQz/3JSjdyvogCMHFBJ QhPAX1H8Op1BWAHlTScqRtiViWIQ1HPGH6nYXCFut4B1YOstdQ92I+NDgq6AgSONlrVPG+ VCgrEqHnBHhwg8Mm1Vg6L5J/jZ+58yiDBA6z8h98iLXE8zLwmmAc1rE2tqRofnNdrj9Jse 2NZby0s7notiVpqeIUQPvQhP77dQZ8mdm9P5FmorEEfz3LvwqnEtIqVwAW+/9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BLM4vnG1ydcpo3qq+xdmPw/AZ56/smUDeFNVgepx24g=; b=pSG0e5RbqrO5NIZmQ7swEl7g5DfvGXnqe+lbO/SwQ5UGaQGJSJtlPDpdMoN6md/k8vD+gY luj/AKUDMF35FFDSihhGIaoLZD1Wji6rHdtKomM2/5CZlG3/EVnb8zgnihdoaUswT3gvNJ o2qln59X4rNIyVl1znIGKtjFJJbI53UDo9pdHkumVJjVIUZwA6KCxrEKkaSczKyfkzQmBY 4+Zu5BdmBa4GMx6vrNZVSu3vxhB7ulVDYvQt3jjp9ZD7LDS4koNmOhJ6RAjGFEfk5rJSzf wRNE7vypTo2zAXGNjallfKnrOgYlcudsM8sZbNG35HMsx8tkBiPcvJoswkmtYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR00BXBzfHK; Fri, 18 Apr 2025 14:37: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 53IEbF3D091909; Fri, 18 Apr 2025 14:37:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbFtZ091906; Fri, 18 Apr 2025 14:37:15 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:15 GMT Message-Id: <202504181437.53IEbFtZ091906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e36fd5d2b60f - stable/14 - LinuxKPI: 802.11: try to limit VHT (11ac) to 5Ghz List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e36fd5d2b60ff816e3f56253460de5c370e1d5c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e36fd5d2b60ff816e3f56253460de5c370e1d5c4 commit e36fd5d2b60ff816e3f56253460de5c370e1d5c4 Author: Bjoern A. Zeeb AuthorDate: 2025-04-09 19:22:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: try to limit VHT (11ac) to 5Ghz We have multiple reports for iwlwifi firmware crashes where net80211 logged: ieee80211_sta_join: BSS xx:xx:xx:xx:xx:xx: 2GHz channel, VHT info; ignoring Make sure when we sync from net80211 or set state that we only do VHT if we are on the 5Ghz band. This change is likely helpful whether it fixes the originally reported problems or not. Sponsored by: The FreeBSD Foundation Reported by: Jonathan Vasquez (jon xyinn.org) Reported by: Michael Butler (imb protected-networks.net) Reported by: others (fw crash w/o net80211 logging) Tested by: Eirik Øverby (ltning-freebsd-wireless anduin.net) Tested by: lwhsu Tested by: Michael Butler (imb protected-networks.net) Differential Revision: https://reviews.freebsd.org/D49761 (cherry picked from commit 5393cd34854e1fe23ab214e9f741879fa6bf1193) --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index edd3b91dcecf..1eff90a1d93e 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -442,7 +442,8 @@ lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) uint16_t rx_mcs_map; uint8_t mcs; - if ((ni->ni_flags & IEEE80211_NODE_VHT) == 0) { + if ((ni->ni_flags & IEEE80211_NODE_VHT) == 0 || + !IEEE80211_IS_CHAN_VHT_5GHZ(ni->ni_chan)) { sta->deflink.vht_cap.vht_supported = false; return; } @@ -1874,7 +1875,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int } #endif #ifdef LKPI_80211_VHT - if (IEEE80211_IS_CHAN_VHT(ni->ni_chan)) { + if (IEEE80211_IS_CHAN_VHT_5GHZ(ni->ni_chan)) { #ifdef __notyet__ if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) chanctx_conf->def.width = NL80211_CHAN_WIDTH_80P80; @@ -3864,7 +3865,8 @@ lkpi_scan_ies_add(uint8_t *p, struct ieee80211_scan_ies *scan_ies, } #endif #if defined(LKPI_80211_VHT) - if ((vap->iv_vht_flags & IEEE80211_FVHT_VHT) != 0) { + if (band == NL80211_BAND_5GHZ && + (vap->iv_vht_flags & IEEE80211_FVHT_VHT) != 0) { struct ieee80211_channel *c; c = ieee80211_ht_adjust_channel(ic, ic->ic_curchan, @@ -5366,7 +5368,7 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, NL80211_BAND_5GHZ); #ifdef LKPI_80211_VHT - if (hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.vht_supported){ + if (hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.vht_supported) { ic->ic_flags_ext |= IEEE80211_FEXT_VHT; ic->ic_vht_cap.vht_cap_info = From nobody Fri Apr 18 14:37:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR15zkpz5stWv; Fri, 18 Apr 2025 14:37: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 4ZfHR11QCRz3KVM; Fri, 18 Apr 2025 14:37:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RKj8y1+36Qb4g5hLVPsq3nsZQwvZdEkCIPr8fxgavJk=; b=wKC/m/7o2Dcvs9gs3Hw4Crtl5R1OCRSOq5wb65QRFVzfjx3ZHsp2gw0UEwQlMTXKTle1/j lLnvjF5t/TVJaKz1M2SwCC/IHlP2vstcjwqxWtFLagnU7/7ZHh5ird+HdaKGwkFa/Uvsfh RXCBzKC/7BKZIQFTA9+wBW10ts5mmOfm9u3S2Bi4iIf0UD4ueZTxyyc+6+xgg0aI3ZsrMd yk1/cvrgZPnf/Pq90Cx4ZVae+4NoCkKXuJUdJwLJ0qDh7BDm9cJHrsLxTEUNi2SlnLXCnF i3QxKb9l1l9gUdkp1pArOa57zd+6OhFiIHd5b6OYQ1xM2nXIhxXmTJC+A/pXWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987037; a=rsa-sha256; cv=none; b=BTV/o5obzv+diwqlGzRioLsIf9OEb6a4Btin9xnuofPmigHZUHVA2a2wcIJc1vVVHr939G 4IvPk1WNjCLV5IvSEbuANFF8J1d/50up4m2jkuoKFfnLbwTF+v2Wi437vs7XnlAV/UcJ7X 6eYzDFxB6uTl4GZ9TWo5OjIAMmSgwn7tKX01jsLsmRP1gBaNXDtVx1JWpndwPvhNuWD6Rd LYOQie9BF6MnnTqQ/qTg5o9w7v79mAZpUw09zKFKmWDwj5X446FQXWje8Re6akAkzoPIdL SfwAAzyX8d+QAE8xk6I23wrZu/RXW02UJDrc0L4K5nKGJJ2R5MXcBSf+AAX7GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RKj8y1+36Qb4g5hLVPsq3nsZQwvZdEkCIPr8fxgavJk=; b=ilTAe0yDTxh345k22EbFm+uiyT5TevwQAVqkcEWGrkwZsoXCO7qSUABZXAa/mVkFLi0Qmg YyWIGzOpU3j9Cu3+7n63jJG+CPcDRoCaTrBeYb9Xzi7mV06MTmYbGDYgmSRCgUax5bOtEv 7xRnv61goyEjBZUk0pYYqMg6kWfLqMRzTzPEmAT06/iAyvke3O7Z+hLi7XYbmvdZvU3Iyc e15/IlLR//Ums4S8XDZGgPGx7N7ia4xnneKxpP7UhIXKq1K668fKmCmnL/tEr2e5nF50DD CvG33f4LajHxcFwu7a//cYWJvtYQSAnBe1Eup2jBqxtMxlcAz5O6csUQaiB7XA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR10rLNzf3s; Fri, 18 Apr 2025 14:37: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 53IEbHqC091950; Fri, 18 Apr 2025 14:37:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbHEG091947; Fri, 18 Apr 2025 14:37:17 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:17 GMT Message-Id: <202504181437.53IEbHEG091947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: becb074fdefc - stable/14 - LinuxKPI: 802.11: adjust vif->bss_conf.chanctx_conf to rcu accessors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: becb074fdefc40cff3365746a1036843e16c09d6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=becb074fdefc40cff3365746a1036843e16c09d6 commit becb074fdefc40cff3365746a1036843e16c09d6 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 19:25:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: adjust vif->bss_conf.chanctx_conf to rcu accessors Adjust the init and lkpi_sta_scan_to_auth() chanctx_conf accesses to use rcu functions as needed. linuxkpi_ieee80211_iterate_chan_contexts() which is ieee80211_iter_chan_contexts_atomic() needs further work to get rid of the vif locks by keeping all chanctx_conf on a list in lhw. This will be done in a follow-up commit. Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit 560708cbb0468bf1fd1834f4894a1326e88ff10e) --- sys/compat/linuxkpi/common/src/linux_80211.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1eff90a1d93e..bd1e60928144 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1844,8 +1844,9 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int LKPI_80211_LHW_LOCK(lhw); /* Add chanctx (or if exists, change it). */ - if (vif->bss_conf.chanctx_conf != NULL) { - chanctx_conf = vif->bss_conf.chanctx_conf; + chanctx_conf = rcu_dereference_protected(vif->bss_conf.chanctx_conf, + lockdep_is_held(&hw->wiphy->mtx)); + if (chanctx_conf != NULL) { lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); IMPROVE("diff changes for changed, working on live copy, rcu"); } else { @@ -1920,7 +1921,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); error = 0; - if (vif->bss_conf.chanctx_conf != NULL) { + if (vif->bss_conf.chanctx_conf == chanctx_conf) { changed = IEEE80211_CHANCTX_CHANGE_MIN_WIDTH; changed |= IEEE80211_CHANCTX_CHANGE_RADAR; changed |= IEEE80211_CHANCTX_CHANGE_RX_CHAINS; @@ -1941,7 +1942,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int goto out; } - vif->bss_conf.chanctx_conf = chanctx_conf; + rcu_assign_pointer(vif->bss_conf.chanctx_conf, chanctx_conf); /* Assign vif chanctx. */ if (error == 0) @@ -1953,7 +1954,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int ic_printf(vap->iv_ic, "%s:%d: mo_assign_vif_chanctx " "failed: %d\n", __func__, __LINE__, error); lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); - vif->bss_conf.chanctx_conf = NULL; + rcu_assign_pointer(vif->bss_conf.chanctx_conf, NULL); lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); free(lchanctx, M_LKPI80211); goto out; @@ -3480,7 +3481,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], /* XXX-BZ hardcoded for now! */ #if 1 - vif->bss_conf.chanctx_conf = NULL; + RCU_INIT_POINTER(vif->bss_conf.chanctx_conf, NULL); vif->bss_conf.vif = vif; /* vap->iv_myaddr is not set until net80211::vap_setup or vap_attach. */ IEEE80211_ADDR_COPY(vif->bss_conf.addr, mac); @@ -5981,7 +5982,7 @@ linuxkpi_ieee80211_iterate_chan_contexts(struct ieee80211_hw *hw, TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { vif = LVIF_TO_VIF(lvif); - if (vif->bss_conf.chanctx_conf == NULL) + if (vif->bss_conf.chanctx_conf == NULL) /* XXX-BZ; FIXME see IMPROVE above. */ continue; lchanctx = CHANCTX_CONF_TO_LCHANCTX(vif->bss_conf.chanctx_conf); From nobody Fri Apr 18 14:37:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR30Hn9z5stfP; Fri, 18 Apr 2025 14:37: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 4ZfHR239ZPz3Kmy; Fri, 18 Apr 2025 14:37:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mMopBGP4Yd7iyYogS36FtcfzbvJyl15xlFWsN8KKi2w=; b=AqvJCGKPrGEvpuDjAKJau21S/xm8/tKL+y0besRd+8F046670h98YmFTgh562nF46+6C7Z dGKm0D+yxkD0FbW7+C6goK7/6I4/ASJhT/Ok8/cGczp+IbdonlWqp4N3FByKbX5/v0oy/C 3auCZxSBt25xdYjVEqlPM7Ama0tuxCBDYq+FP1hsn/KvdtH/952GFLfIY3f8VCFNV+MGpz 900iy0aYp5WgKRfNtCTempOjAGeaqIptSJD9PKAXtU00BVJV/J6H7jMx4fA3KbnZo2sy0l gwgQiirO2TyRKO7sMMcKISMCV3uR3bGSH4dIGnu0mQCa0T41HECoJT3ZWO/y5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987038; a=rsa-sha256; cv=none; b=bAG8QdxA3VExLZJzWAk8wtibwSOoVvhO9wciuIKNnyiIpAX0M7PYErJJGxnsL0K1W9MLDJ Zr1l7oIzssYei6DhiE12GqTIIUwG/aB0Bfao/Y0UYy4eImfUXapzxClqkFQnOanDZlKbOx HxBJmwvNC3BbpaOSUdb9GQYxRaAswqtR2No7wGeQ4OJXfwUGdNlcX7P+emSm6DLZIJ2k7p A+Wf0xP54GpMu2bSmcSyMSkIeKDLenzjv6q1dEKASU8pANXxIAKhg/LvOihuHJcwKFZJAy 8aJ1EKfQHSwBoCEDjiablqoYO4kKdGLx93gDPIHqzOghxTBDbqpFbeuQRtF9xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mMopBGP4Yd7iyYogS36FtcfzbvJyl15xlFWsN8KKi2w=; b=lpWPrHTZdmx7sl70RjJ51KJsEmq9wriERlEAnUlL/ecyRbev/q7jUsfhmw+Uty3E5xCiYg +fGhNnMKkW5CD3seYxTVvMeyW3A3W4Ntt6aI89gexY4a4b7im47+12HsZTt2cxQ6ec918I tje5fglofknVjTkDVBMVGlufEIpJkt0J8/hos7ruCBmukj3ZiXSKUnxYOUN14B3SGGG1Rq 7FFnYMkG0WSuw5dNdb72ZS9p4GU6N8c/f8otVTWnUR7dCHTl1j5t6VqrfsxzpBYCLHF7Tf +mt8mtYdL77/rrCJUsiOQzbIkutZ40zcwXigLlp6iDDofJGIjbB4NlCi21Eocg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR229phzfHL; Fri, 18 Apr 2025 14:37:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEbIDw091987; Fri, 18 Apr 2025 14:37:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbIR6091984; Fri, 18 Apr 2025 14:37:18 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:18 GMT Message-Id: <202504181437.53IEbIR6091984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3a35e07fa930 - stable/14 - LinuxKPI: 802.11: add a lchanctx list to lhw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3a35e07fa9309a357f9f7d25e86aba6f93c0af84 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3a35e07fa9309a357f9f7d25e86aba6f93c0af84 commit 3a35e07fa9309a357f9f7d25e86aba6f93c0af84 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 23:05:43 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: add a lchanctx list to lhw While we are currently only supporting a single VAP (vif) it is less of a trouble but in order to get locking and rcu accesses [from drivers] more right add a list for all chanctx_conf we have for one hw. Use that list in the iterator function to avoid having to lock the vif but not protecting the chanctx list (against a parallel removal) due to different locking. Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit a8a47a41775b0320606f90b3ac2048bc23494615) --- sys/compat/linuxkpi/common/src/linux_80211.c | 39 ++++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 4 +++ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index bd1e60928144..f5f52101d367 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1756,6 +1756,7 @@ lkpi_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) /* Cleanup. */ rcu_assign_pointer(vif->bss_conf.chanctx_conf, NULL); lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); + list_del(&lchanctx->entry); free(lchanctx, M_LKPI80211); } @@ -1942,6 +1943,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int goto out; } + list_add_rcu(&lchanctx->entry, &lhw->lchanctx_list); rcu_assign_pointer(vif->bss_conf.chanctx_conf, chanctx_conf); /* Assign vif chanctx. */ @@ -1956,6 +1958,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); rcu_assign_pointer(vif->bss_conf.chanctx_conf, NULL); lchanctx = CHANCTX_CONF_TO_LCHANCTX(chanctx_conf); + list_del(&lchanctx->entry); free(lchanctx, M_LKPI80211); goto out; } @@ -5469,6 +5472,9 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) TAILQ_INIT(&lhw->scheduled_txqs[ac]); } + /* Chanctx_conf */ + INIT_LIST_HEAD(&lhw->lchanctx_list); + /* Deferred RX path. */ LKPI_80211_LHW_RXQ_LOCK_INIT(lhw); TASK_INIT(&lhw->rxq_task, 0, lkpi_80211_lhw_rxq_task, lhw); @@ -5532,6 +5538,22 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) __func__, lhw, mbufq_len(&lhw->rxq))); LKPI_80211_LHW_RXQ_LOCK_DESTROY(lhw); + /* Chanctx_conf. */ + if (!list_empty_careful(&lhw->lchanctx_list)) { + struct lkpi_chanctx *lchanctx, *next; + struct ieee80211_chanctx_conf *chanctx_conf; + + list_for_each_entry_safe(lchanctx, next, &lhw->lchanctx_list, entry) { + if (lchanctx->added_to_drv) { + /* In reality we should panic? */ + chanctx_conf = &lchanctx->chanctx_conf; + lkpi_80211_mo_remove_chanctx(hw, chanctx_conf); + } + list_del(&lchanctx->entry); + free(lchanctx, M_LKPI80211); + } + } + /* Cleanup more of lhw here or in wiphy_free()? */ LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); @@ -5967,8 +5989,6 @@ linuxkpi_ieee80211_iterate_chan_contexts(struct ieee80211_hw *hw, void *arg) { struct lkpi_hw *lhw; - struct lkpi_vif *lvif; - struct ieee80211_vif *vif; struct lkpi_chanctx *lchanctx; KASSERT(hw != NULL && iterfunc != NULL, @@ -5976,22 +5996,13 @@ linuxkpi_ieee80211_iterate_chan_contexts(struct ieee80211_hw *hw, lhw = HW_TO_LHW(hw); - IMPROVE("lchanctx should be its own list somewhere"); - - LKPI_80211_LHW_LVIF_LOCK(lhw); - TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { - - vif = LVIF_TO_VIF(lvif); - if (vif->bss_conf.chanctx_conf == NULL) /* XXX-BZ; FIXME see IMPROVE above. */ - continue; - - lchanctx = CHANCTX_CONF_TO_LCHANCTX(vif->bss_conf.chanctx_conf); + rcu_read_lock(); + list_for_each_entry_rcu(lchanctx, &lhw->lchanctx_list, entry) { if (!lchanctx->added_to_drv) continue; - iterfunc(hw, &lchanctx->chanctx_conf, arg); } - LKPI_80211_LHW_LVIF_UNLOCK(lhw); + rcu_read_unlock(); } void diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index c01a6cb0cd7c..8bc2a465f76f 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -217,6 +217,7 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct sx lvif_sx; struct sx sx; /* XXX-BZ Can this be wiphy->mtx in the future? */ + struct list_head lchanctx_list; struct mtx txq_mtx; uint32_t txq_generation[IEEE80211_NUM_ACS]; @@ -284,7 +285,10 @@ struct lkpi_hw { /* name it mac80211_sc? */ #define HW_TO_LHW(_hw) container_of(_hw, struct lkpi_hw, hw) struct lkpi_chanctx { + struct list_head entry; + bool added_to_drv; /* Managed by MO */ + struct ieee80211_chanctx_conf chanctx_conf __aligned(CACHE_LINE_SIZE); }; #define LCHANCTX_TO_CHANCTX_CONF(_lchanctx) \ From nobody Fri Apr 18 14:37:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR42Ny3z5stYc; Fri, 18 Apr 2025 14:37: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 4ZfHR33dQVz3Kxf; Fri, 18 Apr 2025 14:37:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPH8EL5MtXe6bconTMKQKC5qLvDyNcvlMY1tRaFWmlU=; b=oY2JB8qdWxTPqo3mXrgLau+aTz8QddfVR0nY03xHIcBGofl09cjejQph0GsZNk32BeEYT5 NcupYPRpVeeMqHB/DXpeTCqmS3f/LGLaU3Bfl6JTm6cT5SjRPs4QOLU2EqdrWEO1MHNW9S xNGEcQaGNPzQVuoTyxeb1lckKM8ByOj34MeTVRB842H6LuKfzNwLR1YXa3U6esN+IVgGo+ 8tRsD+nwDrWk7lFJ3j+jG038VFZ7UMSYzuDDs6/D58reviO9P8urxC9HFGUZFhaRIcI5Rn zGICDxCTTsDK6II44EvFM7W3+oykRCUXd6nUkrNso5/NcPy1uWQanzYbJI9rjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987039; a=rsa-sha256; cv=none; b=MNzApmpaEa7wBJ8kq2MrIDjqZ9M8ZNTSUhaH5eITesGBkIss+adP9x8XkBgQ1xhvriHwqD 4P3TUOKOdS5yrkE1BNRUN398M4P4FEd4G7mhzzSJLFs+FNRQPPyDV/rYIF6mSbqpbliRkn zClzHiPd5bDxVowqxGres/e2j2J++q0nNHn3HCkzwtx0VEAk/KNi3dcg4nSczdDXjEcvrr QPIyC/TbbMW9Mw06J7Zy09QINGVxpcCTT74SQXjBMXfGj5TAp17tHCaFsraHf6YV+NV+Hn 1xO31A81gIBTMvANdKK4T3t1rC+YgkzAFUK+VHqh9UD+GF6bqd9b1skyS+2EUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPH8EL5MtXe6bconTMKQKC5qLvDyNcvlMY1tRaFWmlU=; b=L3vV8/GrisYLRPbOBPvw3vH1sDaxcaRPnA3K82IKP84yRwDuxjo6+Ku52l2jSBaHJKPMVl TeaUWV2oxQJlQ+AgQ+L7FO7h1GwSSJeOCoP9lJyduaoGD+omCD6xkXaj1WzVfvyMUYWdp3 KhrcmxDsOXLD8TsBY+L8iyLpzMz8y+1MwLDIy7CGGwQN9/ykSXkKuyGCi+rw7ccKGXNkCi piYmxlqZqtUnZvlQqcy0Lvb2eKzwkVfjHRpKRz38JS+NY4fHeHEFJMmIvPu8EgGLHwsELa mRTmzvW3BuCmiBBFpkwQYdzmm/CxKkLIRFnn/x3sg4nriJkS06xhgaHnsG4tfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR3349xzfF0; Fri, 18 Apr 2025 14:37: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 53IEbJkL092023; Fri, 18 Apr 2025 14:37:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbJCF092020; Fri, 18 Apr 2025 14:37:19 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:19 GMT Message-Id: <202504181437.53IEbJCF092020@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3d9f2164482b - stable/14 - LinuxKPI: 802.11: optimize mo_bss_info_changed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3d9f2164482bd885e8b5ad0d001d7eb0c16358e5 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3d9f2164482bd885e8b5ad0d001d7eb0c16358e5 commit 3d9f2164482bd885e8b5ad0d001d7eb0c16358e5 Author: Bjoern A. Zeeb AuthorDate: 2025-04-10 15:10:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: optimize mo_bss_info_changed In case we are not announcing any changes there is no need to do a downcall into the driver. Catch that with an early return. Sponsored by: The FreeBSD Foundation (cherry picked from commit ae8c3b6509c66d03cb68dc6f8bbad43acbc8c977) --- sys/compat/linuxkpi/common/src/linux_80211_macops.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index ff3959340af7..c5720142401d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -554,6 +554,9 @@ lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vi lhw->ops->bss_info_changed == NULL) return; + if (changed == 0) + return; + LKPI_80211_TRACE_MO("hw %p vif %p conf %p changed %#jx", hw, vif, conf, (uintmax_t)changed); if (lhw->ops->link_info_changed != NULL) lhw->ops->link_info_changed(hw, vif, conf, changed); From nobody Fri Apr 18 14:37:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR6286mz5stFX; Fri, 18 Apr 2025 14:37: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 4ZfHR55H1Jz3KnN; Fri, 18 Apr 2025 14:37:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W9rh76SufTEMq75GnFV86q2C6aEy7VfIivrgej/bKD0=; b=Q6UkI90jo1qLCSw4ygxcbITXt20aKQt/c1dNCSLX8SS23rfFEkZpihNI1tbS/OqIfAt9C9 dcRTb6wqwAl3eTtvbgq0ggeZ+TaoQ3Yfe7a+B95YT4KBEtY2XEE8Zl8QkQhZrQwWm9WXo7 J8ENC8Ssb/C06NcUPepyP9vwxh/6Qd5q/J3Dpnt71T4A0+Q5/Y+EuvThjSm0f00Ogck+Ok w8vJxy8Y4sej/DjYua+oITIXMe5IQJzu5/Nmso1kv4NH/tYMLdVbfWfo4NS03i1tBCJAYb dxqF8h07KDEH0eteodYPmYVkcY6oWLc/uABqkJkjBKtrLtMDdus5ABCctjotQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987041; a=rsa-sha256; cv=none; b=EMDGzJ5d+TVLxmnEWuGCUK3dYGudBE39P+AaDFNozzo/hKX53okE6OWXbzvyTdEZcktKtN QiZ3j8D1yD/ct+8caz8wnxDGyJossc1wlM0JcmC9moEUzCoOm8Yvs4wAGanKiE8WT0GjB3 YfsAV3KAdJq3LsTgLMGiomh8irSnCLXPGf6FGpoFVGZdye7RpXgSH0qBV9xmyfh7C1giQp MuH9lJEONb6Gcup2exVf9undnNW1zXujKZmdLlGTREj+LosKQf9aRbUBkzYAXdWwz4zfbn Lj1jtvDemg+wHKlKZuVsnzDT/IcDAQPpURqJGQjpTob8dDNbWoifJpu+jd6aOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W9rh76SufTEMq75GnFV86q2C6aEy7VfIivrgej/bKD0=; b=jYJjXqZd44wINpvFDSQtzAArWL6XVQY4hV/+qbwYsdOQ6xhLMlOuMk/vU/21GOEESRdRDU x8W5lVZhT7AGigBDUv+nxNVPJDvJ7+23d+QcMYe4jLwdXryiXR+9OsIZQZRTc3cNUjXeD7 zvgsGT1PUjFCOP3N8B4Td/T9IR/wsD+lvZ+80d5+rBHM3RNe+3+XbHgmrrjMeYI+sBXNsw Is3ibiWN605AjEKaM2h/m50MWEHK/1hymxXAO0iM9UHKP40dyGRtkHHBSRtmfjSUad6jAL O0oVvQMYJag56yTT1GCTVlABU5QvhQ1Rin3lrGbUE0BFtAsJp3X7TcqqgbE4vQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR54mnhzfHM; Fri, 18 Apr 2025 14:37: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 53IEbLAX092095; Fri, 18 Apr 2025 14:37:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbL8H092092; Fri, 18 Apr 2025 14:37:21 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:21 GMT Message-Id: <202504181437.53IEbL8H092092@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 96a1ab436150 - stable/14 - LinuxKPI: 802.11: deal with sta bw > channel width List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 96a1ab4361508df4440d5c7f3bbe334583338bae Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=96a1ab4361508df4440d5c7f3bbe334583338bae commit 96a1ab4361508df4440d5c7f3bbe334583338bae Author: Bjoern A. Zeeb AuthorDate: 2025-04-10 15:13:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:02 +0000 LinuxKPI: 802.11: deal with sta bw > channel width Especially on 2.4Ghz everything may indicate that we can use HT40 but we are stuck on a 20Mhz channel. Adjust the logic in lkpi_sta_sync_ht_from_ni() to also check the channel width before setting the sta bandwidth to 40. Further check that the sta bw is not larger than the channel width after the 'sync from ni' for HT and VHT and if it is, then update the chanctx accordingly. Firmware crashes we have seen with iwlwifi0: 0x00010000 | umac data1 iwlwifi0: 0x00000000 | umac data2 iwlwifi0: 0xDEADBEEF | umac data3 iwlwifi0: 0xXXXX050F | last host cmd likely indicate this problem. Sponsored by: The FreeBSD Foundation Reported by: Jonathan Vasquez (jon xyinn.org) Reported by: Michael Butler (imb protected-networks.net) Reported by: bapt Reported by: William D Pool (rotaechojunk gmail.com) Reported by: Eirik Øverby (ltning-freebsd-wireless anduin.net) Reported by: likely others before Tested by: Eirik Øverby (ltning-freebsd-wireless anduin.net) Tested by: lwhsu Tested by: Michael Butler (imb protected-networks.net) Differential Revision: https://reviews.freebsd.org/D49761 (cherry picked from commit 62d51a43825bb632f542f4e89d57f3dbdb08095f) --- sys/compat/linuxkpi/common/src/linux_80211.c | 104 ++++++++++++++++++++++++--- 1 file changed, 95 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index e5148cc368f7..5a4798f1ef1b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -365,9 +365,81 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) return (0); } +static enum ieee80211_sta_rx_bw +lkpi_cw_to_rx_bw(enum nl80211_chan_width cw) +{ + switch (cw) { + case NL80211_CHAN_WIDTH_320: + return (IEEE80211_STA_RX_BW_320); + case NL80211_CHAN_WIDTH_160: + case NL80211_CHAN_WIDTH_80P80: + return (IEEE80211_STA_RX_BW_160); + case NL80211_CHAN_WIDTH_80: + return (IEEE80211_STA_RX_BW_80); + case NL80211_CHAN_WIDTH_40: + return (IEEE80211_STA_RX_BW_40); + case NL80211_CHAN_WIDTH_20: + case NL80211_CHAN_WIDTH_20_NOHT: + return (IEEE80211_STA_RX_BW_20); + case NL80211_CHAN_WIDTH_5: + case NL80211_CHAN_WIDTH_10: + /* Unsupported input. */ + return (IEEE80211_STA_RX_BW_20); + } +} + +static enum nl80211_chan_width +lkpi_rx_bw_to_cw(enum ieee80211_sta_rx_bw rx_bw) +{ + switch (rx_bw) { + case IEEE80211_STA_RX_BW_20: + return (NL80211_CHAN_WIDTH_20); /* _NOHT */ + case IEEE80211_STA_RX_BW_40: + return (NL80211_CHAN_WIDTH_40); + case IEEE80211_STA_RX_BW_80: + return (NL80211_CHAN_WIDTH_80); + case IEEE80211_STA_RX_BW_160: + return (NL80211_CHAN_WIDTH_160); /* 80P80 */ + case IEEE80211_STA_RX_BW_320: + return (NL80211_CHAN_WIDTH_320); + } +} + +static void +lkpi_sync_chanctx_cw_from_rx_bw(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, struct ieee80211_sta *sta) +{ + struct ieee80211_chanctx_conf *chanctx_conf; + enum ieee80211_sta_rx_bw old_bw; + uint32_t changed; + + chanctx_conf = rcu_dereference_protected(vif->bss_conf.chanctx_conf, + lockdep_is_held(&hw->wiphy->mtx)); + if (chanctx_conf == NULL) + return; + + old_bw = lkpi_cw_to_rx_bw(chanctx_conf->def.width); + if (old_bw == sta->deflink.bandwidth) + return; + + chanctx_conf->def.width = lkpi_rx_bw_to_cw(sta->deflink.bandwidth); + if (chanctx_conf->def.width == NL80211_CHAN_WIDTH_20 && + !sta->deflink.ht_cap.ht_supported) + chanctx_conf->def.width = NL80211_CHAN_WIDTH_20_NOHT; + + chanctx_conf->min_def = chanctx_conf->def; + + vif->bss_conf.chanreq.oper.width = chanctx_conf->def.width; + + changed = IEEE80211_CHANCTX_CHANGE_MIN_WIDTH; + changed |= IEEE80211_CHANCTX_CHANGE_WIDTH; + lkpi_80211_mo_change_chanctx(hw, chanctx_conf, changed); +} + #if defined(LKPI_80211_HT) static void -lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) +lkpi_sta_sync_ht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, + struct ieee80211_node *ni) { struct ieee80211vap *vap; uint8_t *ie; @@ -399,7 +471,8 @@ lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) sta->deflink.ht_cap.cap = htcap->cap_info; sta->deflink.ht_cap.mcs = htcap->mcs; - if ((sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) != 0) + if ((sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) != 0 && + IEEE80211_IS_CHAN_HT40(ni->ni_chan)) sta->deflink.bandwidth = IEEE80211_STA_RX_BW_40; else sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; @@ -435,7 +508,8 @@ lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) #if defined(LKPI_80211_VHT) static void -lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) +lkpi_sta_sync_vht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, + struct ieee80211_node *ni) { uint32_t width; int rx_nss; @@ -508,15 +582,25 @@ skip_bw: #endif static void -lkpi_sta_sync_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) +lkpi_sta_sync_from_ni(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + struct ieee80211_sta *sta, struct ieee80211_node *ni, bool updchnctx) { #if defined(LKPI_80211_HT) - lkpi_sta_sync_ht_from_ni(sta, ni); + lkpi_sta_sync_ht_from_ni(vif, sta, ni); #endif #if defined(LKPI_80211_VHT) - lkpi_sta_sync_vht_from_ni(sta, ni); + lkpi_sta_sync_vht_from_ni(vif, sta, ni); #endif + /* + * We are also called from node allocation which net80211 + * can do even on `ifconfig down`; in that case the chanctx + * may still be valid and we get a discrepancy between + * sta and chanctx. Thus do not try to update the chanctx + * when called from lkpi_lsta_alloc(). + */ + if (updchnctx) + lkpi_sync_chanctx_cw_from_rx_bw(hw, vif, sta); } static uint8_t @@ -686,7 +770,9 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; sta->deflink.rx_nss = 1; - lkpi_sta_sync_from_ni(sta, ni); + wiphy_lock(hw->wiphy); + lkpi_sta_sync_from_ni(hw, vif, sta, ni, false); + wiphy_unlock(hw->wiphy); IMPROVE("he, eht, bw_320, ... smps_mode, .."); @@ -1870,6 +1956,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int IMPROVE("Check vht_cap from band not just chan?"); KASSERT(ni->ni_chan != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC, ("%s:%d: ni %p ni_chan %p\n", __func__, __LINE__, ni, ni->ni_chan)); + #ifdef LKPI_80211_HT if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) { if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) @@ -2658,7 +2745,6 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int } bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); - lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); /* - change_chanctx (if needed) @@ -2693,7 +2779,7 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int sta->deflink.rx_nss = MAX(1, sta->deflink.rx_nss); IMPROVE("Is this the right spot, has net80211 done all updates already?"); - lkpi_sta_sync_from_ni(sta, ni); + lkpi_sta_sync_from_ni(hw, vif, sta, ni, true); /* Update sta_state (ASSOC to AUTHORIZED). */ KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); From nobody Fri Apr 18 14:37:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR51dHWz5stYd; Fri, 18 Apr 2025 14:37: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 4ZfHR44GFzz3L3P; Fri, 18 Apr 2025 14:37:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XMElnA6w06vhV46wenSh1F1axQRUwPuUviw/Z7io8+Q=; b=Jukkh9DhXnWhtAtBOeCi0jDJ3wij/BBQZXBDKtPvLCFNKF0XHUMh9/eyw05fzASnp1fONF 3zSgUyYINKNequE7Ok/wKKyWHEiy3XJdMNm93o4dzgyKDcqkZ4fzuRMN51VKtyeoZ7wVvs nVPmvzQqk0t+Zo2Y7LSVO8dDu3tk4wz+D2qde5Bn3hOeasdDsfWX/JESwU1TNTjz8bKtIh njaVHYUYzkZ9okPX8ZHPFvAbtfihky88l2kY3Ea3YiX51iB7kJ5C/qtNHiYR4vSDfECTGE PC6nHyblZj3TPGp3j1D+fRMlrmvJVQTO2Pv6MYmzHVMY5eJZyPl0LTJ07GBTQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987040; a=rsa-sha256; cv=none; b=V1r3C34T/PM5UdgbeSSv3gTN+31XZOLoqU6ZoJn0ltEtWI92dGZ30EhcvIXKC2iDHmJs3g dJDTOjhrp7c+63+2VTDIQgwjRt6iqP/9ProwCYWTtxQ4wDe+bB5n2Biuvz3joGO57ODykK osedhhbTEqjjyjYOfpBT2Bp3kT4waoJY9imqcE1XZsgj1o7ER/iJZVvG8SXRSykt7F1s8r Sh6AauwP4tjG4Lnxn2aSdLrBwcbI5oIojEtxrseB+/yHyOpfx+vJeEl5sz4gLrh8Fek3c/ np3WnJ+jy+dJKFMaQV2Fhg1RfgMtrskoZkDLFDfX3GzGcBmrgi92BvIcSTCEig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XMElnA6w06vhV46wenSh1F1axQRUwPuUviw/Z7io8+Q=; b=pLIhBZlciPlxNiuEjQ+zDMhb2h2/4cbFLVtdiMhBrjZuJcBp3pTYY8+NSx2tGTM81XWsqR orXbndgGz7NSj90rkvtyf8tu+BYdNgy4+fevh1WkrjHM4wivTEUeLJhZXNjUaFbMMdsQy3 T1owDuwF3nQ7PB9wRqL6KP6hQucKMBujWQLHPMGl5mp2KZC+0aAmfoBHigjpL8HGjOPmO6 3oKiAblzRkc7oy/wlBP86i83/8RDNnp5PGoSWeC0NfuHUDEX9yScEqAPWhOXLOIirGtRxG BFXGJkuA8rrJ7DKjhIhfoQi8UJMtEwXv2YdILli4Jikb7+Gt9wOOS84jjH88Sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR43qCgzfF1; Fri, 18 Apr 2025 14:37: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 53IEbKFg092059; Fri, 18 Apr 2025 14:37:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbKRi092056; Fri, 18 Apr 2025 14:37:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:20 GMT Message-Id: <202504181437.53IEbKRi092056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7d57b5a339e3 - stable/14 - LinuxKPI: 802.11: switch to wiphy_lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d57b5a339e34f4625739c6457c6c4f8369f87ae Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7d57b5a339e34f4625739c6457c6c4f8369f87ae commit 7d57b5a339e34f4625739c6457c6c4f8369f87ae Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 18:41:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:01 +0000 LinuxKPI: 802.11: switch to wiphy_lock Replace the LKPI_80211_LHW_LOCK (lhw->sx) with the wiphy lock (which is a Linux mutex, so also an sx lock). Apart from two places the change was mostly mechanically. Further remove the now recursive lock acquisitions. This lays the ground for us to use more Linux(KPI) 802.11 internal locking as well as more rcu equivalents, e.g., for the chanctx, and live better to the synchronisation expectations of the drivers. [I wish there would be more assertions in the drivers themselves, especially in the mac80211 ops and the iteration callbacks.] Sponsored by: The FreeBSD Foundation PR: 280546 Tested by: Oleksandr Kryvulia (shuriku shurik.kiev.ua) Tested by: Oleg Nauman (oleg.nauman gmail.com) [rtw88] Differential Revision: https://reviews.freebsd.org/D49734 (cherry picked from commit cd0fcf9f12114df542d4b080202abb1fe5f1aec8) --- sys/compat/linuxkpi/common/src/linux_80211.c | 122 ++++++++++++--------------- sys/compat/linuxkpi/common/src/linux_80211.h | 14 --- 2 files changed, 56 insertions(+), 80 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f5f52101d367..e5148cc368f7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -571,12 +571,11 @@ static void lkpi_lsta_remove(struct lkpi_sta *lsta, struct lkpi_vif *lvif) { + lockdep_assert_wiphy(lsta->hw->wiphy); - wiphy_lock(lsta->hw->wiphy); KASSERT(!list_empty(&lsta->lsta_list), ("%s: lsta %p ni %p\n", __func__, lsta, lsta->ni)); list_del_init(&lsta->lsta_list); - wiphy_unlock(lsta->hw->wiphy); } static struct lkpi_sta * @@ -1580,10 +1579,10 @@ lkpi_stop_hw_scan(struct lkpi_hw *lhw, struct ieee80211_vif *vif) hw = LHW_TO_HW(lhw); IEEE80211_UNLOCK(lhw->ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); /* Need to cancel the scan. */ lkpi_80211_mo_cancel_hw_scan(hw, vif); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); /* Need to make sure we see ieee80211_scan_completed. */ LKPI_80211_LHW_SCAN_LOCK(lhw); @@ -1700,11 +1699,14 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, static void lkpi_80211_flush_tx(struct lkpi_hw *lhw, struct lkpi_sta *lsta) { + struct ieee80211_hw *hw; struct mbufq mq; struct mbuf *m; int len; - LKPI_80211_LHW_UNLOCK_ASSERT(lhw); + /* There is no lockdep_assert_not_held_wiphy(). */ + hw = LHW_TO_HW(lhw); + lockdep_assert_not_held(&hw->wiphy->mtx); /* Do not accept any new packets until scan_to_auth or lsta_free(). */ LKPI_80211_LSTA_TXQ_LOCK(lsta); @@ -1842,7 +1844,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int LKPI_80211_LVIF_UNLOCK(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); /* Add chanctx (or if exists, change it). */ chanctx_conf = rcu_dereference_protected(vif->bss_conf.chanctx_conf, @@ -1986,10 +1988,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lsta->txq_ready = true; LKPI_80211_LSTA_TXQ_UNLOCK(lsta); - wiphy_lock(hw->wiphy); /* Insert the [l]sta into the list of known stations. */ list_add_tail(&lsta->lsta_list, &lvif->lsta_list); - wiphy_unlock(hw->wiphy); /* Add (or adjust) sta and change state (from NOTEXIST) to NONE. */ KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); @@ -2035,7 +2035,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int * (ideally we'd do that on a callback for something else ...) */ - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); LKPI_80211_LVIF_LOCK(lvif); @@ -2080,7 +2080,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int goto out_relocked; out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); out_relocked: /* @@ -2132,7 +2132,7 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_lsta_dump(lsta, ni, __func__, __LINE__); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -2191,12 +2191,10 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ - wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); - wiphy_unlock(hw->wiphy); out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); return (error); } @@ -2229,7 +2227,7 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in vif = LVIF_TO_VIF(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); LKPI_80211_LVIF_LOCK(lvif); /* XXX-BZ KASSERT later? */ @@ -2295,7 +2293,7 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in */ out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); return (error); } @@ -2318,7 +2316,7 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) vif = LVIF_TO_VIF(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); LKPI_80211_LVIF_LOCK(lvif); /* XXX-BZ KASSERT later? */ @@ -2362,7 +2360,7 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) error = 0; out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); return (error); @@ -2388,7 +2386,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i vif = LVIF_TO_VIF(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); LKPI_80211_LVIF_LOCK(lvif); #ifdef LINUXKPI_DEBUG_80211 @@ -2424,7 +2422,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lsta->in_mgd = true; } - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); /* Call iv_newstate first so we get potential DEAUTH packet out. */ @@ -2440,7 +2438,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i /* Ensure the packets get out. */ lkpi_80211_flush_tx(lhw, lsta); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -2521,13 +2519,11 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i /* conf_tx */ - wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); - wiphy_unlock(hw->wiphy); error = EALREADY; out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); outni: return (error); @@ -2586,7 +2582,7 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int vif = LVIF_TO_VIF(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); LKPI_80211_LVIF_LOCK(lvif); /* XXX-BZ KASSERT later? */ @@ -2724,7 +2720,7 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); return (error); } @@ -2783,7 +2779,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_lsta_dump(lsta, ni, __func__, __LINE__); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -2798,7 +2794,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int lsta->in_mgd = true; } - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); /* Call iv_newstate first so we get potential DISASSOC packet out. */ @@ -2814,7 +2810,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* Ensure the packets get out. */ lkpi_80211_flush_tx(lhw, lsta); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -2858,9 +2854,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int #ifdef LKPI_80211_HW_CRYPTO if (lkpi_hwcrypto) { - wiphy_lock(hw->wiphy); error = lkpi_sta_del_keys(hw, vif, lsta); - wiphy_unlock(hw->wiphy); if (error != 0) { ic_printf(vap->iv_ic, "%s:%d: lkpi_sta_del_keys " "failed: %d\n", __func__, __LINE__, error); @@ -2894,7 +2888,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int error = EALREADY; out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); outni: return (error); @@ -2920,7 +2914,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int vif = LVIF_TO_VIF(lvif); IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); LKPI_80211_LVIF_LOCK(lvif); #ifdef LINUXKPI_DEBUG_80211 @@ -2956,7 +2950,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lsta->in_mgd = true; } - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); /* Call iv_newstate first so we get potential DISASSOC packet out. */ @@ -2972,7 +2966,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* Ensure the packets get out. */ lkpi_80211_flush_tx(lhw, lsta); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -3014,9 +3008,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int #ifdef LKPI_80211_HW_CRYPTO if (lkpi_hwcrypto) { - wiphy_lock(hw->wiphy); error = lkpi_sta_del_keys(hw, vif, lsta); - wiphy_unlock(hw->wiphy); if (error != 0) { ic_printf(vap->iv_ic, "%s:%d: lkpi_sta_del_keys " "failed: %d\n", __func__, __LINE__, error); @@ -3123,13 +3115,11 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* conf_tx */ - wiphy_lock(hw->wiphy); lkpi_remove_chanctx(hw, vif); - wiphy_unlock(hw->wiphy); error = EALREADY; out: - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); outni: return (error); @@ -3333,6 +3323,9 @@ lkpi_wme_update(struct lkpi_hw *lhw, struct ieee80211vap *vap, bool planned) int error; uint16_t ac; + hw = LHW_TO_HW(lhw); + lockdep_assert_wiphy(hw->wiphy); + IMPROVE(); KASSERT(WME_NUM_AC == IEEE80211_NUM_ACS, ("%s: WME_NUM_AC %d != " "IEEE80211_NUM_ACS %d\n", __func__, WME_NUM_AC, IEEE80211_NUM_ACS)); @@ -3359,12 +3352,10 @@ lkpi_wme_update(struct lkpi_hw *lhw, struct ieee80211vap *vap, bool planned) wmeparr[ac] = chp.cap_wmeParams[ac]; IEEE80211_UNLOCK(ic); - hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); /* Configure tx queues (conf_tx) & send BSS_CHANGED_QOS. */ - LKPI_80211_LHW_LOCK(lhw); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { struct wmeParams *wmep; @@ -3379,7 +3370,6 @@ lkpi_wme_update(struct lkpi_hw *lhw, struct ieee80211vap *vap, bool planned) ic_printf(ic, "%s: conf_tx ac %u failed %d\n", __func__, ac, error); } - LKPI_80211_LHW_UNLOCK(lhw); changed = BSS_CHANGED_QOS; if (!planned) lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, changed); @@ -3394,6 +3384,7 @@ lkpi_ic_wme_update(struct ieee80211com *ic) #ifdef LKPI_80211_WME struct ieee80211vap *vap; struct lkpi_hw *lhw; + struct ieee80211_hw *hw; IMPROVE("Use the per-VAP callback in net80211."); vap = TAILQ_FIRST(&ic->ic_vaps); @@ -3401,8 +3392,11 @@ lkpi_ic_wme_update(struct ieee80211com *ic) return (0); lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + wiphy_lock(hw->wiphy); lkpi_wme_update(lhw, vap, false); + wiphy_unlock(hw->wiphy); #endif return (0); /* unused */ } @@ -3567,7 +3561,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], /* Configure tx queues (conf_tx), default WME & send BSS_CHANGED_QOS. */ IMPROVE("Hardcoded values; to fix see 802.11-2016, 9.4.2.29 EDCA Parameter Set element"); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { bzero(&txqp, sizeof(txqp)); @@ -3580,7 +3574,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], ic_printf(ic, "%s: conf_tx ac %u failed %d\n", __func__, ac, error); } - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); changed = BSS_CHANGED_QOS; lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, changed); @@ -3742,8 +3736,8 @@ static void lkpi_ic_parent(struct ieee80211com *ic) { struct lkpi_hw *lhw; -#ifdef HW_START_STOP struct ieee80211_hw *hw; +#ifdef HW_START_STOP int error; #endif bool start_all; @@ -3751,13 +3745,11 @@ lkpi_ic_parent(struct ieee80211com *ic) IMPROVE(); lhw = ic->ic_softc; -#ifdef HW_START_STOP hw = LHW_TO_HW(lhw); -#endif start_all = false; /* IEEE80211_UNLOCK(ic); */ - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); if (ic->ic_nrunning > 0) { #ifdef HW_START_STOP error = lkpi_80211_mo_start(hw); @@ -3769,7 +3761,7 @@ lkpi_ic_parent(struct ieee80211com *ic) lkpi_80211_mo_stop(hw, false); /* XXX SUSPEND */ #endif } - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); /* IEEE80211_LOCK(ic); */ if (start_all) @@ -4735,9 +4727,9 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) ltxq->txq.tid, ac, skb->priority, skb->qmap); #endif LKPI_80211_LTXQ_UNLOCK(ltxq); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); return; ops_tx: @@ -4750,9 +4742,9 @@ ops_tx: #endif memset(&control, 0, sizeof(control)); control.sta = sta; - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); lkpi_80211_mo_tx(hw, &control, skb); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); } static void @@ -4913,9 +4905,9 @@ lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, params.amsdu = false; IEEE80211_UNLOCK(ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(ic); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", @@ -4991,9 +4983,9 @@ lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap } IEEE80211_UNLOCK(ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(ic); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", @@ -5050,9 +5042,9 @@ lkpi_ic_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) params.amsdu = false; IEEE80211_UNLOCK(ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); IEEE80211_LOCK(ic); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", @@ -5148,9 +5140,9 @@ lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap else params.amsdu = false; - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", __func__, error, ni, rap); @@ -5222,9 +5214,9 @@ lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) ic_locked = IEEE80211_IS_LOCKED(ic); if (ic_locked) IEEE80211_UNLOCK(ic); - LKPI_80211_LHW_LOCK(lhw); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); - LKPI_80211_LHW_UNLOCK(lhw); + wiphy_unlock(hw->wiphy); if (ic_locked) IEEE80211_LOCK(ic); if (error != 0) @@ -5462,7 +5454,6 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) lhw = wiphy_priv(wiphy); lhw->ops = ops; - LKPI_80211_LHW_LOCK_INIT(lhw); LKPI_80211_LHW_SCAN_LOCK_INIT(lhw); LKPI_80211_LHW_TXQ_LOCK_INIT(lhw); sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK); @@ -5557,7 +5548,6 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) /* Cleanup more of lhw here or in wiphy_free()? */ LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); - LKPI_80211_LHW_LOCK_DESTROY(lhw); sx_destroy(&lhw->lvif_sx); IMPROVE(); } diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 8bc2a465f76f..da377280b1c0 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -216,7 +216,6 @@ struct lkpi_hw { /* name it mac80211_sc? */ TAILQ_HEAD(, lkpi_vif) lvif_head; struct sx lvif_sx; - struct sx sx; /* XXX-BZ Can this be wiphy->mtx in the future? */ struct list_head lchanctx_list; struct mtx txq_mtx; @@ -322,19 +321,6 @@ struct lkpi_wiphy { #define LKPI_80211_LWIPHY_WORK_UNLOCK_ASSERT(_lwiphy) \ mtx_assert(&(_lwiphy)->wwk_mtx, MA_NOTOWNED) -#define LKPI_80211_LHW_LOCK_INIT(_lhw) \ - sx_init_flags(&(_lhw)->sx, "lhw", SX_RECURSE); -#define LKPI_80211_LHW_LOCK_DESTROY(_lhw) \ - sx_destroy(&(_lhw)->sx); -#define LKPI_80211_LHW_LOCK(_lhw) \ - sx_xlock(&(_lhw)->sx) -#define LKPI_80211_LHW_UNLOCK(_lhw) \ - sx_xunlock(&(_lhw)->sx) -#define LKPI_80211_LHW_LOCK_ASSERT(_lhw) \ - sx_assert(&(_lhw)->sx, SA_LOCKED) -#define LKPI_80211_LHW_UNLOCK_ASSERT(_lhw) \ - sx_assert(&(_lhw)->sx, SA_UNLOCKED) - #define LKPI_80211_LHW_SCAN_LOCK_INIT(_lhw) \ mtx_init(&(_lhw)->scan_mtx, "lhw-scan", NULL, MTX_DEF | MTX_RECURSE); #define LKPI_80211_LHW_SCAN_LOCK_DESTROY(_lhw) \ From nobody Fri Apr 18 14:37:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR73Zm9z5sthX; Fri, 18 Apr 2025 14:37: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 4ZfHR668bMz3KyQ; Fri, 18 Apr 2025 14:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7F3S/vpFKQdbtxAbRg9w4ma9iNoCbr2bYaumAz0O/mw=; b=iX5QwwK2eTnbs9uS3l5VakLJLn8L4XFWhcSSN6E114IeuiJC32Gw6BdmSAvPkISOpMYYCd rJ2cDqKqAEuumq6DfuV/2vrTH6avAL9S15i7DQjdbV/tX/fR/H2OPpnrydZBZu8Hz3dMxZ V1NP9HVXFWh7Oti+eM9D6ZBuQOcPyfJqziqSOR3XDuYPbIt6iDyz5r4Pnqs+PtxIc70aFq 3qExcwiLyZDWp7AJ4rjFCp3zaWC+flnRjMf41hFbJavkKQLX1IxXphE7UrzjvqZeMgWXUP CyuWmlO6dC95cug6s7vdabmH9H/vWDVXeqYN6DFxE3y1g8Nzse7FPYGhJTTx7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987042; a=rsa-sha256; cv=none; b=LdCB1z6QIrj7FXyPO16aLqYwZS2vXBPK9AvFA1VM+lKXVAOLJwBi9pDo+g8ygZL2VAn+hh mdAgJwHL47UtR8jC+s/7leYDk7202GvWoPnNeRMlGQLqshbsO/bSQSFFoYj/XsnY4CHHoB AjesI+0WwmF7/5yAvx4Tp88mKFNyd8InZ8vLIjPkSFwNERB0zDXEei7T+vdQYTdWZvOJzs bzPXXuZlBPG4N9jl1qCGptD4TOkDZ+O9bEueELe3Capo+11QWFZIiK85DQrTqhlAV3/DlU Q4mU1S/afl3V7lOfQFUxLcZuV43VJF4YWjhIEOpgEHcAxjZ4Y6y8GUwN5SeKKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7F3S/vpFKQdbtxAbRg9w4ma9iNoCbr2bYaumAz0O/mw=; b=kyhwUV87m7boAjjW1j6c6/R+i0zFSJuLpw/fTGjx/Fo2gr1sco4eCf5TYaT2IIFCNK7ntA bk7i6K08V7iqWBvH10Q3SUMr2fJ2Puv9oxRuDLq1lBE1AuFupEwSImzHCP6TOwg3m9PK7W H53wpgOLLCO+ui7aXcjSCzQka/Z6D5Lpda0ZKm0sEoaNz5wUQuhDg0l2xO24nYwz+VgwDS hPYiRbnyjEwEBBBjAbj8xyIQA7Z8nNiCGI4nIM5O4Gae3K5Gku3Zeipn8trccIMG5AjmHg nlUhzjVEpcKtHHvkW208f+oGvzkuDyvtvnUPArCmHyPU/1KtYYIFQ+wmlT7saA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR65lXCzdmf; Fri, 18 Apr 2025 14:37: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 53IEbMoK092137; Fri, 18 Apr 2025 14:37:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbMMC092134; Fri, 18 Apr 2025 14:37:22 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:22 GMT Message-Id: <202504181437.53IEbMMC092134@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9bd4391f4ce0 - stable/14 - LinuxKPI: 802.11: further locking workarounds fro crypto updates List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 9bd4391f4ce023fba8f5c5296a359ffb605efec2 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9bd4391f4ce023fba8f5c5296a359ffb605efec2 commit 9bd4391f4ce023fba8f5c5296a359ffb605efec2 Author: Bjoern A. Zeeb AuthorDate: 2025-04-11 23:01:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:02 +0000 LinuxKPI: 802.11: further locking workarounds fro crypto updates There are cases when net80211 calls into crypto updates with the ic lock held (not (just) the nt lock). We have to unlock that as well and track the unlock like we do for the nt to avoid panics when we later can sleep (on the wiphy [sx] lock). Sponsored by: The FreeBSD Foundation Reported by: rm Tested by: rm PR: 285729 Fixes: b8dfc3ecf703 Differential Revision: https://reviews.freebsd.org/D49791 (cherry picked from commit a6165709e3c8ba4a0bee18aead6ca8ea2b033933) --- sys/compat/linuxkpi/common/src/linux_80211.c | 51 ++++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 1 + 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 5a4798f1ef1b..f9f16e0a6f8f 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1427,7 +1427,7 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) struct lkpi_hw *lhw; struct ieee80211_hw *hw; struct lkpi_vif *lvif; - bool islocked; + bool icislocked, ntislocked; ic = vap->iv_ic; lhw = ic->ic_softc; @@ -1435,28 +1435,35 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) lvif = VAP_TO_LVIF(vap); nt = &ic->ic_sta; - islocked = IEEE80211_NODE_IS_LOCKED(nt); + icislocked = IEEE80211_IS_LOCKED(ic); + ntislocked = 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); + ic_printf(ic, "%s: tid %d vap %p ic %p %slocked nt %p %slocked " + "lvif ic_unlocked %d nt_unlocked %d\n", __func__, + curthread->td_tid, vap, + ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", + lvif->ic_unlocked, lvif->nt_unlocked); #endif /* This is inconsistent net80211 locking to be fixed one day. */ - if (islocked) + if (icislocked) + IEEE80211_UNLOCK(ic); + if (ntislocked) IEEE80211_NODE_UNLOCK(nt); wiphy_lock(hw->wiphy); /* - * nt_unlocked could be a bool given we are under the lock and there + * ic/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) + if (icislocked) + refcount_acquire(&lvif->ic_unlocked); + if (ntislocked) refcount_acquire(&lvif->nt_unlocked); } @@ -1468,7 +1475,7 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) struct lkpi_hw *lhw; struct ieee80211_hw *hw; struct lkpi_vif *lvif; - bool islocked; + bool icislocked, ntislocked; ic = vap->iv_ic; lhw = ic->ic_softc; @@ -1476,14 +1483,18 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) lvif = VAP_TO_LVIF(vap); nt = &ic->ic_sta; - islocked = IEEE80211_NODE_IS_LOCKED(nt); - MPASS(!islocked); + icislocked = IEEE80211_IS_LOCKED(ic); + MPASS(!icislocked); + ntislocked = IEEE80211_NODE_IS_LOCKED(nt); + MPASS(!ntislocked); #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); + ic_printf(ic, "%s: tid %d vap %p ic %p %slocked nt %p %slocked " + "lvif ic_unlocked %d nt_unlocked %d\n", __func__, + curthread->td_tid, vap, + ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", + lvif->ic_unlocked, lvif->nt_unlocked); #endif /* @@ -1491,11 +1502,17 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) * 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); + icislocked = refcount_release_if_last(&lvif->ic_unlocked); + ntislocked = refcount_release_if_last(&lvif->nt_unlocked); wiphy_unlock(hw->wiphy); - /* This is inconsistent net80211 locking to be fixed one day. */ - if (islocked) + /* + * This is inconsistent net80211 locking to be fixed one day. + * ic before nt to avoid a LOR. + */ + if (icislocked) + IEEE80211_LOCK(ic); + if (ntislocked) IEEE80211_NODE_LOCK(nt); } #endif diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index da377280b1c0..ebf02994af47 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -187,6 +187,7 @@ struct lkpi_vif { struct lkpi_sta *lvif_bss; + int ic_unlocked; /* Count of ic unlocks pending (*mo_set_key) */ 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 Fri Apr 18 14:37:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR951LHz5stRg; Fri, 18 Apr 2025 14:37: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 4ZfHR91P0Pz3L63; Fri, 18 Apr 2025 14:37:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ktlUq7e+DDHFc6jJzAKpG9pU8jzlqaq83GReU3DHFB4=; b=KAuerRhy82AcX18coMk2oUbdUQDRVauPCvejL676C4HiVRYzSC4vIHFheRRmjszJv07JKK JvW4HTj7DOHs8ZJirPTmUBaJr/zZN3j+I/mxEcmxF584abqYeXgAGRIbXUBaHLHb0JbjOO s7R/zTtAooB1m7NxgmGPgLyqf9F+4SfUYtbetA2iRDlgEV2LU6DZ5AtenFJz7tQZiTNhvo UuzpC3xm87g/4wxA5RJTpnJ/UVnt1pAmVZvXZbR3FccaJnqur7zRMzepvrAPAYPj+3zrCO V31rAMQIybtcE9hpGBgCtNcBlylUkToUjGopxyCBQ9vQB/OZBlndb+kBZqftFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987045; a=rsa-sha256; cv=none; b=b2CoppurpRdR/AvaLEMgPxAShAt0B2hkem3Pkexi1/xhGPnTiTKGogJWja6EkQnA6J1RTW cD/QryJhXCuMc0PE44f1sB7+IOZcMBwPVtCQT1c60HXJblj9RwgO1tLGNUAYgUBk30TVwv 9UoKoOuYuRy7r1wk/nHcbMIVRFNqGLHreSkTkXmnavSEOaEVHY66XNvZxjGIUhXgGajvb4 3hudZ//1beMeS/4PuhuG8cODdV/W2sXXdxeA0mz6co0GL1mOYBcG5b7khEO77HpeYo6vL5 AoOhoKPjTE7b+/pxWusaTyxFAGeZF6Q3/s87gpvHFknHRc/qJaigroES+RlO2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ktlUq7e+DDHFc6jJzAKpG9pU8jzlqaq83GReU3DHFB4=; b=R7XQAdgPQA/aFityFuY1pPIsxe4oxdNTOxRC+ZyGJkRg3rHFNg1qUjVbQAh2jo34fRc75K UycQQZR4i87N8bQ12t1gFErjpPNaBgk/V6+lvHLpR9uCsS48PRFxZU/C82m2yDCaJaz6se amz4eC5M4gqFbitMotVnIug61OkzGbT+SpICmG6OwXSkMEpR8r2EgAltSJNTsJqwxwh8dN qTUAlPV81aaTdY96Tc2scDqn/nJb21NtWsELLyKGstduRgokiL83aYPSOfQHh3LoUJiPxl BC9iOHVv881ATNO4syFnUJCpbJ4lKiCYBeOy21RGKMPSNj+U9UENReUhRE2o5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR90kPrzdjb; Fri, 18 Apr 2025 14:37: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 53IEbO6B092209; Fri, 18 Apr 2025 14:37:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbOVK092206; Fri, 18 Apr 2025 14:37:24 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:24 GMT Message-Id: <202504181437.53IEbOVK092206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6869d0856230 - stable/14 - LinuxKPI: 802.11: increase mbufq lengths List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 6869d08562309043460a00c30d28d33a71b772aa Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6869d08562309043460a00c30d28d33a71b772aa commit 6869d08562309043460a00c30d28d33a71b772aa Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 20:57:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:02 +0000 LinuxKPI: 802.11: increase mbufq lengths Increase the mbufq lengths we use in the RX and TX path to decouple the lower and upper parts (currently using taskqs which likely need to be replaced as well now -- was asked not to add more sophisticated concepts 2-ish years ago). The old values of IFQ_MAXLEN (50) are a tad too small so bump them to 32 * NAPI_POLL_WEIGHT (32 * 64) which seems to be mostly enough now not to drop mbufs anymore (by not overflowing the queues). As a side effect TCP became a lot happier as well growing throughput towards where UDP is already. There is more fish to fry but we are also doing ~750 Mbits/sec TX and 400 Mbit/s RX TCP at VHT160 now. Sponsored by: The FreeBSD Foundation (cherry picked from commit 832b8e986c68a43ecf2d6b4af805aaf37087f7d9) --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4c1d20c7b469..a5f22046b55c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -786,7 +786,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], /* Deferred TX path. */ LKPI_80211_LSTA_TXQ_LOCK_INIT(lsta); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); - mbufq_init(&lsta->txq, IFQ_MAXLEN); + mbufq_init(&lsta->txq, 32 * NAPI_POLL_WEIGHT); lsta->txq_ready = true; return (lsta); @@ -5572,7 +5572,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) /* Deferred RX path. */ LKPI_80211_LHW_RXQ_LOCK_INIT(lhw); TASK_INIT(&lhw->rxq_task, 0, lkpi_80211_lhw_rxq_task, lhw); - mbufq_init(&lhw->rxq, IFQ_MAXLEN); + mbufq_init(&lhw->rxq, 32 * NAPI_POLL_WEIGHT); lhw->rxq_stopped = false; /* From nobody Fri Apr 18 14:37:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRB48Lfz5stTj; Fri, 18 Apr 2025 14:37: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 4ZfHRB272Sz3Kx0; Fri, 18 Apr 2025 14:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N2X9Zv/t4wJo4VmAGSWK0XRcA0XCetXeNG2t4bH/Qgw=; b=xA+Eg+HdimY+KNCIAEmbADVsjuYg3I8OPqn+J7wAr1pTyuAaCEICXrPMRB+zYUOWVwMN4x lOZJxZPBqFU9ZnxBZzWiKe4fh3It2oeCf1MYBQg7+3fK5udFqxYlacsL3TmMGmoqyG9Vry LJyHTKP/BZyxrLuE5gjJfv7fRqTE5cZ7fSEij3/90Z+MvgsVxr3BVtMn2aQXImabRlvHLZ yYk9Hok0GfxLYbAqhZOIuuKKMZLkTOCgDVu88e1Zs5LSN5NZdoENiIfLHJ12tiQb9mZMdf 5emNRi8wK1USojOGavfEFkGftXhDARXDaNxoIJZ+k011SuYNssV+NGEFzSHWsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987046; a=rsa-sha256; cv=none; b=FLV4SJS6RrdQqQtPCR15s/SQ631ZFW96R2eyrqDu5muDl+EKV2myTYS60uA/9rJyUWS3do 9khnsPKTABalOHh4wLJkwhU0IXweRsU8ChwDqW5oEayQpmy/KKg6Yx9SdjB2ZU4goLhsGG oup4WmziHD+R10vffclBrgygvX93Xz/vrNepTHk7w+7I6Z6/lIYcorOCRXk1zyftlDUoei 5+l0cLjw3GfRfD+ivYOFJ5ZA4iR4Nrf4WieOp4AHRy6uYSPDD9R7WqDvi7mhMq0Kk+uGst 5AC+a07kwHORiEhJUMj55xKaUUJp+36Mtb58ZZV8x/5sv2xYZDomFadMG0To2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N2X9Zv/t4wJo4VmAGSWK0XRcA0XCetXeNG2t4bH/Qgw=; b=WOz1OgmPMnbUXJY8VlrPoZC7v6LaTHGC0PAgIXywiYLEixehzq8ajFe5FTYDTP4EqTmFxo zTy6WjDaI2HyAabMLtMXGy7gdqhu9jst+EqVj7V26MNEwZjZFj8tCMSgd/8ztNRQfVHJ8C mqM5NvOFy9vZi5zb6rhmjbDDmPge0D7Im2/HEEhAh2ZqEmpXHbsm4dqNRwij0h4Pa4zEvA wdnIgyjCkEuEujRan9DbqUI0sV6X3qs4zqZrtiY670jEXXEyHqXMgmew84EzUibv+6AgEy 09/j3lfLK0KUmkl6wNc4OXdlQ2CW1O08hiSwIIBrJsZCrD7ic/aDsmm3KCpMOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRB1ZkLzdxy; Fri, 18 Apr 2025 14:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEbQp8092245; Fri, 18 Apr 2025 14:37:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbQu2092243; Fri, 18 Apr 2025 14:37:26 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:26 GMT Message-Id: <202504181437.53IEbQu2092243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 636bb42e6c55 - stable/14 - LinuxKPI: 802.11: deal with the error paths for lkpi_xmit() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 636bb42e6c5556beb8a79541cf0d60c0832450c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=636bb42e6c5556beb8a79541cf0d60c0832450c9 commit 636bb42e6c5556beb8a79541cf0d60c0832450c9 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 16:59:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:02 +0000 LinuxKPI: 802.11: deal with the error paths for lkpi_xmit() Rename lkpi_ic_raw_xmit() to lkpi_xmit() as we need a wrapper to add an extra argument as (*ic_raw_xmit) and (*ic_transmit) have different invariants. Based on the caller free the mbuf in the error case or not to satisfy the requirements of the caller. For more information see the comment in the code. Sponsored by: The FreeBSD Foundation (cherry picked from commit 9a45c3ca850110c5871742fadbf7355c1085c725) --- sys/compat/linuxkpi/common/src/linux_80211.c | 44 ++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index a5f22046b55c..19ad12d73d12 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4514,9 +4514,20 @@ lkpi_ic_node_free(struct ieee80211_node *ni) lhw->ic_node_free(ni); } +/* + * lkpi_xmit() called from both the (*ic_raw_xmit) as well as the (*ic_transmit) + * call path. + * Unfortunately they have slightly different invariants. See + * ieee80211_raw_output() and ieee80211_parent_xmitpkt(). + * Both take care of the ni reference in case of error, and otherwise during + * the callback after transmit. + * The difference is that in case of error (*ic_raw_xmit) needs us to release + * the mbuf, while (*ic_transmit) will free the mbuf itself. + */ static int -lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, - const struct ieee80211_bpf_params *params __unused) +lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, + const struct ieee80211_bpf_params *params __unused, + bool freem) { struct lkpi_sta *lsta; @@ -4533,16 +4544,24 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, if (!lsta->txq_ready) { #endif LKPI_80211_LSTA_TXQ_UNLOCK(lsta); - /* - * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! - * ieee80211_raw_output() does that in case of error). - */ - m_free(m); + if (freem) + m_free(m); return (ENETDOWN); } /* Queue the packet and enqueue the task to handle it. */ - mbufq_enqueue(&lsta->txq, m); + error = mbufq_enqueue(&lsta->txq, m); + if (error != 0) { + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); + if (freem) + m_free(m); +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_TX) + ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", + __func__, error); +#endif + return (ENETDOWN); + } taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); LKPI_80211_LSTA_TXQ_UNLOCK(lsta); @@ -4556,6 +4575,13 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, return (0); } +static int +lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, + const struct ieee80211_bpf_params *params __unused) +{ + return (lkpi_xmit(ni, m, NULL, true)); +} + #ifdef LKPI_80211_HW_CRYPTO static int lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, @@ -4914,7 +4940,7 @@ lkpi_ic_transmit(struct ieee80211com *ic, struct mbuf *m) struct ieee80211_node *ni; ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; - return (lkpi_ic_raw_xmit(ni, m, NULL)); + return (lkpi_xmit(ni, m, NULL, false)); } #ifdef LKPI_80211_HT From nobody Fri Apr 18 14:37:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHR856zcz5stTg; Fri, 18 Apr 2025 14:37: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 4ZfHR80QMfz3L1n; Fri, 18 Apr 2025 14:37:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Y9zJo22LuqyaCPT3+46dtR+TDa73Fcpiou6QpU3gVs=; b=WXYRrl32KJewGGWHyDcD9OwNz7HGGg8Ul3Mwhn8Deijvn4s5h8d/qeHH3jM0hM0hCfyVKM murewQ/YKKoX6E3z1BFicsEuk51/HiFKOFD3kDSBIwy47h9xt+oyKlnSRVmyHMatLpbLdg KI3KNtdPSi76TpnYxO/J4CcZz+IqdukYploxXyowKMuDWx9cf0j+94PHS/MCOrsfZVpN7g FK3d5Mzf50tVegAHm2KR9RF3qNU4vgVKu5InVCy6uEBS5eptuHOpVahE3pWJWCRcWKBBqy 5REJN/YSD4H75jAY1/eKnXvYKRiL3A2/QPJjJAdVaaU9yyZlxlHX4+Z5QHDCNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987044; a=rsa-sha256; cv=none; b=KI1XHQ3bNMqqvd9Z26JFc/XyAMUmsaKdR2HX13Bw5LnvKhGzrXpLrjzL7aS+6OOIKuYn1C VD6CCX0sQPU531SacH/Yxe8haqXkU9W49pfKggdCOUWoXjfXfa3eBWXNECwKAmPnjUtQ+o 0cNvxbQKpHJpB2T0AB8BaU8Ymct8rRoXM+nCfEAi1DVgXbZ2YFp+JI7op4ae/ZWYa1Ggpc OJOre23WVXGV47P2V04/Zi2oeRSkHCcY9sEAGbT84BWnnYHavbzLWmhSyXg0DGW3ObUDCC AAM5eXZ4jCHlGb7cx4+l5jMsecviEVbsznjEAx6x7hGsTr2esN/IRqxIDT0HiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Y9zJo22LuqyaCPT3+46dtR+TDa73Fcpiou6QpU3gVs=; b=Axbq1pCIYLhsBOcrY4mbI5/ecaWr/GJj5IMBqNNo1T85jWqhz56+Bid/3J4WRw8HuyvOTK SYAUwoRFtr+zXW/79CN5ossuidesmuoO7hVDaXeQpQIQ1S05czVTtDvP67Cf+in9tuKy14 Dj9Dxg26ZG+2awlFuI/Y/BvsJ4HhtNDm2Pmqjb3Ffe4SEZ+JMGl/YK0vIxT2tdxDqmbNRo Dpk+WRuQGXhxaLqZtZVT/0foUM++88jmzUkipXdTaulIgj8lI9SuT2ckWdblU371ySfgpQ x/2QGS4HqB73+HAUkG2FwcAN6DgBm+4VjXb46Nrj631G/6ks/+gmLUuEZJxr6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHR76pxszf0w; Fri, 18 Apr 2025 14:37: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 53IEbNEa092173; Fri, 18 Apr 2025 14:37:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbNue092170; Fri, 18 Apr 2025 14:37:23 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:23 GMT Message-Id: <202504181437.53IEbNue092170@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ded3d312ba36 - stable/14 - LinuxKPI: 802.11: enable fragmentation offload List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ded3d312ba364023e312596a67e9a0733a1e9ff6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ded3d312ba364023e312596a67e9a0733a1e9ff6 commit ded3d312ba364023e312596a67e9a0733a1e9ff6 Author: Bjoern A. Zeeb AuthorDate: 2025-04-12 19:50:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:02 +0000 LinuxKPI: 802.11: enable fragmentation offload Let the hardware handle fragmentation itself and tell net80211 to save itself from it. We already call the (*set_frag_threshold) mac80211 function. This should be a NOP for all currently enabled LinuxKPI based WiFi drivers. Sponsored by: The FreeBSD Foundation (cherry picked from commit 63578bf225df37944b78febfb177e8c1c81f54e4) --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f9f16e0a6f8f..4c1d20c7b469 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5759,6 +5759,10 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) lhw->scan_flags |= LKPI_LHW_SCAN_HW; } + /* Does HW support Fragmentation offload? */ + if (ieee80211_hw_check(hw, SUPPORTS_TX_FRAG)) + ic->ic_flags_ext |= IEEE80211_FEXT_FRAG_OFFLOAD; + /* * The wiphy variables report bitmasks of avail antennas. * (*get_antenna) get the current bitmask sets which can be From nobody Fri Apr 18 14:37:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRD0v8Pz5stXl; Fri, 18 Apr 2025 14:37: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 4ZfHRC3GSnz3L6b; Fri, 18 Apr 2025 14:37:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uLnYaNIsQI7a277T+CYG13A51BXvsiAWJhnmpVJQ54=; b=wqMz+SUKCRCtEDbdUK3tO2tnl3gGeueBIpml2V2s3PumzwxtwyOB7d66Go8RzGoWkLssqy VOGZsMmP49gGOHbNa3VFT4R6c6/9psU3ZOYsJvbB8pc74IXpKPutFYs3og82Ul/Qpn2BTt KQztL/Yrz0A0ka9Qr1MwgqpyCTXyi6WxfgMjHu/VEiyIsKIVawl7dbHY6Fuy+u53jbz/uN N/ByUKp3q5qizF5BQE36bTHDWLWOOvEjBaiwptFs1S7nxeoSuzDPSLQysJ8CU0QQvQjrcc P//ho0SWWCNkmrWsuSsvO7Cnar2M5mX9yfIhDkaC5Zs60z0Bl28KBR94kft3SQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987047; a=rsa-sha256; cv=none; b=XMkLXU5JNLAgF2M9HMMohrURSPl0ipH+9Lqr895CC3OWcANszyWj2oFeG4GxdMH+N0uLNL D1Wwk7Wk64UHkbn6prsafUBmyHIz4h6eqCb9a6vD7HrM4npq9VPoUYSo4+CEJ3ESNGxoRW V1cBwHi+d61gQB4a0zagOTmhxRROomOn4nLZEuulzChlJ+YHmYo/1sduhD+Ll+gJoUjt5v H6XVh2qXdzschPI/+bZ9WOltZF7FGymPR2NkagbfYFXOL1I5gsKotX4USSv9htHQXM0K// w9EQA8eC9G+ssBb7o6AXBjkrWzmkZfDYLkRsWmS0Xz6yJEumHeptsZtEoMHX/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uLnYaNIsQI7a277T+CYG13A51BXvsiAWJhnmpVJQ54=; b=pQN1933xVjEIyJAsUWLEVwe6arJQ8xsfB+8Sxs2r3YguMt4j1hfefN7LG3J36aQ4vll2I7 kAiJfm6ZH99vLQRpJK7yC5Az572oMuo8DdXhFKbOp9tKKHcmtd0E8ttShqG6eA84LOvZVf TK7PNFkaeELH5bZeFAfHtDiw0YVwsljGdcFgoMN40O9o39ILhizrrQnun4DgmakauQEqMj n5CQMPCn3FyeCWA66m9+KBFc/fuaX4/y5XFd29nOYBr1xL7NaHoGIJznJ0XelQVWBKWFH1 mm2yU6Q55TPvxLcHEORewFzfO554SZTdWZpTFHuERvvBro+p3BhKITfyklJirQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRC2YFjzfF2; Fri, 18 Apr 2025 14:37: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 53IEbRmi092281; Fri, 18 Apr 2025 14:37:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbRsX092278; Fri, 18 Apr 2025 14:37:27 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:27 GMT Message-Id: <202504181437.53IEbRsX092278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1ec403297e4e - stable/14 - LinuxKPI: 802.11: better dealing with errors in RX path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1ec403297e4e7585a6fbc753de8cec0244c58d6d Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1ec403297e4e7585a6fbc753de8cec0244c58d6d commit 1ec403297e4e7585a6fbc753de8cec0244c58d6d Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 20:53:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 LinuxKPI: 802.11: better dealing with errors in RX path In case we fail to allocate the mbuf or mtag in the RX path or fail for other reasons report it as ic_ierrors for better diagnostics and more correct statistics. Also do what the comment had indicated and mandate that mtag allocation succeeds or otherwise drop the packet. There may be room for future improvements in a follow-up commit here. Sponsored by: The FreeBSD Foundation (cherry picked from commit c013f810ecb615289c2bd69a10f4317a3a867d50) --- sys/compat/linuxkpi/common/src/linux_80211.c | 29 +++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 19ad12d73d12..11c0077fe571 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6446,8 +6446,12 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, uint8_t rssi; bool is_beacon; + lhw = HW_TO_LHW(hw); + ic = lhw->ic; + if (skb->len < 2) { /* Need 80211 stats here. */ + counter_u64_add(ic->ic_ierrors, 1); IMPROVE(); goto err; } @@ -6457,8 +6461,10 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, * have an mbuf backing the skb data then? */ m = m_get2(skb->len, M_NOWAIT, MT_DATA, M_PKTHDR); - if (m == NULL) + if (m == NULL) { + counter_u64_add(ic->ic_ierrors, 1); goto err; + } m_copyback(m, 0, skb->tail - skb->data, skb->data); shinfo = skb_shinfo(skb); @@ -6523,9 +6529,6 @@ no_trace_beacons: rssi = 0; lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); - lhw = HW_TO_LHW(hw); - ic = lhw->ic; - ok = ieee80211_add_rx_params(m, &rx_stats); if (ok == 0) { m_freem(m); @@ -6628,28 +6631,28 @@ skip_device_ts: } #endif - /* - * Attach meta-information to the mbuf for the deferred RX path. - * Currently this is best-effort. Should we need to be hard, - * drop the frame and goto err; - */ + /* Attach meta-information to the mbuf for the deferred RX path. */ if (ni != NULL) { struct m_tag *mtag; struct lkpi_80211_tag_rxni *rxni; mtag = m_tag_alloc(MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, sizeof(*rxni), IEEE80211_M_NOWAIT); - if (mtag != NULL) { - rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); - rxni->ni = ni; /* We hold a reference. */ - m_tag_prepend(m, mtag); + if (mtag == NULL) { + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); + goto err; } + rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); + rxni->ni = ni; /* We hold a reference. */ + m_tag_prepend(m, mtag); } LKPI_80211_LHW_RXQ_LOCK(lhw); if (lhw->rxq_stopped) { LKPI_80211_LHW_RXQ_UNLOCK(lhw); m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); goto err; } From nobody Fri Apr 18 14:37:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRG5f5wz5stqs; Fri, 18 Apr 2025 14:37: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 4ZfHRF4mBdz3LCT; Fri, 18 Apr 2025 14:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeEMuIP6LsnjUNdU/ngF6TEiq8KG3AT/CbbYsY9nHxY=; b=FJV693TtRCFVYXWuTe4QGgeLD7FRqucz8wvbon9BIHrH6d2uk9QkfdXk1kCAFRdBPrL1du I8pbt0PtSIbi9JnYsA2qIBsVCO/lijfSfPSIE7ICzS+pYWtM2TNnFyDEFD31c4hFD3H3fD gSQcIWsUeRIET1XZXLYmWYMIrPHlmRZMRP9GssH0z+iXOK5NFz6ZsusFkGbrJrpEGznnMF icG8tb8zIytal2/tApxx2F5YMHA/G0LrBMDdZch9+xgxo477lAyW0XKyDUJuXB+Iq28Pqd zp3qNql/IQoZrUn7cHd5l0ROC9WQ2av72DwMCvhCmNj3e+Ww6n/mKajgR2JpEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987049; a=rsa-sha256; cv=none; b=H8fccm7Pz10GZUGTVev+weZ/vqJd5uuDrUXDLPfD4nxrledA2l3mGTBKpDMswgZVWRPviX FsLJQ/TdWdThF3QSRy/jkcPd2CCkhenSgE9d2mqEEvRpeHmdc98yYqTmh+irKSaKBgqQ+Z bTOBj/O7ce4LXsZinmlevV+bYIrd1mBuyn5j6pI4LGavxGg2sHbl3CBwT2bVyfzpRDGgmT eQolLzcVgkybfoia3IBBZTxx/Q2faUcTOLKEwXZUeqoZXJ0EJAF/1qynxo5E9PKXC/n9St j1R2va5Q35DJH75O99RFnLmCAXzBQxtcZvBIXV6PsTJotfvv7HIIKcZAUX3ktg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeEMuIP6LsnjUNdU/ngF6TEiq8KG3AT/CbbYsY9nHxY=; b=unTb1PccBGRbN6MhK8iIhaTtBX1OqnFGgbPlQ4K44btSvJ7dSY2uEdoiu4rYe6725ZNNPr nAI8ZJZPPZLa1V9y7vpScy/ZWHPId4PNS4MxpkinLEV6q6vu1h9JOSrf1juHGq8J5p6r95 EKPe4Hp3W/qHmbePtfz7jKqsPs8vzLtmb7D8sOq5aXdLJ2lfRnt/amNxXO7pV8rT95mnuX S6cIDxGbuMz29YkAdvyEzktlSloN7I4lfSUNinxeo1mNIBgB+mcDmSyfHp3ILpdJJF273l 2KT7SdY1+4iIyQisu+v0szxozOWCyKf0c+0KbAAZ2A+31Xv4z0wScZgyYqWyqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRF4BVczdy0; Fri, 18 Apr 2025 14:37: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 53IEbTIL092362; Fri, 18 Apr 2025 14:37:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbTuZ092359; Fri, 18 Apr 2025 14:37:29 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:29 GMT Message-Id: <202504181437.53IEbTuZ092359@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9996e4df555c - stable/14 - LinuxKPI; 802.11: start filling rxrate statistics List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 9996e4df555c7b7b4988526729fdf4230d796954 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9996e4df555c7b7b4988526729fdf4230d796954 commit 9996e4df555c7b7b4988526729fdf4230d796954 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 23:05:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 LinuxKPI; 802.11: start filling rxrate statistics Start collecting rxrate information from the RX statistics which are passed per packet. Store them in the lsta and upon printing statistics, if no RX_BIRATE is provided copy them over from the lsta. This allows us to see rate information in both directions on modern iwlwifi chipsets, which are doing [tx]rate handling in firmware. Sponsored by: The FreeBSD Foundation (cherry picked from commit a1adefb139b3c8f95e5255c67705fb92f4d9fc04) --- sys/compat/linuxkpi/common/src/linux_80211.c | 72 +++++++++++++++++++++------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 + 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3dba41a4e547..98e0b28d9ef2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -314,6 +314,13 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) continue; } + /* If no RX_BITRATE is reported, try to fill it in from the lsta sinfo. */ + if ((sinfo.filled & BIT_ULL(NL80211_STA_INFO_RX_BITRATE)) == 0 && + (lsta->sinfo.filled & BIT_ULL(NL80211_STA_INFO_RX_BITRATE)) != 0) { + memcpy(&sinfo.rxrate, &lsta->sinfo.rxrate, sizeof(sinfo.rxrate)); + sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); + } + lkpi_nl80211_sta_info_to_str(&s, " nl80211_sta_info (valid fields)", sinfo.filled); sbuf_printf(&s, " connected_time %u inactive_time %u\n", sinfo.connected_time, sinfo.inactive_time); @@ -6276,15 +6283,17 @@ lkpi_80211_lhw_rxq_task(void *ctx, int pending) } static void -lkpi_convert_rx_status(struct ieee80211_hw *hw, +lkpi_convert_rx_status(struct ieee80211_hw *hw, struct lkpi_sta *lsta, struct ieee80211_rx_status *rx_status, struct ieee80211_rx_stats *rx_stats, uint8_t *rssip) { struct ieee80211_supported_band *supband; + struct rate_info rxrate; int i; uint8_t rssi; + memset(&rxrate, 0, sizeof(rxrate)); memset(rx_stats, 0, sizeof(*rx_stats)); rx_stats->r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; /* XXX-BZ correct hardcoded noise floor, survey data? */ @@ -6351,30 +6360,56 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, switch (rx_status->encoding) { case RX_ENC_LEGACY: + { + uint32_t legacy = 0; + supband = hw->wiphy->bands[rx_status->band]; if (supband != NULL) - rx_stats->c_rate = supband->bitrates[rx_status->rate_idx].bitrate; + legacy = supband->bitrates[rx_status->rate_idx].bitrate; + rx_stats->c_rate = legacy; + rxrate.legacy = legacy; /* Is there a LinuxKPI way of reporting IEEE80211_RX_F_CCK / _OFDM? */ break; + } case RX_ENC_HT: rx_stats->c_pktflags |= IEEE80211_RX_F_HT; - if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) - rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + rxrate.flags |= RATE_INFO_FLAGS_MCS; + rxrate.mcs = rx_status->rate_idx; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) { + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rxrate.flags |= RATE_INFO_FLAGS_SHORT_GI; + } break; case RX_ENC_VHT: rx_stats->c_pktflags |= IEEE80211_RX_F_VHT; - if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) - rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; rx_stats->c_rate = rx_status->rate_idx; /* mcs */ rx_stats->c_vhtnss = rx_status->nss; + rxrate.flags |= RATE_INFO_FLAGS_VHT_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) { + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rxrate.flags |= RATE_INFO_FLAGS_SHORT_GI; + } break; case RX_ENC_HE: + rxrate.flags |= RATE_INFO_FLAGS_HE_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + /* XXX TODO */ + TODO("net80211 has not matching encoding for %u", rx_status->encoding); + break; case RX_ENC_EHT: + rxrate.flags |= RATE_INFO_FLAGS_EHT_MCS; + rxrate.mcs = rx_status->rate_idx; + rxrate.nss = rx_status->nss; + /* XXX TODO */ TODO("net80211 has not matching encoding for %u", rx_status->encoding); break; } + rxrate.bw = rx_status->bw; switch (rx_status->bw) { case RATE_INFO_BW_20: rx_stats->c_width = IEEE80211_RX_FW_20MHZ; @@ -6425,6 +6460,11 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, if (rx_status->flag & RX_FLAG_FAILED_FCS_CRC) rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; #endif + + if (lsta != NULL) { + memcpy(&lsta->sinfo.rxrate, &rxrate, sizeof(rxrate)); + lsta->sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); + } } /* For %list see comment towards the end of the function. */ @@ -6527,16 +6567,6 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, no_trace_beacons: #endif - rssi = 0; - lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); - - ok = ieee80211_add_rx_params(m, &rx_stats); - if (ok == 0) { - m_freem(m); - counter_u64_add(ic->ic_ierrors, 1); - goto err; - } - lsta = NULL; if (sta != NULL) { lsta = STA_TO_LSTA(sta); @@ -6550,6 +6580,16 @@ no_trace_beacons: lsta = ni->ni_drv_data; } + rssi = 0; + lkpi_convert_rx_status(hw, lsta, rx_status, &rx_stats, &rssi); + + ok = ieee80211_add_rx_params(m, &rx_stats); + if (ok == 0) { + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); + goto err; + } + if (ni != NULL) vap = ni->ni_vap; else diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index ebf02994af47..e9c0d01af1bb 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -161,6 +161,8 @@ struct lkpi_sta { bool added_to_drv; /* Driver knows; i.e. we called ...(). */ bool in_mgd; /* XXX-BZ should this be per-vif? */ + struct station_info sinfo; /* statistics */ + /* Must be last! */ struct ieee80211_sta sta __aligned(CACHE_LINE_SIZE); }; From nobody Fri Apr 18 14:37:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRF0xrvz5stYt; Fri, 18 Apr 2025 14:37: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 4ZfHRD3xlwz3KtC; Fri, 18 Apr 2025 14:37:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LzKSAq4D5BuKVaQ9rFC1728wXOQ66o7Hs4i5h1kPGKg=; b=CRxDnTKdPtxmNz6OsD6MyhHid2EDZ1rpbFiVx5rlUUv5vKaKCXxCdv646OpQ/ukXSVD6J8 miWSirHI3Icfa9LshA+WcweVcLMImrsrGY+jx64Pd1Qm+kPBYz1c5JmbJbSjX9juXeOCas SvCztC063REi791VGjb1qVX3EJekRxw+NZE/OFwo1URQE2EKIuv1Ty6ffJGPDIUdSW4nr3 lJEIZmkw6dZuviGSrQs4bEzu5GGEqcuXdCCMknkgVFoo1yZ4bThuJ4R+EqrRF/lqhL/joW g6UdqFPDg541MFHE7T1FifI9prjOGYQnmM6RW8/p45EU82vHb8PaQ0z/l5iBWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987048; a=rsa-sha256; cv=none; b=dYkaE8hIWu3HW7J9NFZMsc/HlDj6WwFiHnezCvVV2NoodiNE2Xkt9kbydFBUKczK/+5kWi kTYpAuJe4tjT+3nSvPuITqHth8BrksBJfYYWt4zRL/Pc3N3AoTGqCAwB9f4DXrr3tg+UFS pv3aVzSUsOViBIAVqW3hhuX+Ey3DGpz2nh1qUiKZZJX35lSC2qvccPsEPpslkhXar51UEB AqhIzdLKDFcO6/iZFQb55Q6kYV607mW8+tkfBl38J8XZ4HunvlsrU0UOkYhqhZ5GJ6+nM3 tyD9mvkdbnX7OrNLV7NhDRKZ5RJ6ZFPTwNY64vdbgW7nFuN9FL+SmYSEsHqGZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LzKSAq4D5BuKVaQ9rFC1728wXOQ66o7Hs4i5h1kPGKg=; b=l0Nv5QfMZ1MdQx/XrtUm0WLdxiihIEd2IpDk9QE9pcfOStnRWT6hBHfY9QjDzn8pw2Zrhi b7Ka0v55umsMqnkCbtdhLAKWIorCGSBIdFGraZg8JYTSp7mnoI6ok/Srhx5a8dLxa5ZTZC l5z32tOjRMsk2WWQKGyWwrsy41LQ4eAl/c8mEEAa1p4ISHRNuPFvJIEUGx2Rir3/22h196 eV6ydw0wngMJ0frJa31vG3g2dM2uP7UmhNhks7urF7O/E3yPAX1SyuerENTfKRIGscCx3B jiPgdOGRbngeoFW5iBDzfJ+0HEW2KTH1DPEJpAbx/uIMaMFpORBK1TjA6HnFNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRD3TRZzfHN; Fri, 18 Apr 2025 14:37: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 53IEbSDG092323; Fri, 18 Apr 2025 14:37:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbSlD092320; Fri, 18 Apr 2025 14:37:28 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:28 GMT Message-Id: <202504181437.53IEbSlD092320@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e273079ac52d - stable/14 - LinuxKPI: 802.11: plug mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e273079ac52d8b2ee9d6a5578cc15dc09a705df8 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e273079ac52d8b2ee9d6a5578cc15dc09a705df8 commit e273079ac52d8b2ee9d6a5578cc15dc09a705df8 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 16:13:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 LinuxKPI: 802.11: plug mbuf leak Now that we are doing VHT it is possible to overflow the mbufqs we use in the TX and RX paths. Check the return code of mbufq_enqueue() deal with any error accordingly and propagate it. Sponsored by: The FreeBSD Foundation (cherry picked from commit c816f64e66a0d21196ede35da3eca19e54b59a03) --- sys/compat/linuxkpi/common/src/linux_80211.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 11c0077fe571..3dba41a4e547 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4530,6 +4530,7 @@ lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, bool freem) { struct lkpi_sta *lsta; + int error; lsta = ni->ni_drv_data; LKPI_80211_LSTA_TXQ_LOCK(lsta); @@ -6442,7 +6443,7 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, struct ieee80211vap *vap; struct ieee80211_hdr *hdr; struct lkpi_sta *lsta; - int i, offset, ok; + int i, offset, ok, error; uint8_t rssi; bool is_beacon; @@ -6656,7 +6657,18 @@ skip_device_ts: goto err; } - mbufq_enqueue(&lhw->rxq, m); + error = mbufq_enqueue(&lhw->rxq, m); + if (error != 0) { + LKPI_80211_LHW_RXQ_UNLOCK(lhw); + m_freem(m); + counter_u64_add(ic->ic_ierrors, 1); +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_RX) + ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n", + __func__, error); +#endif + goto err; + } taskqueue_enqueue(taskqueue_thread, &lhw->rxq_task); LKPI_80211_LHW_RXQ_UNLOCK(lhw); From nobody Fri Apr 18 14:37:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRH4BtDz5stfy; Fri, 18 Apr 2025 14:37: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 4ZfHRG5Py7z3L9S; Fri, 18 Apr 2025 14:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPlknZt52bYruezWdqT4TWTpuKh1yHDjb+RrjYjxCLw=; b=kWuqbrwzOCDBrQqRp92XPVCf1C8Dgkvpxrn5vcus1LjwNSDQFgFZVd/c6n5JPhSBQPa4bw Uiq+hH6u9bkBWDHmhOJJZnLxX+R1WKlP1MjFhKd3xn6wYCF9YrofVQ0owQFp6M0nu+/Rct RMn9ZYXCS9/m67RFHw1yalZ2gPgkBsGClHhahzCvVFpCDdhftN3866mn2VdTt/nVVFSTKZ /VOk3ygR5iYd0c8w6RHMemM0dYdN0l5o3Kl0T9OB72GcXKJjHWN7adKkDCzR+i7fKL11vD jwff2+sTJC7etW8a/u55QT104vI3ZV9uRekzWjQzgowhB3l8aeEyrbowbuYWyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987050; a=rsa-sha256; cv=none; b=CRA4Ildr3JLsZIT9qTZhPCj5j3KsnN+s9XmLc/89Qf9ImjW1Js3K6wOlcvIrmj/OXExCQD ta5skSaFjZCte+bmAj/VFQcVFTDAUphqyuV6iJ+toeFQrP66rAHK136f5qUj4PHhek0HgD wQ6uEZ5yybN9RHQyYG+wuaYFNqW79oHfqJK0ZfN37NaH180Zr6/ngG3DLAidvhzIew/uEy HY0hNCB3HjxaNYQZEfmebBQ8yscmXl2ZR5NQtwn9fx7eQwsgvWVpEdGeP3wk3zznduV7mR 9uH6RbT62fYLuAMxxknI+WDzdshHk9qWKHRGXn+3enafQwD2WulxGoa+o2BL2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPlknZt52bYruezWdqT4TWTpuKh1yHDjb+RrjYjxCLw=; b=ZACal+znMvTmpQfjyckZ73lyCiLel0FnmjwFbjT2CJWyZoRSxJlCGALJ6shWo+d/83Rr3d iUCvfZ2b2ymhLyGuepvOyhIZ4sktb23nLk4Dksde+mTbfBCftoI5iygU9Nf/9yxDiL/JL8 mJ0budnRmB7om6WrWPMw7cS5NOlUjg8dSqdvzWr/PENumfxKjPJkBwD5qsbHWgIKy+vMVf PE0S2IolbA3Q/lGkpdTQ9inff92m8LS0k9vNGuQMpOJ2ouMr9pmKtBVWtv/o+XMAYQMvv9 zGCEPnCUu0zXrzT32VFa37Z8sT/dxhNRaO98P1d6KdIlOlLL9Vcln97qvkVZkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRG51h9zfF3; Fri, 18 Apr 2025 14:37: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 53IEbUNF092398; Fri, 18 Apr 2025 14:37:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbUgG092395; Fri, 18 Apr 2025 14:37:30 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:30 GMT Message-Id: <202504181437.53IEbUgG092395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f086acca042e - stable/14 - LinuxKPI: 802.11: avoid using an mbuf tag for now List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f086acca042ecd91b636aa84f33db198a2e6a961 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f086acca042ecd91b636aa84f33db198a2e6a961 commit f086acca042ecd91b636aa84f33db198a2e6a961 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 21:53:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 LinuxKPI: 802.11: avoid using an mbuf tag for now We are using an mbuf tag to carry the ni reference in the TX path from the TX function past the taskq along with the mbuf. Contrary to initial assumptions we only need the ni and no other data so attach the ni to m->m_pkthdr.PH_loc.ptr avoiding the extra allcation. Sponsored by: The FreeBSD Foundation (cherry picked from commit dbae3dcff72f53abe6874466baea78f552b3a316) --- sys/compat/linuxkpi/common/src/linux_80211.c | 22 ++++++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_80211.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 98e0b28d9ef2..85c0945cb9d3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5650,6 +5650,7 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) /* Flush mbufq (make sure to release ni refs!). */ m = mbufq_dequeue(&lhw->rxq); while (m != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); @@ -5659,6 +5660,14 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ieee80211_free_node(rxni->ni); } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + struct ieee80211_node *ni; + + ni = m->m_pkthdr.PH_loc.ptr; + ieee80211_free_node(ni); + } +#endif m_freem(m); m = mbufq_dequeue(&lhw->rxq); } @@ -6226,10 +6235,13 @@ static void lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) { struct ieee80211_node *ni; +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; +#endif int ok; ni = NULL; +#ifdef LKPI_80211_USE_MTAG mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); if (mtag != NULL) { struct lkpi_80211_tag_rxni *rxni; @@ -6237,6 +6249,12 @@ lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ni = rxni->ni; } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + ni = m->m_pkthdr.PH_loc.ptr; + m->m_pkthdr.PH_loc.ptr = NULL; + } +#endif if (ni != NULL) { ok = ieee80211_input_mimo(ni, m); @@ -6674,6 +6692,7 @@ skip_device_ts: /* Attach meta-information to the mbuf for the deferred RX path. */ if (ni != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; struct lkpi_80211_tag_rxni *rxni; @@ -6687,6 +6706,9 @@ skip_device_ts: rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); rxni->ni = ni; /* We hold a reference. */ m_tag_prepend(m, mtag); +#else + m->m_pkthdr.PH_loc.ptr = ni; /* We hold a reference. */ +#endif } LKPI_80211_LHW_RXQ_LOCK(lhw); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index e9c0d01af1bb..a5c052c78db0 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -86,6 +86,7 @@ #define MTAG_ABI_LKPI80211 1707696513 /* LinuxKPI 802.11 KBI */ +#ifdef LKPI_80211_USE_MTAG /* * Deferred RX path. * We need to pass *ni along (and possibly more in the future so @@ -95,6 +96,7 @@ struct lkpi_80211_tag_rxni { struct ieee80211_node *ni; /* MUST hold a reference to it. */ }; +#endif struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr; From nobody Fri Apr 18 14:37:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRJ3ktyz5stlm; Fri, 18 Apr 2025 14:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHRJ0Xvxz3LLP; Fri, 18 Apr 2025 14:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JsMS1STKv519OWFfrBQfV17/kM7A8C+O2hDxO4BG8z4=; b=nL8QsdDxIvD2TbVMctapDcMMtgVry3U/RUdydiaRvYQK0oAReu6dJFEc53AHJzinRb5Hzv HDusl6WB+ly8mpO3EfFSqi/9oNTKT3l6wMpk0DeBUl00ovkvZRe83YeM3dIYTPi86ZSYBx j4NtvyeZfe1UjUDtNB4Q+39JhsY2+KqVarVorU1N57rtgEU4KvEECLN6yzrN7YAHcx9qmu w6MsMdyKusW68oqmJIJJ5G6yqzavVY4bKBCVLnbKNLJadqKWDdYhmn3VxFFiXFDHqRlq64 vRazir5oDRwCwPOqJ4LI04pBstKlZGyJr7IZYYPTfUrOCc2LykTeWS4K33e4qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987052; a=rsa-sha256; cv=none; b=yElhZOwKHeWjYlkUIvAW03qBo91uu/1XaTu1JXeVIafqqSj0Kcmn6zTKJPZP1z3LFMlmxg WZY3EkjDCPtSGHwcaBsCJ2bwkuSpl5U+VKXKCiYiqTxYCKhDeShhcMjGhR/BJLedvASFtI b6j+F+iJHMAiOvIPIofuakVSknyothlVP5HSBGxPVCFmXZTyu98cwIaMgObL8fCtJUHgbc cjzrvy5tD5TcIEpIYtfD4FyJWYe4GZQ24S6O3puMwYNDBD/GnD7QEII7Vxxl3qfUMOcsVf bDY91ChabHW1gCbXomvWKvJNwEqzbCC1KQhXIm7q5uhS0lZA7mAyGG2KDFT27Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JsMS1STKv519OWFfrBQfV17/kM7A8C+O2hDxO4BG8z4=; b=qLQw04DCj0YI9eEsb5RYIMvuIkxn4oFh53XitmtHaidvmL84N1tAcSe7phBs5xvPQUqUu5 dZGUEn1pPPVPm1+hJsjIgU0imHOGM6Cdm7EJnDy8hn0qFr/bMFNHGYCusTZm8+tG+4yqJ5 6PbfLT/aReOTgSNWgku/dwrfzmz3/OP1rCthgisxrtFBlIwbpmyGZAdSmg+d8tDCbL0z8N FQsVpnGcorMr2mNy7poG5IyfkT5U4m7hA4Mq3Alx4xGKbgUcoeG35fSdC/hlvnI3JqWnHG Oog6NQJkD9bXsHWTVwrgvG2xbdZIU1mvY9DGtn3k8g/EcBddI6Eu4598X/EZTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRH73d1zf3t; Fri, 18 Apr 2025 14:37: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 53IEbVwO092435; Fri, 18 Apr 2025 14:37:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbV8V092432; Fri, 18 Apr 2025 14:37:31 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:31 GMT Message-Id: <202504181437.53IEbV8V092432@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 42be6050cec7 - stable/14 - iwlwififw: remove Intel iwlwifi firmware from src.git List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 42be6050cec78ed6abf2e4845f4b9e525d5c2403 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=42be6050cec78ed6abf2e4845f4b9e525d5c2403 commit 42be6050cec78ed6abf2e4845f4b9e525d5c2403 Author: Bjoern A. Zeeb AuthorDate: 2025-04-08 16:57:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 iwlwififw: remove Intel iwlwifi firmware from src.git Following the example of rtw88 and rtw89 only ship iwlwifi firmware from ports/packages. Users are asked to run fwget(8) to install the firmware needed for their system or build it from ports (see also UPDATING). This is the end of a long story adding wireless support to fwget(8), migrating the firmware for multiple branches into ports, splitting them up into flavors, and updating some install media and the installer to provide firmware. The overall amount for new firmware amongst all drivers would have added more than 100M of binary blobs to src.git for the first import, ignoring future updates which (along with some duplication between multiple drivers) was considered too much. While maintenance within the src tree certainly would have been easier in the longer term this seems to be the better solution and I would like to thank everyone who helped along the path to get there. The iwlwififw.4 man page is to stay (for now) and will likely point at the appropriate firmware package flavor in the future as well so people may find it easier to transition. In the long term this information is likely not needed anymore. Sponsored by: The FreeBSD Foundation Requested by: core (Oct 2022) Reviewed by: thj, jrm (earlier) Differential Revision: https://reviews.freebsd.org/D49713 (cherry picked from commit 558d638896239f9cd25b9d825ecfce62ec54681e) (cherry picked from commit 918783b75aacb051f2f83dd0198ef68bc9fa5326) --- ObsoleteFiles.inc | 3 + UPDATING | 6 + share/doc/legal/Makefile | 1 - share/doc/legal/intel_iwlwififw/Makefile | 6 - sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware | 39 -- sys/contrib/dev/iwlwififw/WHENCE | 483 --------------------- sys/contrib/dev/iwlwififw/iwlwifi-3160-17.ucode | Bin 918268 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-3168-29.ucode | Bin 1036288 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-7260-17.ucode | Bin 1049340 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-7265-17.ucode | Bin 1180412 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-7265D-29.ucode | Bin 1036772 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-8000C-36.ucode | Bin 2428004 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-8265-36.ucode | Bin 2436632 -> 0 bytes .../iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode | Bin 1518772 -> 0 bytes .../iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode | Bin 1489652 -> 0 bytes .../dev/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode | Bin 1404704 -> 0 bytes .../dev/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode | Bin 1322436 -> 0 bytes .../dev/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode | Bin 1404720 -> 0 bytes .../dev/iwlwififw/iwlwifi-Qu-c0-jf-b0-77.ucode | Bin 1322452 -> 0 bytes .../dev/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode | Bin 1404840 -> 0 bytes .../dev/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode | Bin 1321956 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-cc-a0-77.ucode | Bin 1366144 -> 0 bytes .../dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode | Bin 1799504 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm | Bin 226668 -> 0 bytes .../dev/iwlwififw/iwlwifi-so-a0-gf-a0-83.ucode | Bin 1739988 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0.pnvm | Bin 55580 -> 0 bytes .../dev/iwlwififw/iwlwifi-so-a0-gf4-a0-83.ucode | Bin 1703968 -> 0 bytes .../dev/iwlwififw/iwlwifi-so-a0-gf4-a0.pnvm | Bin 28064 -> 0 bytes .../dev/iwlwififw/iwlwifi-so-a0-hr-b0-81.ucode | Bin 1539288 -> 0 bytes .../dev/iwlwififw/iwlwifi-so-a0-jf-b0-77.ucode | Bin 1446036 -> 0 bytes .../dev/iwlwififw/iwlwifi-ty-a0-gf-a0-83.ucode | Bin 1683076 -> 0 bytes sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0.pnvm | Bin 55484 -> 0 bytes sys/modules/Makefile | 4 - sys/modules/iwlwififw/Makefile | 31 -- sys/modules/iwlwififw/Makefile.inc | 19 - sys/modules/iwlwififw/iwlwifi-3160-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-3168-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-7260-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-7265-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-7265D-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-8000C-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-8265-fw/Makefile | 5 - .../iwlwififw/iwlwifi-9000-pu-b0-jf-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-9260-th-b0-jf-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-Qu-b0-hr-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-Qu-b0-jf-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-Qu-c0-hr-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-Qu-c0-jf-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-QuZ-a0-hr-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-QuZ-a0-jf-b0-fw/Makefile | 5 - sys/modules/iwlwififw/iwlwifi-cc-a0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile | 7 - .../iwlwififw/iwlwifi-so-a0-gf-a0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-so-a0-gf-a0-pnvm/Makefile | 7 - .../iwlwififw/iwlwifi-so-a0-gf4-a0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-so-a0-gf4-a0-pnvm/Makefile | 7 - .../iwlwififw/iwlwifi-so-a0-hr-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-so-a0-jf-b0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-ty-a0-gf-a0-fw/Makefile | 5 - .../iwlwififw/iwlwifi-ty-a0-gf-a0-pnvm/Makefile | 7 - 61 files changed, 9 insertions(+), 721 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 1ca9432d91d6..c608c15d32a3 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250419: removal of iwlwifi firmware files +OLD_FILES+=usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE + # 20250310: caroot bundle updated OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G4.pem OLD_FILES+=usr/share/certs/trusted/SecureSign_RootCA11.pem diff --git a/UPDATING b/UPDATING index 65c8b793a1ae..2e5dc88a49c4 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,12 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20250419: + Intel iwlwifi firmware has been removed from the src repository. + Before updating their system, users of iwlwifi(4) or iwx(4) must + install the appropriate firmware for their chipset using fwget(8) or + building it from ports. + 20250403: Commit 8aedc83c1cc2 ("New setcred() system call and associated MAC hooks") introduces new MAC hooks for the new setcred() system call, diff --git a/share/doc/legal/Makefile b/share/doc/legal/Makefile index 3a17e2f614e5..2030a2668900 100644 --- a/share/doc/legal/Makefile +++ b/share/doc/legal/Makefile @@ -1,7 +1,6 @@ SUBDIR= intel_ipw \ intel_iwi \ - intel_iwlwififw \ intel_iwn \ intel_wpi \ realtek \ diff --git a/share/doc/legal/intel_iwlwififw/Makefile b/share/doc/legal/intel_iwlwififw/Makefile deleted file mode 100644 index 631d34654341..000000000000 --- a/share/doc/legal/intel_iwlwififw/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -FILES= ${SRCTOP}/sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware -FILESDIR= ${SHAREDIR}/doc/legal -FILESNAME= intel_iwlwifi_firmware.LICENCE - -.include diff --git a/sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware b/sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware deleted file mode 100644 index 6bdd16d922b4..000000000000 --- a/sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware +++ /dev/null @@ -1,39 +0,0 @@ -Copyright (c) 2006-2021, Intel Corporation. -All rights reserved. - -Redistribution. Redistribution and use in binary form, without -modification, are permitted provided that the following conditions are -met: - -* Redistributions must reproduce the above copyright notice and the - following disclaimer in the documentation and/or other materials - provided with the distribution. -* Neither the name of Intel Corporation nor the names of its suppliers - may be used to endorse or promote products derived from this software - without specific prior written permission. -* No reverse engineering, decompilation, or disassembly of this software - is permitted. - -Limited patent license. Intel Corporation grants a world-wide, -royalty-free, non-exclusive license under patents it now or hereafter -owns or controls to make, have made, use, import, offer to sell and -sell ("Utilize") this software, but solely to the extent that any -such patent is necessary to Utilize the software alone, or in -combination with an operating system licensed under an approved Open -Source license as listed by the Open Source Initiative at -http://opensource.org/licenses. The patent license shall not apply to -any other combinations which include this software. No hardware per -se is licensed hereunder. - -DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. diff --git a/sys/contrib/dev/iwlwififw/WHENCE b/sys/contrib/dev/iwlwififw/WHENCE deleted file mode 100644 index ef6fbe552049..000000000000 --- a/sys/contrib/dev/iwlwififw/WHENCE +++ /dev/null @@ -1,483 +0,0 @@ -Driver: iwlwifi - Intel Wireless Wifi - -File: iwlwifi-3945-2.ucode -Version: 15.32.2.9 - -File: iwlwifi-4965-2.ucode -Version: 228.61.2.24 - -File: iwlwifi-5000-1.ucode -Version: 5.4.A.11 (aka 5.4.1.16) - -File: iwlwifi-5000-2.ucode -Version: 8.24.2.12 - -File: iwlwifi-5000-5.ucode -Version: 8.83.5.1 - -File: iwlwifi-5150-2.ucode -Version: 8.24.2.2 - -File: iwlwifi-1000-3.ucode -Version: 128.50.3.1 - -File: iwlwifi-1000-5.ucode -Version: 39.31.5.1 - -File: iwlwifi-6000-4.ucode -Version: 9.221.4.1 - -File: iwlwifi-6050-4.ucode -Version: 9.201.4.1 - -File: iwlwifi-6050-5.ucode -Version: 41.28.5.1 - -File: iwlwifi-6000g2a-5.ucode -Version: 17.168.5.3 - -File: iwlwifi-6000g2a-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-6000g2b-5.ucode -Version: 17.168.5.1 - -File: iwlwifi-6000g2b-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-135-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-100-5.ucode -Version: 39.31.5.1 - -File: iwlwifi-105-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-2030-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-2000-6.ucode -Version: 18.168.6.1 - -File: iwlwifi-7260-17.ucode -Version: 17.bfb58538.0 - -File: iwlwifi-3160-17.ucode -Version: 17.bfb58538.0 - -File: iwlwifi-7265-17.ucode -Version: 17.bfb58538.0 - -File: iwlwifi-7265D-22.ucode -Version: 22.391740.0 - -File: iwlwifi-7265D-27.ucode -Version: 27.541033.0 - -File: iwlwifi-7265D-29.ucode -Version: 29.f2390aa8.0 - -File: iwlwifi-3168-22.ucode -Version: 22.391740.0 - -File: iwlwifi-3168-27.ucode -Version: 27.541033.0 - -File: iwlwifi-3168-29.ucode -Version: 29.0bd893f3.0 - -File: iwlwifi-8000C-22.ucode -Version: 22.391740.0 - -File: iwlwifi-8000C-27.ucode -Version: 27.541033.0 - -File: iwlwifi-8000C-31.ucode -Version: 31.560484.0 - -File: iwlwifi-8000C-34.ucode -Version: 34.610288.0 - -File: iwlwifi-8000C-36.ucode -Version: 36.ca7b901d.0 - -File: iwlwifi-8265-22.ucode -Version: 22.391740.0 - -File: iwlwifi-8265-27.ucode -Version: 27.541033.0 - -File: iwlwifi-8265-31.ucode -Version: 31.560484.0 - -File: iwlwifi-8265-34.ucode -Version: 34.610288.0 - -File: iwlwifi-8265-36.ucode -Version: 36.ca7b901d.0 - -File: iwlwifi-9000-pu-b0-jf-b0-33.ucode -Version: 33.610294.0 - -File: iwlwifi-9000-pu-b0-jf-b0-34.ucode -Version: 34.ba501b11.0 - -File: iwlwifi-9000-pu-b0-jf-b0-38.ucode -Version: 38.755cfdd8.0 - -File: iwlwifi-9000-pu-b0-jf-b0-41.ucode -Version: 41.fc1a7aea.0 - -File: iwlwifi-9000-pu-b0-jf-b0-43.ucode -Version: 43.95eb4e97.0 - -File: iwlwifi-9000-pu-b0-jf-b0-46.ucode -Version: 46.9d0122c0.0 - -File: iwlwifi-9260-th-b0-jf-b0-33.ucode -Version: 33.610294.0 - -File: iwlwifi-9260-th-b0-jf-b0-34.ucode -Version: 34.ba501b11.0 - -File: iwlwifi-9260-th-b0-jf-b0-38.ucode -Version: 38.755cfdd8.0 - -File: iwlwifi-9260-th-b0-jf-b0-41.ucode -Version: 41.fc1a7aea.0 - -File: iwlwifi-9260-th-b0-jf-b0-43.ucode -Version: 43.95eb4e97.0 - -File: iwlwifi-9260-th-b0-jf-b0-46.ucode -Version: 46.9d0122c0.0 - -File: iwlwifi-cc-a0-46.ucode -Version: 46.3cfab8da.0 - -File: iwlwifi-cc-a0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-Qu-b0-hr-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-Qu-b0-jf-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-Qu-c0-hr-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-Qu-c0-jf-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-QuZ-a0-hr-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-QuZ-a0-jf-b0-48.ucode -Version: 48.4fa0041f.0 - -File: iwlwifi-cc-a0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-Qu-b0-hr-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-Qu-b0-jf-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-Qu-c0-hr-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-Qu-c0-jf-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-QuZ-a0-hr-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-QuZ-a0-jf-b0-50.ucode -Version: 50.3e391d3e.0 - -File: iwlwifi-cc-a0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-Qu-b0-hr-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-Qu-b0-jf-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-Qu-c0-hr-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-Qu-c0-jf-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-QuZ-a0-hr-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-QuZ-a0-jf-b0-53.ucode -Version: 53.c31ac674.0 - -File: iwlwifi-cc-a0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-Qu-b0-hr-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-Qu-b0-jf-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-Qu-c0-hr-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-Qu-c0-jf-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-QuZ-a0-hr-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-QuZ-a0-jf-b0-55.ucode -Version: 55.d9698065.0 - -File: iwlwifi-cc-a0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-Qu-b0-hr-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-Qu-b0-jf-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-Qu-c0-hr-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-Qu-c0-jf-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-QuZ-a0-hr-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-QuZ-a0-jf-b0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-so-a0-gf-a0-64.ucode -Version: 64.97bbee0a.0 - -File: iwlwifi-so-a0-gf-a0-67.ucode -Version: 67.8f59b80b.0 - -File: iwlwifi-so-a0-gf4-a0-67.ucode -Version: 67.8f59b80b.0 - -File: iwlwifi-so-a0-gf-a0.pnvm - -File: iwlwifi-so-a0-gf4-a0.pnvm - -File: iwlwifi-so-a0-hr-b0-64.ucode -Version: 64.97bbee0a.0 - -File: iwlwifi-so-a0-jf-b0-64.ucode -Version: 64.97bbee0a.0 - -File: iwlwifi-ty-a0-gf-a0-59.ucode -Version: 59.601f3a66.0 - -File: iwlwifi-cc-a0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-Qu-b0-hr-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-Qu-b0-jf-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-Qu-c0-hr-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-Qu-c0-jf-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-QuZ-a0-hr-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-QuZ-a0-jf-b0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-ty-a0-gf-a0-62.ucode -Version: 62.49eeb572.0 - -File: iwlwifi-cc-a0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-cc-a0-67.ucode -Version: 67.8f59b80b.0 - -File: iwlwifi-Qu-b0-hr-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-Qu-b0-jf-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-Qu-c0-hr-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-Qu-c0-jf-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-QuZ-a0-hr-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-QuZ-a0-hr-b0-67.ucode -Version: 67.8f59b80b.0 - -File: iwlwifi-QuZ-a0-jf-b0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-ty-a0-gf-a0-63.ucode -Version: 63.c04f3485.0 - -File: iwlwifi-cc-a0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-Qu-b0-hr-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-Qu-b0-jf-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-Qu-c0-hr-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-Qu-c0-jf-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-QuZ-a0-hr-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-QuZ-a0-jf-b0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-ty-a0-gf-a0-66.ucode -Version: 66.f1c864e0.0 - -File: iwlwifi-ty-a0-gf-a0-67.ucode -Version: 67.8f59b80b.0 - -File: iwlwifi-cc-a0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-Qu-b0-hr-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-Qu-b0-jf-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-Qu-c0-hr-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-Qu-c0-jf-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-QuZ-a0-hr-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-QuZ-a0-jf-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-ty-a0-gf-a0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-so-a0-gf4-a0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-so-a0-gf-a0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-so-a0-hr-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-so-a0-jf-b0-68.ucode -Version: 68.01d30b0c.0 - -File: iwlwifi-cc-a0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-Qu-b0-hr-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-Qu-b0-jf-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-Qu-c0-hr-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-Qu-c0-jf-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-QuZ-a0-hr-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-QuZ-a0-jf-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-ty-a0-gf-a0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-so-a0-gf4-a0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-so-a0-gf-a0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-so-a0-hr-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-so-a0-jf-b0-71.ucode -Version: 71.058653f6.0 - -File: iwlwifi-cc-a0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-Qu-b0-hr-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-Qu-b0-jf-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-Qu-c0-hr-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-Qu-c0-jf-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-QuZ-a0-hr-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-QuZ-a0-jf-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-ty-a0-gf-a0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-so-a0-gf4-a0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-so-a0-gf-a0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-so-a0-hr-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-so-a0-jf-b0-73.ucode -Version: 73.35c0a2c6.0 - -File: iwlwifi-so-a0-gf-a0.pnvm - -File: iwlwifi-so-a0-gf4-a0.pnvm - -File: iwlwifi-ty-a0-gf-a0.pnvm - -Licence: Redistributable. See LICENCE.iwlwifi_firmware for details - -Also available from http://wireless.kernel.org/en/users/Drivers/iwlwifi#Firmware diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-3160-17.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-3160-17.ucode deleted file mode 100644 index 95b26df9d56d..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-3160-17.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-3168-29.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-3168-29.ucode deleted file mode 100644 index 1759561ec203..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-3168-29.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-7260-17.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-7260-17.ucode deleted file mode 100644 index b1a87d52cdd1..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-7260-17.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-7265-17.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-7265-17.ucode deleted file mode 100644 index f4a549cce6ed..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-7265-17.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-7265D-29.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-7265D-29.ucode deleted file mode 100644 index 7c513f669790..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-7265D-29.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-8000C-36.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-8000C-36.ucode deleted file mode 100644 index e4988f6b421e..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-8000C-36.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-8265-36.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-8265-36.ucode deleted file mode 100644 index 60fda3b7d45b..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-8265-36.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode deleted file mode 100644 index 9af424f1ce06..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-46.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode deleted file mode 100644 index 4c2b25e585cb..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-9260-th-b0-jf-b0-46.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode deleted file mode 100644 index de6cd8b98985..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-hr-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode deleted file mode 100644 index ad87490d470b..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-b0-jf-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode deleted file mode 100644 index 37e1c7af3f16..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-hr-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-jf-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-jf-b0-77.ucode deleted file mode 100644 index bd0b2b249894..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-Qu-c0-jf-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode deleted file mode 100644 index 256997390af6..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-hr-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode deleted file mode 100644 index 7c2a06a2dd2e..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-QuZ-a0-jf-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-cc-a0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-cc-a0-77.ucode deleted file mode 100644 index d138e34af24d..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-cc-a0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode deleted file mode 100644 index a1444bab2622..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm deleted file mode 100644 index 3cdb0b522b22..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0-83.ucode deleted file mode 100644 index dbb15f487716..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0-83.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0.pnvm deleted file mode 100644 index 9dad35a1f5f5..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf-a0.pnvm and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0-83.ucode deleted file mode 100644 index 1bc07d83ac07..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0-83.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0.pnvm deleted file mode 100644 index 86b9a7c63776..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-gf4-a0.pnvm and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-hr-b0-81.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-hr-b0-81.ucode deleted file mode 100644 index fc8558c6cc90..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-hr-b0-81.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-jf-b0-77.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-jf-b0-77.ucode deleted file mode 100644 index 3649a1c89238..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-so-a0-jf-b0-77.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0-83.ucode deleted file mode 100644 index 3fdd6d5a0d9a..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0-83.ucode and /dev/null differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0.pnvm deleted file mode 100644 index 68b8668df93d..000000000000 Binary files a/sys/contrib/dev/iwlwififw/iwlwifi-ty-a0-gf-a0.pnvm and /dev/null differ diff --git a/sys/modules/Makefile b/sys/modules/Makefile index c7015c61c705..1db14cfa647d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -194,7 +194,6 @@ SUBDIR= \ ${_iwi} \ ${_iwifw} \ ${_iwlwifi} \ - ${_iwlwififw} \ ${_iwm} \ ${_iwmfw} \ ${_iwn} \ @@ -567,9 +566,6 @@ _mlx5ib= mlx5ib _ena= ena _gve= gve _iwlwifi= iwlwifi -.if ${MK_SOURCELESS_UCODE} != "no" -_iwlwififw= iwlwififw -.endif _rtw88= rtw88 .if ${MK_SOURCELESS_UCODE} != "no" _rtw88fw= rtw88fw diff --git a/sys/modules/iwlwififw/Makefile b/sys/modules/iwlwififw/Makefile deleted file mode 100644 index 756fb2f73af7..000000000000 --- a/sys/modules/iwlwififw/Makefile +++ /dev/null @@ -1,31 +0,0 @@ - -SUBDIR= \ - iwlwifi-3160-fw \ - iwlwifi-3168-fw \ - iwlwifi-7260-fw \ - iwlwifi-7265-fw \ - iwlwifi-7265D-fw \ - iwlwifi-8000C-fw \ - iwlwifi-8265-fw \ - iwlwifi-9000-pu-b0-jf-b0-fw \ - iwlwifi-9260-th-b0-jf-b0-fw \ - iwlwifi-Qu-b0-hr-b0-fw \ - iwlwifi-Qu-b0-jf-b0-fw \ - iwlwifi-Qu-c0-hr-b0-fw \ - iwlwifi-Qu-c0-jf-b0-fw \ - iwlwifi-QuZ-a0-hr-b0-fw \ - iwlwifi-QuZ-a0-jf-b0-fw \ - iwlwifi-cc-a0-fw \ - iwlwifi-gl-c0-fm-c0-fw \ - iwlwifi-gl-c0-fm-c0-pnvm \ - iwlwifi-so-a0-gf-a0-fw \ - iwlwifi-so-a0-gf4-a0-fw \ - iwlwifi-so-a0-hr-b0-fw \ - iwlwifi-so-a0-jf-b0-fw \ - iwlwifi-ty-a0-gf-a0-fw \ - iwlwifi-so-a0-gf-a0-pnvm \ - iwlwifi-so-a0-gf4-a0-pnvm \ - iwlwifi-ty-a0-gf-a0-pnvm - - -.include diff --git a/sys/modules/iwlwififw/Makefile.inc b/sys/modules/iwlwififw/Makefile.inc deleted file mode 100644 index ea3e88783809..000000000000 --- a/sys/modules/iwlwififw/Makefile.inc +++ /dev/null @@ -1,19 +0,0 @@ - -# Common rules for building iwlwifi firmware. - -EXT?= ucode -_NAME?= iwlwifi-${NAME}-${FWVERSION}.${EXT} - -IMG= ${_NAME} -KMOD= ${_NAME} - -CLEANFILES+= ${IMG} - -FIRMWS= ${IMG}:${IMG}:${FWVERSION} - -# License ack is not needed for iwlwifi (same as iwn/iwm). -#FIRMWARE_LICENSE= - -${IMG}: ${SRCTOP}/sys/contrib/dev/iwlwififw/${IMG} - cp ${.ALLSRC} ${.TARGET} - diff --git a/sys/modules/iwlwififw/iwlwifi-3160-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-3160-fw/Makefile deleted file mode 100644 index 69d537c89754..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-3160-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 17 -NAME= 3160 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-3168-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-3168-fw/Makefile deleted file mode 100644 index 2e98c2148a79..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-3168-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 29 -NAME= 3168 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-7260-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-7260-fw/Makefile deleted file mode 100644 index befd607a269e..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-7260-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 17 -NAME= 7260 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-7265-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-7265-fw/Makefile deleted file mode 100644 index 42d7c508dd1b..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-7265-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 17 -NAME= 7265 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-7265D-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-7265D-fw/Makefile deleted file mode 100644 index 37af2799e1eb..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-7265D-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 29 -NAME= 7265D - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-8000C-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-8000C-fw/Makefile deleted file mode 100644 index 0b3efe221d08..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-8000C-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 36 -NAME= 8000C - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-8265-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-8265-fw/Makefile deleted file mode 100644 index 5f238c8aa619..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-8265-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 36 -NAME= 8265 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-fw/Makefile deleted file mode 100644 index 03b5d5d142d2..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-9000-pu-b0-jf-b0-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 46 -NAME= 9000-pu-b0-jf-b0 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-9260-th-b0-jf-b0-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-9260-th-b0-jf-b0-fw/Makefile deleted file mode 100644 index 37ae25a4a836..000000000000 --- a/sys/modules/iwlwififw/iwlwifi-9260-th-b0-jf-b0-fw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ - -FWVERSION= 46 -NAME= 9260-th-b0-jf-b0 - -.include diff --git a/sys/modules/iwlwififw/iwlwifi-Qu-b0-hr-b0-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-Qu-b0-hr-b0-fw/Makefile deleted file mode 100644 index e781e790a048..000000000000 *** 192 LINES SKIPPED *** From nobody Fri Apr 18 14:37:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRK4Kxtz5stnd; Fri, 18 Apr 2025 14:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHRK1494z3L9r; Fri, 18 Apr 2025 14:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahpI70erEiyrXqjjYsrYWry8y/Kodi03ItscdDc+f34=; b=KseRTeCKUxAkv6jdaiJeiQ4DvDXk39H61f/PAY9gD63fDd/o87797BPDjjxpIpTLVSO/qp AFYbP5Ea3lfLTRJH+7kksJBdOi6n5K6jwgpcdf3xwGN/UoEUDxu6n74BqbmrukYnivIGYK fpbb7EHldoQbw3/WX7/ODFg+F/TTag2zChKfF/iKL+OlxWqGLL08rUjBKuX29NZZd+H/pn 8XZ2yAWLbjJafhyiJ3rIB4fbXGc2KfYGM19hC/oYY2+5tEa9yMxJOLUx/EfLDLo40s+GS4 I3pr3rbBGvxu3J30HWEusdyRiF/k+HhziVEYsBw9r8cDYf6sbjQU5Bc9zzENmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987053; a=rsa-sha256; cv=none; b=T27elyDUvs4cMTbMFVBQBvLVnYTHUPDPVs41r4cU3MYMgwSXp8+PjuDRn6N2UclhBDCDtP C4SOqT6UbbEMRGv/aYgv8i0PZLzTVhBwQJ/MlUsBeqKjgHRakWBgxLAtIhfb8I1NCZDDYy q5ta3sTwEZs2UUlGNNFcWhFAOBfqsbMsoJtnD7kg8BNt87Vz4fGiZoLtYKLtGvh4hCXYB1 kalqxIm1etD/b4cOEQz/2X7l5m2bul03KYrXGZ0mkCLVvZEoM2fQWJTJI//NnVlMl6t0QZ Mnx3IVznXyHc7BJWc4NYY8kICJHg9qKW4QRuPlJeuoSlpKZpVagHzz3ONYtORw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahpI70erEiyrXqjjYsrYWry8y/Kodi03ItscdDc+f34=; b=sMSzOf3ar3kno/rjV0ZVLb2SnbCmHzqrhjmO7/dUfkpUh8TOR22rVyGmhHj7Z/bRTJC8PL Dhn63DWN3gUyRm7xypqH5jzHwzUC72Q/+XQyUuJHPtCUe8ye5aLozNfYksOBHWUJw0yjfJ xrLnYzyyqisVFPA83CWnOCWCQVbk5ZVImmvF75Iued3p6fKrlmN4keIY3JzXRwNj2np6CR S4Pj2Wx7NiCgH2Hh7n30M0PQnGpewbzdJcAc4FpwMVefxMJ+N8a4xWqkZi9kICjWBPuzw3 +odRDyXmJC19clqqEg8nHydlIugpFQbmMPsSdu8sQLPt37GXXLPctyQfkfQOXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRK0bdVzfF4; Fri, 18 Apr 2025 14:37: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 53IEbWgW092472; Fri, 18 Apr 2025 14:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbWTk092469; Fri, 18 Apr 2025 14:37:32 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:32 GMT Message-Id: <202504181437.53IEbWTk092469@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a3b2d8e360c3 - stable/14 - Bump __FreeBSD_version to 1402505 for LinuxKPI alloc routine changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: a3b2d8e360c37853035f9cede6064c4602312bfc Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a3b2d8e360c37853035f9cede6064c4602312bfc commit a3b2d8e360c37853035f9cede6064c4602312bfc Author: Bjoern A. Zeeb AuthorDate: 2025-04-12 20:47:09 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 Bump __FreeBSD_version to 1402505 for LinuxKPI alloc routine changes Also for iwlwifi firmware removal. Sponsored by: The FreeBSD Foundation (cherry picked from commit 7acd5af48cf1870ec48d5910dff1a26466d98074) --- UPDATING | 6 ++++++ sys/sys/param.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 2e5dc88a49c4..65fb2f8b8c4a 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,12 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20250419: + LinuxKPI alloc routines were changed to return physically contiguous + memory where expected. These changes may require out-of-tree drivers + to be recompiled. + Bump __FreeBSD_version to 1402505 to be able to detect this change. + 20250419: Intel iwlwifi firmware has been removed from the src repository. Before updating their system, users of iwlwifi(4) or iwx(4) must diff --git a/sys/sys/param.h b/sys/sys/param.h index 12a0e2098fec..954e18cb48cf 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1402504 +#define __FreeBSD_version 1402505 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Apr 18 15:12:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfJCR3QNnz5sxKL; Fri, 18 Apr 2025 15:12: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 4ZfJCR0zHZz3nF9; Fri, 18 Apr 2025 15:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744989139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WFSzmkbqYb7rjZW8T1e7M7WauOp3Yt1WR+0TgajFetI=; b=ojQAG8fUArDhnDFYDXRSpktlbw6nwqM45UM7tAo/5JQEc1k31bvWdpU2+XguQ1ZH3vf1kk XnAG2u5nXBr1DIGRx8rc2In9X4hQz9K/RWeR8gLrmjLKH3kT0L0EYL+i+TwlMl2YK5Ikh1 RC25UvnhtV2Oydy7zwMHAQXEuC6AJ5jIJeVbXpUVRRniUqlLrWXXe2RDaN0kGbnkLbqE4l DJ83/e9qdpuD4W2unsz58cwBBEqK7Z4auNyd4+Y03dQeoQiW9Jp5qgGHaXLJr67PMyzNKD Cntpp3g5JSCwFV+tGpe+106mwi+yxbyvawzPlvyngrcP1EmZyh5Mwnfs4YjA+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744989139; a=rsa-sha256; cv=none; b=WwP3UxOCUcIXjQMhAeBLdb9lblIRvG7oQdDA8etO1tm470GUet2YrrMhUyzH0u8ilwmXVR g+IVST5IBZDa5nziq0UyKzG2Uezf1PWKKeC/3l2RZjaoQjGFMtMsCrAxB/CxLgPaF9Lm1x oaCJ1DHv7Y5UjARhvfIzQv/J5jL8+m1vlHWzTeyoRL6juiZ+m25CGhB2zml2VlQoDoJ1Cj zk6zQUcv0q02nE0oVh077iQde6KYmlB0CZ97GnjrkkYB5xmUM1RcLhfzy6PxTZAf6wZ+J7 H0+0wFZciuZ1W4iVtLrUZxMbyMDOpwMeTo20VbzYutG5KegJcAScHq5Pekw3nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744989139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WFSzmkbqYb7rjZW8T1e7M7WauOp3Yt1WR+0TgajFetI=; b=rYlYKZuCRvuwUaJqXo8MuLCsSfj35XaH37xs0M2eqAIjLcwoCkuZ5Q41W0qH8l5l+VWD61 w/GddGcm9u0Y3GNXPWeAGYqedFPwVHcoKPeE2ec4IqGMSGb6wwdRQ2+pAkyfdT0sd3n/+4 xDBMd5Sx8TXvSVuLTuJQ567dE7xpsSpb5lL3lb/wcwZYeN6szr6YjTyeLwG7eBFoxBmRiy crBHUh6nUVwSNtUhrOWzMHVOPn0Td00Wj9MCsf2r0k+7Yo9yzxfy+E0UQATJYjspsuOwpU 8vNzliuWUpXFV0FNmMA5JOKbXQu3c60J8NUZtw8dUxirVk41zIx6NxtFrYPRSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfJCR0ZGWzfy4; Fri, 18 Apr 2025 15:12: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 53IFCIYg065620; Fri, 18 Apr 2025 15:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IFCIIF065617; Fri, 18 Apr 2025 15:12:18 GMT (envelope-from git) Date: Fri, 18 Apr 2025 15:12:18 GMT Message-Id: <202504181512.53IFCIIF065617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0015baeb19eb - main - pf: Avoid logging state creation failures unless requested List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0015baeb19eb500130d905a162c8f16a17d85b7c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0015baeb19eb500130d905a162c8f16a17d85b7c commit 0015baeb19eb500130d905a162c8f16a17d85b7c Author: Mark Johnston AuthorDate: 2025-04-18 13:35:58 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 15:11:50 +0000 pf: Avoid logging state creation failures unless requested pd.act.log is applied unconditionally, but the intent in commit 886396f1b1a7 was to log only if the rule specifically requested it. Thus, check the rule and associated NAT rule before setting PF_LOG_FORCE. For consistency with other handling of memory allocation failures, we also want to log if state creation failed for that reason. Thus, modify pf_create_state() to return the drop reason. Extend the regression test added in commit 886396f1b1a7 to check that we don't log anything if a state creation failure occurs for a rule without logging configured. Fixes: 886396f1b1a7 ("pf: Force logging if pf_create_state() fails") Reviewed by: kp MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D49352 --- sys/netpfil/pf/pf.c | 31 +++++++++++++++++-------------- tests/sys/netpfil/pf/pflog.sh | 14 +++++++++++++- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5d16af6c6d4b..88e9ef78f07c 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -348,7 +348,8 @@ static int pf_create_state(struct pf_krule *, struct pf_krule *, struct pf_krule *, struct pf_pdesc *, struct pf_state_key *, struct pf_state_key *, int *, struct pf_kstate **, int, u_int16_t, u_int16_t, - struct pf_krule_slist *, struct pf_udp_mapping *); + struct pf_krule_slist *, struct pf_udp_mapping *, + u_short *); static int pf_state_key_addr_setup(struct pf_pdesc *, struct pf_state_key_cmp *, int); static int pf_tcp_track_full(struct pf_kstate *, @@ -5972,11 +5973,13 @@ nextrule: action = pf_create_state(r, nr, a, pd, nk, sk, &rewrite, sm, tag, bproto_sum, bip_sum, - &match_rules, udp_mapping); + &match_rules, udp_mapping, reason); sk = nk = NULL; if (action != PF_PASS) { pf_udp_mapping_release(udp_mapping); - pd->act.log |= PF_LOG_FORCE; + if (r->log || (nr != NULL && nr->log) || + *reason == PFRES_MEMORY) + pd->act.log |= PF_LOG_FORCE; if (action == PF_DROP && (r->rule_flag & PFRULE_RETURN)) pf_return(r, nr, pd, th, @@ -6061,7 +6064,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_pdesc *pd, struct pf_state_key *nk, struct pf_state_key *sk, int *rewrite, struct pf_kstate **sm, int tag, u_int16_t bproto_sum, u_int16_t bip_sum, struct pf_krule_slist *match_rules, - struct pf_udp_mapping *udp_mapping) + struct pf_udp_mapping *udp_mapping, u_short *reason) { struct pf_kstate *s = NULL; struct pf_ksrc_node *sns[PF_SN_MAX] = { NULL }; @@ -6073,7 +6076,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_srchash *snhs[PF_SN_MAX] = { NULL }; struct tcphdr *th = &pd->hdr.tcp; u_int16_t mss = V_tcp_mssdflt; - u_short reason, sn_reason; + u_short sn_reason; struct pf_krule_item *ri; struct pf_kpool *pool_route = &r->route; @@ -6081,14 +6084,14 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (r->max_states && (counter_u64_fetch(r->states_cur) >= r->max_states)) { counter_u64_add(V_pf_status.lcounters[LCNT_STATES], 1); - REASON_SET(&reason, PFRES_MAXSTATES); + REASON_SET(reason, PFRES_MAXSTATES); goto csfailed; } /* src node for limits */ if ((r->rule_flag & PFRULE_SRCTRACK) && (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, NULL, NULL, PF_SN_LIMIT)) != 0) { - REASON_SET(&reason, sn_reason); + REASON_SET(reason, sn_reason); goto csfailed; } /* src node for route-to rule */ @@ -6097,19 +6100,19 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if ((pool_route->opts & PF_POOL_STICKYADDR) && (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, &pd->act.rt_addr, pd->act.rt_kif, PF_SN_ROUTE)) != 0) { - REASON_SET(&reason, sn_reason); + REASON_SET(reason, sn_reason); goto csfailed; } /* src node for translation rule */ if (nr != NULL && (nr->rdr.opts & PF_POOL_STICKYADDR) && (sn_reason = pf_insert_src_node(sns, snhs, nr, &sk->addr[pd->sidx], pd->af, &nk->addr[1], NULL, PF_SN_NAT)) != 0 ) { - REASON_SET(&reason, sn_reason); + REASON_SET(reason, sn_reason); goto csfailed; } s = pf_alloc_state(M_NOWAIT); if (s == NULL) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(reason, PFRES_MEMORY); goto csfailed; } s->rule = r; @@ -6197,11 +6200,11 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (pd->proto == IPPROTO_TCP) { if (s->state_flags & PFSTATE_SCRUB_TCP && pf_normalize_tcp_init(pd, th, &s->src)) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(reason, PFRES_MEMORY); goto csfailed; } if (s->state_flags & PFSTATE_SCRUB_TCP && s->src.scrub && - pf_normalize_tcp_stateful(pd, &reason, th, s, + pf_normalize_tcp_stateful(pd, reason, th, s, &s->src, &s->dst, rewrite)) { /* This really shouldn't happen!!! */ DPFPRINTF(PF_DEBUG_URGENT, @@ -6236,7 +6239,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (pf_state_insert(BOUND_IFACE(s, pd), pd->kif, (pd->dir == PF_IN) ? sk : nk, (pd->dir == PF_IN) ? nk : sk, s)) { - REASON_SET(&reason, PFRES_STATEINS); + REASON_SET(reason, PFRES_STATEINS); goto drop; } else *sm = s; @@ -6271,7 +6274,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, th->th_sport, s->src.seqhi, ntohl(th->th_seq) + 1, TH_SYN|TH_ACK, 0, s->src.mss, 0, M_SKIP_FIREWALL, 0, 0, pd->act.rtableid); - REASON_SET(&reason, PFRES_SYNPROXY); + REASON_SET(reason, PFRES_SYNPROXY); return (PF_SYNPROXY_DROP); } diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index fdd9af6316d0..a34ec893a75c 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -238,7 +238,7 @@ state_max_body() cat pflog.txt # Second ping is blocked due to the state limit. - atf_check -o match:".*rule 0/0\(match\): block in on ${epair}a: 192.0.2.2 > 192.0.2.1: ICMP echo request.*" \ + atf_check -o match:".*rule 0/12\(state-limit\): block in on ${epair}a: 192.0.2.2 > 192.0.2.1: ICMP echo request.*" \ cat pflog.txt # At most three lines should be written: one for the first ping, and @@ -246,6 +246,18 @@ state_max_body() # then a drop because of the state limit. Ideally only the drop would # be logged; if this is fixed, the count will be 2 instead of 3. atf_check -o match:3 grep -c . pflog.txt + + # If the rule doesn't specify logging, we shouldn't log drops + # due to state limits. + pft_set_rules alcatraz "pass inet keep state (max 1)" + + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + + atf_check -s exit:2 -o ignore \ + ping -c 1 192.0.2.1 + + atf_check -o match:3 grep -c . pflog.txt } state_max_cleanup() From nobody Fri Apr 18 15:12:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfJCS2kLKz5sxPq; Fri, 18 Apr 2025 15:12: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 4ZfJCS1hNkz3nFF; Fri, 18 Apr 2025 15:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744989140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bopkws0HLLRXj0KC68zj/42W1qxG1bwDd/jJYgsDjmA=; b=YD14SExR+SaVNhpbohBhLyWglNoLsq1kzYrDhcOMT+QqJ9n8dgXFR0RK/7rWeRWINKfZ6m exoHIqrHK/BX3czwyjmglBgRftOzbSNPqB/uIPiw+YmmHL9/RRL6VUIt77wN0O7okfBPD2 nDfnhHqnEuiLP2C9tzXGka/hmSh3kfR0mxCe/FJPoFtgIyLVNmY8n+b+LJh0vCz6LmnrWz 20IOH2anYaFXzVu43qwVjc1tJ6WCS/oOfm7m2wfODYDErB069aZZd7RGztM88/Z+gs1J+D NNcE3U8pzM9751DH7HOB3Jmw/qxvQb1RIiofHinKl7NF42LWoGmTzcUNLQM2kQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744989140; a=rsa-sha256; cv=none; b=v+QehZPamjFN9cdJo5Ttgkacz5NTRTJCpR2Hf9bT4EmObeybceOAE/umG9AYu4UfytKm5K N7OsTRb8xmXpkAtrjmoYc4B6CdS/QyYyOUrxnYv7TE2KKuZJfeK77PEaqj5IXs9jkbPXgj BT1jtqyEHupfAwkbe8jwRIaLyY8jkGJZZaN4pyPo+eOmRTd52lJNi3PFDOzbYuW2RpFCcd rybduh+b4HIU2rGfXvgliXpicV7fdAHrexfzLMrrvFNFJMjH2S0A7pK37K5gnqUZtbhtyy Va7D2hvuu0zlyeq9eP/urBljh77FKIB0oX2laE490gpb+J6b2r3yDGSFJQCLBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744989140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bopkws0HLLRXj0KC68zj/42W1qxG1bwDd/jJYgsDjmA=; b=rm5DhK41ytm0UXnWXOy9CD+/dplL2HjVXXbr8rKKv61VTsn+7zYdPmQ16hidyQfc+jRuKX 52Jcdpp7G+ZuJBPiIEGTQKPz0lc03N98tNqm/qB0QBdb6vkjiRW9IDBg/F9FG4a+zUINTT Q/70ehuqHURy4qTrbqSQ4YJ4BLFLle/xwWNyCUeqDJ/SapizrQVhmSKMuDuXOc8qjSe2KD zQMwf8ac7lWpvnUsxuQap9Yjgqpx3Ou32Q8s06RoYxduCnBXdf1Upxo3R/aO7u+5xzVegb eLqAftBRU91Qdz8CKD7StUvY3HwLf11BDP3CnU7IkWeobIjrFk4Q4aHWUwP+WA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfJCS0mCwzfy5; Fri, 18 Apr 2025 15:12: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 53IFCKfr065656; Fri, 18 Apr 2025 15:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IFCKGn065651; Fri, 18 Apr 2025 15:12:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 15:12:20 GMT Message-Id: <202504181512.53IFCKGn065651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: fb2ea26f3c36 - main - libalias: Handle GetNewPort() errors properly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb2ea26f3c3681f5ef639af9c798a631d800864b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fb2ea26f3c3681f5ef639af9c798a631d800864b commit fb2ea26f3c3681f5ef639af9c798a631d800864b Author: Mark Johnston AuthorDate: 2025-04-18 13:37:46 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 15:11:51 +0000 libalias: Handle GetNewPort() errors properly AddLink() fails when memory allocation fails or no free port is available; both are error conditions. However, functions such as FindUdpTcpIn() were converting such failures to PKT_ALIAS_IGNORED, which effectively means, "pass the packet without translation," which isn't what we want. Fix the problem by making sure that AddLink() errors are converted to PKT_ALIAS_ERROR where appropriate. The diff is a bit large but is mostly mechanical: functions like TcpAliasOut() are converted to return a result code, and an additional out-parameter is added to return the alias_link pointer. Reported by: Yuxiang Yang Tested by: Yuxiang Yang MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D47778 --- sys/netinet/libalias/alias.c | 164 +++++++++++++++++++++--------------- sys/netinet/libalias/alias_db.c | 88 +++++++++++++------ sys/netinet/libalias/alias_irc.c | 4 +- sys/netinet/libalias/alias_local.h | 26 +++--- sys/netinet/libalias/alias_skinny.c | 4 +- sys/netinet/libalias/alias_smedia.c | 4 +- 6 files changed, 178 insertions(+), 112 deletions(-) diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c index 7858e4d2b9f3..6758813f6a21 100644 --- a/sys/netinet/libalias/alias.c +++ b/sys/netinet/libalias/alias.c @@ -290,13 +290,14 @@ IcmpAliasIn1(struct libalias *la, struct ip *pip) { struct alias_link *lnk; struct icmp *ic; + int ret; LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); /* Get source address from ICMP data field and restore original data */ - lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); - if (lnk != NULL) { + ret = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1, &lnk); + if (ret == PKT_ALIAS_OK) { u_short original_id; int accumulate; @@ -319,10 +320,8 @@ IcmpAliasIn1(struct libalias *la, struct ip *pip) &original_address, &pip->ip_dst, 2); pip->ip_dst = original_address; } - - return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); + return (ret); } /* @@ -337,6 +336,7 @@ IcmpAliasIn2(struct libalias *la, struct ip *pip) struct udphdr *ud; struct tcphdr *tc; struct alias_link *lnk; + int ret; LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); @@ -346,18 +346,26 @@ IcmpAliasIn2(struct libalias *la, struct ip *pip) tc = (struct tcphdr *)ip_next(ip); ic2 = (struct icmp *)ip_next(ip); - if (ip->ip_p == IPPROTO_UDP) - lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, + if (ip->ip_p == IPPROTO_UDP) { + ret = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, ud->uh_dport, ud->uh_sport, - IPPROTO_UDP, 0); - else if (ip->ip_p == IPPROTO_TCP) - lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, + IPPROTO_UDP, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else if (ip->ip_p == IPPROTO_TCP) { + ret = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, tc->th_dport, tc->th_sport, - IPPROTO_TCP, 0); - else if (ip->ip_p == IPPROTO_ICMP) { - if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP) - lnk = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); - else + IPPROTO_TCP, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else if (ip->ip_p == IPPROTO_ICMP) { + if (ic2->icmp_type == ICMP_ECHO || + ic2->icmp_type == ICMP_TSTAMP) { + ret = FindIcmpIn(la, ip->ip_dst, ip->ip_src, + ic2->icmp_id, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else lnk = NULL; } else lnk = NULL; @@ -479,13 +487,15 @@ IcmpAliasOut1(struct libalias *la, struct ip *pip, int create) { struct alias_link *lnk; struct icmp *ic; + int ret; LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); /* Save overwritten data for when echo packet returns */ - lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create); - if (lnk != NULL) { + ret = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, create, + &lnk); + if (ret == PKT_ALIAS_OK) { u_short alias_id; int accumulate; @@ -508,10 +518,8 @@ IcmpAliasOut1(struct libalias *la, struct ip *pip, int create) &alias_address, &pip->ip_src, 2); pip->ip_src = alias_address; } - - return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); + return (ret); } /* @@ -526,6 +534,7 @@ IcmpAliasOut2(struct libalias *la, struct ip *pip) struct udphdr *ud; struct tcphdr *tc; struct alias_link *lnk; + int ret; LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); @@ -535,18 +544,26 @@ IcmpAliasOut2(struct libalias *la, struct ip *pip) tc = (struct tcphdr *)ip_next(ip); ic2 = (struct icmp *)ip_next(ip); - if (ip->ip_p == IPPROTO_UDP) - lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, + if (ip->ip_p == IPPROTO_UDP) { + ret = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, ud->uh_dport, ud->uh_sport, - IPPROTO_UDP, 0); - else if (ip->ip_p == IPPROTO_TCP) - lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, + IPPROTO_UDP, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else if (ip->ip_p == IPPROTO_TCP) { + ret = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, tc->th_dport, tc->th_sport, - IPPROTO_TCP, 0); - else if (ip->ip_p == IPPROTO_ICMP) { - if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP) - lnk = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); - else + IPPROTO_TCP, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else if (ip->ip_p == IPPROTO_ICMP) { + if (ic2->icmp_type == ICMP_ECHO || + ic2->icmp_type == ICMP_TSTAMP) { + ret = FindIcmpOut(la, ip->ip_dst, ip->ip_src, + ic2->icmp_id, 0, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + } else lnk = NULL; } else lnk = NULL; @@ -661,14 +678,15 @@ ProtoAliasIn(struct libalias *la, struct in_addr ip_src, struct ip *pip, u_char ip_p, u_short *ip_sum) { struct alias_link *lnk; + int ret; LIBALIAS_LOCK_ASSERT(la); /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); - lnk = FindProtoIn(la, ip_src, pip->ip_dst, ip_p); - if (lnk != NULL) { + ret = FindProtoIn(la, ip_src, pip->ip_dst, ip_p, &lnk); + if (ret == PKT_ALIAS_OK) { struct in_addr original_address; original_address = GetOriginalAddress(lnk); @@ -677,10 +695,8 @@ ProtoAliasIn(struct libalias *la, struct in_addr ip_src, DifferentialChecksum(ip_sum, &original_address, &pip->ip_dst, 2); pip->ip_dst = original_address; - - return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); + return (ret); } /* @@ -693,6 +709,7 @@ ProtoAliasOut(struct libalias *la, struct ip *pip, struct in_addr ip_dst, u_char ip_p, u_short *ip_sum, int create) { struct alias_link *lnk; + int ret; LIBALIAS_LOCK_ASSERT(la); @@ -703,8 +720,8 @@ ProtoAliasOut(struct libalias *la, struct ip *pip, if (!create) return (PKT_ALIAS_IGNORED); - lnk = FindProtoOut(la, pip->ip_src, ip_dst, ip_p); - if (lnk != NULL) { + ret = FindProtoOut(la, pip->ip_src, ip_dst, ip_p, &lnk); + if (ret == PKT_ALIAS_OK) { struct in_addr alias_address; alias_address = GetAliasAddress(lnk); @@ -713,10 +730,8 @@ ProtoAliasOut(struct libalias *la, struct ip *pip, DifferentialChecksum(ip_sum, &alias_address, &pip->ip_src, 2); pip->ip_src = alias_address; - - return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); + return (ret); } #define MF_ISSET(_pip) (ntohs((_pip)->ip_off) & IP_MF) @@ -745,6 +760,7 @@ UdpAliasIn(struct libalias *la, struct ip *pip) { struct udphdr *ud; struct alias_link *lnk; + int ret; LIBALIAS_LOCK_ASSERT(la); @@ -752,10 +768,12 @@ UdpAliasIn(struct libalias *la, struct ip *pip) if (ud == NULL) return (PKT_ALIAS_IGNORED); - lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, + ret = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, ud->uh_sport, ud->uh_dport, - IPPROTO_UDP, !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)); - if (lnk != NULL) { + IPPROTO_UDP, !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY), &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + { struct in_addr alias_address; struct in_addr original_address; struct in_addr proxy_address; @@ -828,7 +846,6 @@ UdpAliasIn(struct libalias *la, struct ip *pip) return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); } static int @@ -840,7 +857,7 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) struct in_addr proxy_server_address; u_short dest_port; u_short proxy_server_port; - int proxy_type; + int proxy_type, ret; LIBALIAS_LOCK_ASSERT(la); @@ -877,10 +894,12 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) pip->ip_dst = proxy_server_address; ud->uh_dport = proxy_server_port; } - lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, + ret = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, ud->uh_sport, ud->uh_dport, - IPPROTO_UDP, create); - if (lnk != NULL) { + IPPROTO_UDP, create, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + { u_short alias_port; struct in_addr alias_address; struct alias_data ad = { @@ -930,7 +949,6 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); } static int @@ -939,6 +957,7 @@ TcpAliasIn(struct libalias *la, struct ip *pip) struct tcphdr *tc; struct alias_link *lnk; size_t dlen; + int ret; LIBALIAS_LOCK_ASSERT(la); @@ -947,11 +966,12 @@ TcpAliasIn(struct libalias *la, struct ip *pip) return (PKT_ALIAS_IGNORED); tc = (struct tcphdr *)ip_next(pip); - lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, + ret = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, tc->th_sport, tc->th_dport, IPPROTO_TCP, - !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)); - if (lnk != NULL) { + !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY), + &lnk); + if (ret == PKT_ALIAS_OK) { struct in_addr alias_address; struct in_addr original_address; struct in_addr proxy_address; @@ -1057,13 +1077,13 @@ TcpAliasIn(struct libalias *la, struct ip *pip) return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); + return (ret); } static int TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) { - int proxy_type; + int proxy_type, ret; u_short dest_port; u_short proxy_server_port; size_t dlen; @@ -1108,12 +1128,12 @@ TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) accumulate -= twowords(&pip->ip_dst); ADJUST_CHECKSUM(accumulate, pip->ip_sum); } - lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, + ret = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, tc->th_sport, tc->th_dport, - IPPROTO_TCP, create); - if (lnk == NULL) - return (PKT_ALIAS_IGNORED); - if (lnk != NULL) { + IPPROTO_TCP, create, &lnk); + if (ret != PKT_ALIAS_OK) + return (ret); + { u_short alias_port; struct in_addr alias_address; int accumulate; @@ -1177,7 +1197,6 @@ TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create) return (PKT_ALIAS_OK); } - return (PKT_ALIAS_IGNORED); } /* Fragment Handling @@ -1581,17 +1600,24 @@ LibAliasUnaliasOut(struct libalias *la, ic = (struct icmp *)ip_next(pip); /* Find a link */ - if (pip->ip_p == IPPROTO_UDP) - lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, + if (pip->ip_p == IPPROTO_UDP) { + iresult = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, ud->uh_dport, ud->uh_sport, - IPPROTO_UDP, 0); - else if (pip->ip_p == IPPROTO_TCP) - lnk = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, + IPPROTO_UDP, 0, &lnk); + if (iresult != PKT_ALIAS_OK) + goto getout; + } else if (pip->ip_p == IPPROTO_TCP) { + iresult = FindUdpTcpIn(la, pip->ip_dst, pip->ip_src, tc->th_dport, tc->th_sport, - IPPROTO_TCP, 0); - else if (pip->ip_p == IPPROTO_ICMP) - lnk = FindIcmpIn(la, pip->ip_dst, pip->ip_src, ic->icmp_id, 0); - else + IPPROTO_TCP, 0, &lnk); + if (iresult != PKT_ALIAS_OK) + goto getout; + } else if (pip->ip_p == IPPROTO_ICMP) { + iresult = FindIcmpIn(la, pip->ip_dst, pip->ip_src, + ic->icmp_id, 0, &lnk); + if (iresult != PKT_ALIAS_OK) + goto getout; + } else lnk = NULL; /* Change it from an aliased packet to an unaliased packet */ diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c index b09e41935d93..732adb8afa83 100644 --- a/sys/netinet/libalias/alias_db.c +++ b/sys/netinet/libalias/alias_db.c @@ -1049,15 +1049,19 @@ FindLinkByInternalEndpoint(struct libalias *la, struct in_addr src_addr, (prototypes in alias_local.h) */ -struct alias_link * +int FindIcmpIn(struct libalias *la, struct in_addr dst_addr, struct in_addr alias_addr, u_short id_alias, - int create) + int create, + struct alias_link **lnkp) { struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + lnk = FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, id_alias, LINK_ICMP, 0); @@ -1068,19 +1072,26 @@ FindIcmpIn(struct libalias *la, struct in_addr dst_addr, lnk = AddLink(la, target_addr, dst_addr, alias_addr, id_alias, NO_DEST_PORT, id_alias, LINK_ICMP); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } -struct alias_link * +int FindIcmpOut(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, u_short id, - int create) + int create, + struct alias_link **lnkp) { struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + lnk = FindLinkOut(la, src_addr, dst_addr, id, NO_DEST_PORT, LINK_ICMP, 0); @@ -1091,8 +1102,11 @@ FindIcmpOut(struct libalias *la, struct in_addr src_addr, lnk = AddLink(la, src_addr, dst_addr, alias_addr, id, NO_DEST_PORT, GET_ALIAS_ID, LINK_ICMP); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } struct alias_link * @@ -1146,18 +1160,21 @@ FindFragmentPtr(struct libalias *la, struct in_addr dst_addr, LINK_FRAGMENT_PTR, 0); } -struct alias_link * +int FindProtoIn(struct libalias *la, struct in_addr dst_addr, struct in_addr alias_addr, - u_char proto) + u_char proto, + struct alias_link **lnkp) { struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + lnk = FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, 0, proto, 1); - if (lnk == NULL && !(la->packetAliasMode & PKT_ALIAS_DENY_INCOMING)) { struct in_addr target_addr; @@ -1165,22 +1182,28 @@ FindProtoIn(struct libalias *la, struct in_addr dst_addr, lnk = AddLink(la, target_addr, dst_addr, alias_addr, NO_SRC_PORT, NO_DEST_PORT, 0, proto); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } -struct alias_link * +int FindProtoOut(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, - u_char proto) + u_char proto, + struct alias_link **lnkp) { struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + lnk = FindLinkOut(la, src_addr, dst_addr, NO_SRC_PORT, NO_DEST_PORT, proto, 1); - if (lnk == NULL) { struct in_addr alias_addr; @@ -1188,22 +1211,29 @@ FindProtoOut(struct libalias *la, struct in_addr src_addr, lnk = AddLink(la, src_addr, dst_addr, alias_addr, NO_SRC_PORT, NO_DEST_PORT, 0, proto); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } -struct alias_link * +int FindUdpTcpIn(struct libalias *la, struct in_addr dst_addr, struct in_addr alias_addr, u_short dst_port, u_short alias_port, u_char proto, - int create) + int create, + struct alias_link **lnkp) { int link_type; struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -1212,8 +1242,7 @@ FindUdpTcpIn(struct libalias *la, struct in_addr dst_addr, link_type = LINK_TCP; break; default: - return (NULL); - break; + return (PKT_ALIAS_IGNORED); } lnk = FindLinkIn(la, dst_addr, alias_addr, @@ -1227,22 +1256,30 @@ FindUdpTcpIn(struct libalias *la, struct in_addr dst_addr, lnk = AddLink(la, target_addr, dst_addr, alias_addr, alias_port, dst_port, alias_port, link_type); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); + } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } -struct alias_link * +int FindUdpTcpOut(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, u_short src_port, u_short dst_port, u_char proto, - int create) + int create, + struct alias_link **lnkp) { int link_type; struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); + + *lnkp = NULL; + switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -1251,12 +1288,10 @@ FindUdpTcpOut(struct libalias *la, struct in_addr src_addr, link_type = LINK_TCP; break; default: - return (NULL); - break; + return (PKT_ALIAS_IGNORED); } lnk = FindLinkOut(la, src_addr, dst_addr, src_port, dst_port, link_type, create); - if (lnk == NULL && create) { struct in_addr alias_addr; @@ -1264,8 +1299,11 @@ FindUdpTcpOut(struct libalias *la, struct in_addr src_addr, lnk = AddLink(la, src_addr, dst_addr, alias_addr, src_port, dst_port, GET_ALIAS_PORT, link_type); + if (lnk == NULL) + return (PKT_ALIAS_ERROR); } - return (lnk); + *lnkp = lnk; + return (lnk != NULL ? PKT_ALIAS_OK : PKT_ALIAS_IGNORED); } struct alias_link * diff --git a/sys/netinet/libalias/alias_irc.c b/sys/netinet/libalias/alias_irc.c index e063a67c2902..30cee74fff21 100644 --- a/sys/netinet/libalias/alias_irc.c +++ b/sys/netinet/libalias/alias_irc.c @@ -360,9 +360,9 @@ AliasHandleIrcOut(struct libalias *la, * matter, and this would probably allow it through * at least _some_ firewalls. */ - dcc_lnk = FindUdpTcpOut(la, true_addr, destaddr, + (void)FindUdpTcpOut(la, true_addr, destaddr, true_port, 0, - IPPROTO_TCP, 1); + IPPROTO_TCP, 1, &dcc_lnk); DBprintf(("Got a DCC link\n")); if (dcc_lnk) { struct in_addr alias_address; /* Address from aliasing */ diff --git a/sys/netinet/libalias/alias_local.h b/sys/netinet/libalias/alias_local.h index ef6c89e675d6..7c1dcb0c8eb0 100644 --- a/sys/netinet/libalias/alias_local.h +++ b/sys/netinet/libalias/alias_local.h @@ -239,12 +239,12 @@ struct alias_link * AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, struct in_addr alias_addr, u_short src_port, u_short dst_port, int alias_param, int link_type); -struct alias_link * +int FindIcmpIn(struct libalias *la, struct in_addr _dst_addr, struct in_addr _alias_addr, - u_short _id_alias, int _create); -struct alias_link * + u_short _id_alias, int _create, struct alias_link **_lnkp); +int FindIcmpOut(struct libalias *la, struct in_addr _src_addr, struct in_addr _dst_addr, - u_short _id, int _create); + u_short _id, int _create, struct alias_link **_lnkp); struct alias_link * FindFragmentIn1(struct libalias *la, struct in_addr _dst_addr, struct in_addr _alias_addr, u_short _ip_id); @@ -255,18 +255,20 @@ struct alias_link * AddFragmentPtrLink(struct libalias *la, struct in_addr _dst_addr, u_short _ip_id); struct alias_link * FindFragmentPtr(struct libalias *la, struct in_addr _dst_addr, u_short _ip_id); -struct alias_link * +int FindProtoIn(struct libalias *la, struct in_addr _dst_addr, struct in_addr _alias_addr, - u_char _proto); -struct alias_link * + u_char _proto, struct alias_link **_lnkp); +int FindProtoOut(struct libalias *la, struct in_addr _src_addr, struct in_addr _dst_addr, - u_char _proto); -struct alias_link * + u_char _proto, struct alias_link **_lnkp); +int FindUdpTcpIn(struct libalias *la, struct in_addr _dst_addr, struct in_addr _alias_addr, - u_short _dst_port, u_short _alias_port, u_char _proto, int _create); -struct alias_link * + u_short _dst_port, u_short _alias_port, u_char _proto, int _create, + struct alias_link **_lnkp); +int FindUdpTcpOut(struct libalias *la, struct in_addr _src_addr, struct in_addr _dst_addr, - u_short _src_port, u_short _dst_port, u_char _proto, int _create); + u_short _src_port, u_short _dst_port, u_char _proto, int _create, + struct alias_link **_lnkp); struct alias_link * AddPptp(struct libalias *la, struct in_addr _src_addr, struct in_addr _dst_addr, struct in_addr _alias_addr, u_int16_t _src_call_id); diff --git a/sys/netinet/libalias/alias_skinny.c b/sys/netinet/libalias/alias_skinny.c index d12046d7953f..fd9e15d3ad40 100644 --- a/sys/netinet/libalias/alias_skinny.c +++ b/sys/netinet/libalias/alias_skinny.c @@ -279,9 +279,9 @@ alias_skinny_opnrcvch_ack(struct libalias *la, struct OpenReceiveChannelAck *opn *localIpAddr = (u_int32_t)opnrcvch_ack->ipAddr; null_addr.s_addr = INADDR_ANY; - opnrcv_lnk = FindUdpTcpOut(la, pip->ip_src, null_addr, + (void)FindUdpTcpOut(la, pip->ip_src, null_addr, htons((u_short) opnrcvch_ack->port), 0, - IPPROTO_UDP, 1); + IPPROTO_UDP, 1, &opnrcv_lnk); opnrcvch_ack->ipAddr = (u_int32_t)GetAliasAddress(opnrcv_lnk).s_addr; opnrcvch_ack->port = (u_int32_t)ntohs(GetAliasPort(opnrcv_lnk)); diff --git a/sys/netinet/libalias/alias_smedia.c b/sys/netinet/libalias/alias_smedia.c index 1c4ee0970a53..badd75a45c61 100644 --- a/sys/netinet/libalias/alias_smedia.c +++ b/sys/netinet/libalias/alias_smedia.c @@ -435,8 +435,8 @@ alias_pna_out(struct libalias *la, struct ip *pip, if ((ntohs(msg_id) == 1) || (ntohs(msg_id) == 7)) { memcpy(&port, work, 2); - pna_links = FindUdpTcpOut(la, pip->ip_src, GetDestAddress(lnk), - port, 0, IPPROTO_UDP, 1); + (void)FindUdpTcpOut(la, pip->ip_src, GetDestAddress(lnk), + port, 0, IPPROTO_UDP, 1, &pna_links); if (pna_links != NULL) { #ifndef NO_FW_PUNCH /* Punch hole in firewall */ From nobody Fri Apr 18 15:33:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfJgh0D73z5sygF; Fri, 18 Apr 2025 15:33: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 4ZfJgg6qbGz3xF7; Fri, 18 Apr 2025 15:33:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744990400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3r0pSKgqUI3B0uv62MdUFS62ODRjx2RDct8EC5V+/rk=; b=bt2snuuVrqk5dF/SV7l2N+JIA1LYr89RZJJIRyxcZPOILy+V9A5e8pfltOQ6is9gNre0ki h1bIhl/EslOF6ZnM1nB8ZjxWLid4jVgY1saho/Y+akmDlADVrbkqW552nI0DBIxHNRU6i1 nUyFP2NHsF8W8gAiAIy9YS/Un/PqaunaRe5oCEvJhatXGuuY9WVaGPI2vItGhqwiv4de7z der2Iaoi3fgiCIFnPThvUrNDQEIOKdJTJ0+UTLkM7/Ppx/rOnSuhZ2JAtYAzmKFL6Noz9l S957IciQi7yNo3Wp4aL2pB5eE9DgBdq9bb65lYgTro+l/5TpJyMt1+8NM+yBYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744990400; a=rsa-sha256; cv=none; b=bapeNpHxAFGEgpxRTqSsUYsBJ3f7PLOcXhLKWo3o76QOjwNdjh1jYQymxeO9/2KF0WalUJ 3GCU1h3aHj/KdP9EuHw2pQ0QBBzZN9KOFxknfmDeFWsHsfKPxf4ObJ+VwWfFTTb/Vu+0vy tV9SFubiaHqQlNtfxAQh5jL2vkjmxb9JthtmgLoxJBcF02E3O5+U7Cnj4g2NpTqczSyzd0 TnFFw3PqMgbiD3mVSYXSlf0gxADyw7sCwqAAYOTS+UiZOM9anrA1N9WmSQq3UwiXtrT9ci OKqyQBIVDZYU7+BwQLu4ECZq9+2mZh5BVipFE7NhAGzJi7htV71mbzJFLpS5hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744990400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3r0pSKgqUI3B0uv62MdUFS62ODRjx2RDct8EC5V+/rk=; b=cHP/nXRiVV3Pll66wRsGILzX9kKHKfMnAkMDs8hsFyyAgtnpkHqDPaAfopj7OGjBlFlKRb o2rg6cJI7peGAzSbTm9ENAJal50qyPmN7z1QiujhABXK1Wjdv8sjxXOCA8A5t7zWMJZqPP H2m6L2CstIuBTsM1r5zjrck43A9pM/OTp8nd8xd0hcFtZeXgPcTpHs3EdX7A+QnmN1ylwS h+b4srCj8y3AKtejz73mXiRDli43UZTItnMWtFjh+A76qvwaIvBW3o2eNP8dxxtr67M7SP 4KKQrumYvAi4Xj0iHhmw6EwFcItt9CWOqGWcsy7F/wQzkCQSDA6juSY7cvspjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfJgg6PmBzgV4; Fri, 18 Apr 2025 15:33: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 53IFXJQI003993; Fri, 18 Apr 2025 15:33:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IFXJOb003990; Fri, 18 Apr 2025 15:33:19 GMT (envelope-from git) Date: Fri, 18 Apr 2025 15:33:19 GMT Message-Id: <202504181533.53IFXJOb003990@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: ed080d991586 - main - ptrace_test: add test for the PT_ATTACH behavior on sleeping thread List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: ed080d9915869708a9ab7badc217aff17ebbef6c Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ed080d9915869708a9ab7badc217aff17ebbef6c commit ed080d9915869708a9ab7badc217aff17ebbef6c Author: Konstantin Belousov AuthorDate: 2025-04-18 12:20:20 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-18 15:33:12 +0000 ptrace_test: add test for the PT_ATTACH behavior on sleeping thread Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49887 --- tests/sys/kern/ptrace_test.c | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/sys/kern/ptrace_test.c b/tests/sys/kern/ptrace_test.c index de411af6bc40..5dc235eb9200 100644 --- a/tests/sys/kern/ptrace_test.c +++ b/tests/sys/kern/ptrace_test.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -4464,6 +4465,65 @@ ATF_TC_BODY(ptrace__reap_kill_stopped, tc) REQUIRE_EQ(-1, prk.rk_fpid); } +struct child_res { + struct timespec sleep_time; + int nanosleep_res; + int nanosleep_errno; +}; + +static const long nsec = 1000000000L; +static const struct timespec ten_sec = { + .tv_sec = 10, + .tv_nsec = 0, +}; +static const struct timespec twelve_sec = { + .tv_sec = 12, + .tv_nsec = 0, +}; + +ATF_TC_WITHOUT_HEAD(ptrace__PT_ATTACH_no_EINTR); +ATF_TC_BODY(ptrace__PT_ATTACH_no_EINTR, tc) +{ + struct child_res *shm; + struct timespec rqt, now, wake; + pid_t debuggee; + int status; + + shm = mmap(NULL, sizeof(*shm), PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_ANON, -1, 0); + ATF_REQUIRE(shm != MAP_FAILED); + + ATF_REQUIRE((debuggee = fork()) != -1); + if (debuggee == 0) { + rqt.tv_sec = 10; + rqt.tv_nsec = 0; + clock_gettime(CLOCK_MONOTONIC_PRECISE, &now); + errno = 0; + shm->nanosleep_res = nanosleep(&rqt, NULL); + shm->nanosleep_errno = errno; + clock_gettime(CLOCK_MONOTONIC_PRECISE, &wake); + timespecsub(&wake, &now, &shm->sleep_time); + _exit(0); + } + + /* Give the debuggee some time to go to sleep. */ + sleep(2); + REQUIRE_EQ(ptrace(PT_ATTACH, debuggee, 0, 0), 0); + REQUIRE_EQ(waitpid(debuggee, &status, 0), debuggee); + ATF_REQUIRE(WIFSTOPPED(status)); + REQUIRE_EQ(WSTOPSIG(status), SIGSTOP); + + REQUIRE_EQ(ptrace(PT_DETACH, debuggee, 0, 0), 0); + REQUIRE_EQ(waitpid(debuggee, &status, 0), debuggee); + ATF_REQUIRE(WIFEXITED(status)); + REQUIRE_EQ(WEXITSTATUS(status), 0); + + ATF_REQUIRE(shm->nanosleep_res == 0); + ATF_REQUIRE(shm->nanosleep_errno == 0); + ATF_REQUIRE(timespeccmp(&shm->sleep_time, &ten_sec, >=)); + ATF_REQUIRE(timespeccmp(&shm->sleep_time, &twelve_sec, <=)); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, ptrace__parent_wait_after_trace_me); @@ -4532,6 +4592,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, ptrace__procdesc_reparent_wait_child); ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_getpid); ATF_TP_ADD_TC(tp, ptrace__reap_kill_stopped); + ATF_TP_ADD_TC(tp, ptrace__PT_ATTACH_no_EINTR); return (atf_no_error()); } From nobody Fri Apr 18 15:44:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfJw43SLqz5sypj; Fri, 18 Apr 2025 15:44: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 4ZfJw33Qzsz43Bt; Fri, 18 Apr 2025 15:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744991043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=woJ51CGkTP9rbT8ZfCvxsDFAd9NyRfWMzTmmAU3izKc=; b=rULYxP43lxzuty9hSdL0AYIR1ukU7A1yFegh3UOkl4bqrjMR06PqmTwQ635gOI+p/vfHBI 54b28m7qt9Jbyz+2PzUW3uTvRViJENKE7y8nX4WZpLc3UKw7G8eyjcmr6ZPIa0Jv9lHqFf wMBfgcVGECu8zPiV8M7wUUivW8RkrtII6lirjrlaeE052EQwmZ/wQCsOvelZhV6MtUJo16 p3dSqhF4UjbHgtzD+QdjBNgZhJ93bqxR19iAvfjzZqUzmnNBuXHN00zHmsvZ5ekWvvM+0o qxBWZBhimZyi22AVJBwhDvhxjC/AF7H+sBmLfEhRdpwtCyzEapxkTXbSDEq8iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744991043; a=rsa-sha256; cv=none; b=WyUE7FdRyCL8qpHehp6m/9wZ4wzQjGGp9IHrkkr+cOQUUE6Dm9TF5LDHkvEM8/r69gr4R1 Ds2xcnL22xi0/OOoaszlew1rVrlxiOcy6y86DcF6F8uvwZUmZctJ1tlPJvsTbwgP6wR3VF LHxXWL8n/EfKSELM/vwGe/BjM41i4tk4xZiC6uCqGG8zwfnZHYZNnhb7lk9mK8kX8o+CCp EjLFazAJrl3nJfmMLVvHDyKoGXTUgMN1scchaLBSG1lc8tGPiBps7quw1myfMa0HMWr36+ neaOpVvlhVRa8up+6etcvJCC5MjwaIdvzzfNp9QZ6NzeUM26EU+FvacwmRKZZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744991043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=woJ51CGkTP9rbT8ZfCvxsDFAd9NyRfWMzTmmAU3izKc=; b=Cxlsh+0WloE61dSBfP34QpaOH9H70ZL5RCP8rZd77bjnCuBTCeS4wnzG1bxADKgo674LDX 5nx9btoNXnghNoj376bnuhFvSp2w6isyx2zI0t0Rd0wWk44jR7DcrDKlCGh63OpxJKSkKE +RSvlKFJm8egLRPWPEWCWK7s4UBBQV9WtoSCCSxlYgGwd40UcpcCre+iqVZVLSSeXywkAE TfbPdCRI8s1u4y8hJyhNMIYyg+51GMSaXSCKYFP3vEg/UN8nepdnbVsv/AvD4/CNrOhM7l q6DqATm0ljCyBJRr+3ifDXV5/xS2KMgAmLsfJHYwlWGrrl/M9YtXlAVDnoWxzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfJw32w7jzgkK; Fri, 18 Apr 2025 15:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IFi3KO023356; Fri, 18 Apr 2025 15:44:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IFi3TB023353; Fri, 18 Apr 2025 15:44:03 GMT (envelope-from git) Date: Fri, 18 Apr 2025 15:44:03 GMT Message-Id: <202504181544.53IFi3TB023353@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: b7631876399c - main - vm _radix: define foreach macros for walking pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b7631876399c1d3eff3553778964f141ad1a5e4d Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b7631876399c1d3eff3553778964f141ad1a5e4d commit b7631876399c1d3eff3553778964f141ad1a5e4d Author: Doug Moore AuthorDate: 2025-04-18 15:42:35 +0000 Commit: Doug Moore CommitDate: 2025-04-18 15:42:35 +0000 vm _radix: define foreach macros for walking pages Define VM_RADIX_FOREACH to be TAILQ free equivalent of TAIL_FOREACH, and VM_RADIX_FORALL for walking consecutive pages. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49881 --- sys/vm/vm_radix.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sys/vm/vm_radix.h b/sys/vm/vm_radix.h index e9ee3e7f3911..49ea16079d2b 100644 --- a/sys/vm/vm_radix.h +++ b/sys/vm/vm_radix.h @@ -257,6 +257,18 @@ vm_radix_iter_step(struct pctrie_iter *pages) return (VM_RADIX_PCTRIE_ITER_STEP_GE(pages)); } +/* + * Iterate over each non-NULL page from page 'start' to the end of the object. + */ +#define VM_RADIX_FOREACH_FROM(m, pages, start) \ + for (m = vm_radix_iter_lookup_ge(&pages, start); m != NULL; \ + m = vm_radix_iter_step(&pages)) + +/* + * Iterate over each non-NULL page from the beginning to the end of the object. + */ +#define VM_RADIX_FOREACH(m, pages) VM_RADIX_FOREACH_FROM(m, pages, 0) + /* * Initialize an iterator pointing to the page with the greatest pindex that is * less than or equal to the specified pindex, or NULL if there are no such @@ -295,6 +307,20 @@ vm_radix_iter_next(struct pctrie_iter *pages) return (VM_RADIX_PCTRIE_ITER_NEXT(pages)); } +/* + * Iterate over consecutive non-NULL pages from position 'start' to first NULL + * page. + */ +#define VM_RADIX_FORALL_FROM(m, pages, start) \ + for (m = vm_radix_iter_lookup(&pages, start); m != NULL; \ + m = vm_radix_iter_next(&pages)) + +/* + * Iterate over consecutive non-NULL pages from the beginning to first NULL + * page. + */ +#define VM_RADIX_FORALL(m, pages) VM_RADIX_FORALL_FROM(m, pages, 0) + /* * Update the iterator to point to the page with the pindex that is one less * than the current pindex, or NULL if there is no such page. Return the page. From nobody Fri Apr 18 15:45:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfJxY0V5bz5t0C2; Fri, 18 Apr 2025 15:45: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 4ZfJxX3TT6z43kH; Fri, 18 Apr 2025 15:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744991120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqUVOaa6v7xc/4HlmNpBih1oZv4DtljtvsaVSySWTYo=; b=OKAg0tGy2FIywT+/SrfHfv7cu9fjKRhCTOFZmN69lR59JQfoQFvBQ/K6rYNfdDg8ZXBEMh 94YBr6egovtg2WbjwEuOQx+NDLvc8mK+e5BrUSUt3YfTrQ9BzU5us2tJ6i8JP3gMlYLIe8 GL6rlvW2zEEydTex/TpsjqwkPhWzM1qGvpky0H6tp2DN80jH9ceCMfsrU7ZUKU5Bq4y5EQ 2b8TiQnrI3RVeV6jH+dNdoC9i+d47oOjgFha4a2gmGeAvmbyuHS8s5izDr1Ws6OsGn77xJ Uvnb+UdYChyrKHCSCrXVBFUGkd4D0aXXNdiArP3KruxCeC7RY2MkEUFz2IUOQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744991120; a=rsa-sha256; cv=none; b=srvbcRIJyU3mPyJmZ796sSm6nGQDmPulyk1ahat49Wb4hGK2EGeCF3+lpZ0Get0PVbqxDf +ayY8g1w2tJYuSk19mfXozqz3odzvBXk0160zYY7sH2nevRGc2bXPwDajk7F4r0CJzLkk8 UAX7BRbM4+oyvFrU3E/CPhWOpwBuzhOQjasazD/4FVjojqybSnz5XuYVBsG/nd62h38zAC FPTKPXkcTWR06dqAqgJe500WWk/g7D6V9RG/BLm54THTYZDfA/aAmUvg4rkmkSILE0iq9K BAeE7J7xHW6MKaXnicv/J6cqKyIJ8TZow8sJ26xBBjFWdTCLGumanxjBf2RXjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744991120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqUVOaa6v7xc/4HlmNpBih1oZv4DtljtvsaVSySWTYo=; b=d8jQTEL59Wn5/Gwjelrh540BKwYfl/2xJjM4S7vrU5DOc0Su99fmv+KGm0lEp3ZVlA0SH4 RC6yW/mVAPh18r6U21Kmk0zl9ZCOEKrM/UES3PJkqmdepzvcHGXmGJ5n+XzpTDRMv2Lxdr nyYst2IyStPAGp25JeytDwGT1ytYOGnPFeYjpey+rdrru25tNuw4kzghtwXwb4FtZ1cdPM DexyYfvfJchQjHvCOQt0nMGIvv6DJ7CUWiGEBBbUZyZepL4Cc22qKttt02ARtFPlw/j0nJ pj7kvnKVTMaGEd0JS2GkNmfl2xj2T0Vg6Xr0BLXeSDh7JzbRYh2firo1gncBFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfJxX33b3zgkL; Fri, 18 Apr 2025 15:45: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 53IFjKeC023843; Fri, 18 Apr 2025 15:45:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IFjKrV023840; Fri, 18 Apr 2025 15:45:20 GMT (envelope-from git) Date: Fri, 18 Apr 2025 15:45:20 GMT Message-Id: <202504181545.53IFjKrV023840@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 987ef153c288 - main - pwait tests: Fix some exit annotations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 987ef153c28878c3968420663f6061d6e70540a8 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=987ef153c28878c3968420663f6061d6e70540a8 commit 987ef153c28878c3968420663f6061d6e70540a8 Author: Mark Johnston AuthorDate: 2025-04-18 15:35:18 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 15:44:15 +0000 pwait tests: Fix some exit annotations A number of tests rely on timeout(1) to kill a pwait instance, and with --preserve-status the corresponding exit status is propagated to atf_check. Update the checks to reflect this. MFC after: 2 weeks --- bin/pwait/tests/pwait_test.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/pwait/tests/pwait_test.sh b/bin/pwait/tests/pwait_test.sh index a726c467f57e..66bdd6981704 100644 --- a/bin/pwait/tests/pwait_test.sh +++ b/bin/pwait/tests/pwait_test.sh @@ -87,37 +87,37 @@ time_unit_body() atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 100000000 $init atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 1h $init atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 1.5h $init atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 1m $init atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 1.5m $init atf_check \ -o empty \ -e empty \ - -s exit:143 \ + -s signal:15 \ timeout --preserve-status 2 pwait -t 0 $init # The rest are fast enough that pwait -t is expected to trigger From nobody Fri Apr 18 17:24:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfM7q2ZPdz5t6RF; Fri, 18 Apr 2025 17:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfM7q25r7z3lBW; Fri, 18 Apr 2025 17:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fkK/DVAldp1cDqM6agZaBt9eVjf6AUBEXKWE2EbZ43w=; b=dRlpxhvBjpmCuMFjA6CYGMAwmkLTgC8Hi/FR/R5VLLbUmQA2ownl9PNDPE1qAu927MxzKn IYJFIRIPZfU8h8y05IQjtUVngL2/gf/hkjpBEi1G2FnVfOC6a/BuD5o9jc0OnOF8SyGO07 uUM3yF+0dsV0DxSFyFsOak8F/6BCZBfzBLOdR5NdQaPv7Szfjm/my1+oiGrNJ32V/swayM 4TkOBTCMrrvauVqQ0mOO5HbEcqwW40MuRRqKPnHpxD/75OJDA4fdsVBaY/Xij4kW5mUW4N Atq/cBD661VaGWMXYMFixVPv793WliUkFTSuPtCE/GW5n0I1pQ4Kd/CG0Bop1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744997063; a=rsa-sha256; cv=none; b=ExnyfXqT0bQGClbu/c1SdcBjMYR6At2QKI1cMFn34T9Z52iaAD6mXlddvb/b0ZzKMDXClJ znCk03tkcBFGaehllA7m3nfc0VztOW9PwgQliyze4m4XeIuzYfIYKiv7pS16ozNNPXMRi9 8vDfybbCIPcnIh+Qvrepl8F968EHoOJ2pKq3sUtz27u2ODj0NohpgQkoBT4Qr1dBFDm8rO HIBHAx21TzYaaqMpscJPG1yF0crBDAgXO142SzbQNo9FNX66Ll3mVYxIr/GHC0bZ2rcK0X uK5XIpJwYo27++HHiepN3w6Y15QzkSrxbD7I0gSGbg8tU3c5/DwSF3dRvI7i1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fkK/DVAldp1cDqM6agZaBt9eVjf6AUBEXKWE2EbZ43w=; b=q4//MlB/NsUKvlMvr1iDvJ7OwxOU+W9nF2RAkzs9FaMh6V8hHGmbUL/2DQKxEheRjFsc0Y eKsKsgkEs9oU1PSCcgIdbq93Ml5YkLv/W8UnLr1Ve3kPxTvC3swek46YpmFeHv5z6IdCy2 ofEHUHl+9FFSgUcdINSCUqLSO3bQAMTVN8j0v+m+CsB2lDr5HRuJZBNjXM1Twh/aacX7ub e2lqN0Bqe78yAxxv+sFaVE2WGJdilLQWT+J9BWgHI2+leK7y8A+MYRWAwJbZa3q26WKO6q fRgvlFP+5tmRUWALf0oMfvgXk9nTVHiNpSBrDLgAaSuD2wIOlwY5rICJVUuxfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfM7q1XhPzk5h; Fri, 18 Apr 2025 17:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IHONr2010855; Fri, 18 Apr 2025 17:24:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IHONLj010852; Fri, 18 Apr 2025 17:24:23 GMT (envelope-from git) Date: Fri, 18 Apr 2025 17:24:23 GMT Message-Id: <202504181724.53IHONLj010852@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: fb909f79598f - main - vm_radix: pass pointers to VM_RADIX_FOR macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: fb909f79598fc68d5b79d4718f0edeff8d93c551 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=fb909f79598fc68d5b79d4718f0edeff8d93c551 commit fb909f79598fc68d5b79d4718f0edeff8d93c551 Author: Doug Moore AuthorDate: 2025-04-18 17:15:10 +0000 Commit: Doug Moore CommitDate: 2025-04-18 17:24:04 +0000 vm_radix: pass pointers to VM_RADIX_FOR macros Rather than pass the iterator name to VM_RADIX_FOREACH, and similar macros, pass a pointer to the iterator. Suggested by: kib Reviewed by: kib --- sys/vm/vm_radix.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_radix.h b/sys/vm/vm_radix.h index 49ea16079d2b..df3639091d58 100644 --- a/sys/vm/vm_radix.h +++ b/sys/vm/vm_radix.h @@ -261,8 +261,8 @@ vm_radix_iter_step(struct pctrie_iter *pages) * Iterate over each non-NULL page from page 'start' to the end of the object. */ #define VM_RADIX_FOREACH_FROM(m, pages, start) \ - for (m = vm_radix_iter_lookup_ge(&pages, start); m != NULL; \ - m = vm_radix_iter_step(&pages)) + for (m = vm_radix_iter_lookup_ge(pages, start); m != NULL; \ + m = vm_radix_iter_step(pages)) /* * Iterate over each non-NULL page from the beginning to the end of the object. @@ -312,8 +312,8 @@ vm_radix_iter_next(struct pctrie_iter *pages) * page. */ #define VM_RADIX_FORALL_FROM(m, pages, start) \ - for (m = vm_radix_iter_lookup(&pages, start); m != NULL; \ - m = vm_radix_iter_next(&pages)) + for (m = vm_radix_iter_lookup(pages, start); m != NULL; \ + m = vm_radix_iter_next(pages)) /* * Iterate over consecutive non-NULL pages from the beginning to first NULL From nobody Fri Apr 18 17:24:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfM7s3QRMz5t6Wr; Fri, 18 Apr 2025 17:24: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 4ZfM7r4lb2z3lBY; Fri, 18 Apr 2025 17:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYC5gH4RtxmdmaUtCNCAj0Va24rZJhXKtv6PGxcvrpU=; b=H7RUyA6u4INof3bzvJk41KVr6ZCblHqy+KMD6IOVhXanawp7gM1rA1i/FeHiwB+3Ab4R9a iH8vpoMQLAMXrTbdSf0CDe09jTBzqdEjlHWUAvSMdwmHnr62knWhuCfFRxP+G7yIj24pii xQdvkHVEjrA4dPYwrnMHGGkvQrVDpnpsCD3iLjwxqAPmRLle9zzevAbnINcEdeoi4yqXKF hUDWYB9AkY/6w4AtIFxqIPSkECwomAXPUYAwxUF/6MqWoTrxswT7A+mP54egInSBgnoz+x k2svfHQj4Cg/Qkn9aWVLmeFy63jEZYeVXRZzV/AGuxWx11N8vLgTA9MmXKi+cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744997064; a=rsa-sha256; cv=none; b=QNZkdjH9oLqivNfDqKE4k2mgfqoYS3c5st5JWPMGYHnuJ8G46EF4djpzpFUTVfZJ77xuLD g3spSdMFu4QiVwG55+h4l50GNkO6xoMudU7RmGYBa5VAcsMBAJHY3+RpDpnA0piNKnWq8W 8pLjo/HzL92cilQeN/jR29w/KUL1oKS0y8OJgab+4HIL27PkoIXjyrqn6MYasZDEVaX0Se rX3SsbjzQFUrEpKzKE+k3tKaJlsbUm55p70su5hjhfIjok4ZKGMeKRnmI0S1yypRM+B9RI mtOWvKb004j7R7bxZnZrq9+BTjEwtG1zegokjCtSA2oa6kACdJ4UnOtLhdARLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYC5gH4RtxmdmaUtCNCAj0Va24rZJhXKtv6PGxcvrpU=; b=dYcilFSXIP3uwNh/i0ATlXFxGpXXwOe30oJV0zAwp5RUy/+kj/JsQPc7acpmU8E7HgTQQL 5I/+dhjLTITebLU9cfbVuxGtHeNbkHGFeegeD7S8BSUKWDiJfzFwAF2MPVbqnenxCOZX5W yTN8DPWquqvW6lFeHif2JzfeW0leY0H0o8MAAZ5oKqwAHylLOqqZweWuOGQ55AIMJcL5t6 zfuYDp3kml3q5qND6N1EEQ2nMwXMKThgHmSkU28Y+RpQXIJ84eBiFBJXiMeqqfF6dlCbJU hXaOsfheMStlJFgf6GtQ0IwVpMcOas2IjYH9fIyf2pSa/wzAvghFEfPGOFEU6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfM7r2RSKzjs3; Fri, 18 Apr 2025 17:24: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 53IHOOgR010888; Fri, 18 Apr 2025 17:24:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IHOOHC010885; Fri, 18 Apr 2025 17:24:24 GMT (envelope-from git) Date: Fri, 18 Apr 2025 17:24:24 GMT Message-Id: <202504181724.53IHOOHC010885@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: 4568f5a286a2 - main - kern_kcov: replace vm_page_next() with iterator List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4568f5a286a212fcceaf9a9bb90eabc104829f49 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=4568f5a286a212fcceaf9a9bb90eabc104829f49 commit 4568f5a286a212fcceaf9a9bb90eabc104829f49 Author: Doug Moore AuthorDate: 2025-04-18 17:18:00 +0000 Commit: Doug Moore CommitDate: 2025-04-18 17:24:04 +0000 kern_kcov: replace vm_page_next() with iterator Use VM_RADIX_FORALL, and drop a use of vm_page_next(), in kcov_free(). Reviewed by: kib Differential Revision: kern_kcov: replace vm_page_next() with iterator --- sys/kern/kern_kcov.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/kern/kern_kcov.c b/sys/kern/kern_kcov.c index 19d35a1ad961..1c1d924b8b79 100644 --- a/sys/kern/kern_kcov.c +++ b/sys/kern/kern_kcov.c @@ -396,20 +396,19 @@ kcov_alloc(struct kcov_info *info, size_t entries) static void kcov_free(struct kcov_info *info) { + struct pctrie_iter pages; vm_page_t m; - size_t i; if (info->kvaddr != 0) { pmap_qremove(info->kvaddr, info->bufsize / PAGE_SIZE); kva_free(info->kvaddr, info->bufsize); } if (info->bufobj != NULL) { + vm_page_iter_limit_init(&pages, info->bufobj, + info->bufsize / PAGE_SIZE); VM_OBJECT_WLOCK(info->bufobj); - m = vm_page_lookup(info->bufobj, 0); - for (i = 0; i < info->bufsize / PAGE_SIZE; i++) { + VM_RADIX_FORALL(m, &pages) vm_page_unwire_noq(m); - m = vm_page_next(m); - } VM_OBJECT_WUNLOCK(info->bufobj); vm_object_deallocate(info->bufobj); } From nobody Fri Apr 18 17:24:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfM7t0bKPz5t6Tn; Fri, 18 Apr 2025 17:24: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 4ZfM7s463vz3l3S; Fri, 18 Apr 2025 17:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4s1qeNX4hMIfyiIKN0zBiZZQ+Chi+OBUYcmD1+62TCM=; b=CUb0xH9TLYWBVhibp3PkAzRFSRDjNDOyWarFfZb4z9m2VYmMp1nCn6ZFpM9UnowodnVoDj kg1IwEMr38SL67oO0yb2AbBkVm1RxAy4elq1mi0bejBD/vM6nQJCvKKlNQByEj/K/l0O04 XeOEICpz0vt/lglvhjCDW+d3/qRWMYA+bqBpBtGH3oHiwqncgh3Y3oYp8LlrSDYBfOz3r5 GrxcTB4S0a1WytHHEaQ+xU1jSoNYvY8zYwaM0LQMehR7D2q1HXzHpPeljP3oFQOQxce/JR rfTXN71EWaV9ERi6j17Vxzvq8dm6GOMPCujTXE99vtmUje6lLMAaHRT4ap0qNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744997065; a=rsa-sha256; cv=none; b=UpaKSS3xjAFnyavGoW/YM/+pX095GYixBi2udJvA6cEMiDc7D+bMeVN8AQ0npQs1hVwvcr ZqLqAwMQ0G0W5/3TteeJ4ACMm8195qHIKpecMbGvCUzHPOGoCfPMTerQxuxJrq9hLgJrHr 7m6+NeybLNA+aOwjaL3qYGNbmkmFvZlDf+f5Y2N1chm6TDDDUQ8tiPoSHq2n6gAR8D6tLp OG2Lvgg0ewHvJ3bk0ZcCHqHZg/Z+V1jYqBaj9Stka0kIDHLpdtR3x2d9Z1C/NiefYG1ny3 UU1FWSkywvGOU01sD27jaDAJaEqVSFrPwQWyS2aJsZCWrjGKxhEwF29Y8HmeDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4s1qeNX4hMIfyiIKN0zBiZZQ+Chi+OBUYcmD1+62TCM=; b=xQfOUbUUHLhqjdbuoWjCtkGTeqSoUeYXgz43HqshGRsvfrGKZI7aUK3F0/THI4RFh2CLwT PyPconHn8M5K+NT50jX5Q+VsEqyz4RG6D1zhPxISN4Ln+qjVXjMErjkQ3ZQ1VVIdIJu6BS zvrSesAhxLWNxPoAfohsoRn7WGbTjCaymGGzyHF9yd/OOWaKPFVtba+QYaDDiAqvlFhNu4 fOUewsd9s28RJaAU5hLCwT/0f0vowCQAdWAzgLIshVFnX9IMaIHdxb7Itv2iHyo1w/6djs j1A+nChuXftAHfyNcqDgTBt3Dm5mzj37VZ4MoDUnlhvplYhv15CilacTzkW4Sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfM7s3P9LzkYh; Fri, 18 Apr 2025 17:24: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 53IHOPUk010921; Fri, 18 Apr 2025 17:24:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IHOPmt010918; Fri, 18 Apr 2025 17:24:25 GMT (envelope-from git) Date: Fri, 18 Apr 2025 17:24:25 GMT Message-Id: <202504181724.53IHOPmt010918@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: b01455592c22 - main - amd_idpgtbl: use iterator instead of vm_page_next List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b01455592c22515429a030f47173acd40eb3e218 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b01455592c22515429a030f47173acd40eb3e218 commit b01455592c22515429a030f47173acd40eb3e218 Author: Doug Moore AuthorDate: 2025-04-18 17:20:06 +0000 Commit: Doug Moore CommitDate: 2025-04-18 17:24:04 +0000 amd_idpgtbl: use iterator instead of vm_page_next Use VM_RADIX_FORALL instead of vm_page_next in a loop in amdiommu_domain_free_pgtbl. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49890 --- sys/x86/iommu/amd_idpgtbl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/x86/iommu/amd_idpgtbl.c b/sys/x86/iommu/amd_idpgtbl.c index 7809a4d57926..4ed73675bd41 100644 --- a/sys/x86/iommu/amd_idpgtbl.c +++ b/sys/x86/iommu/amd_idpgtbl.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -103,6 +104,7 @@ amdiommu_domain_alloc_pgtbl(struct amdiommu_domain *domain) void amdiommu_domain_free_pgtbl(struct amdiommu_domain *domain) { + struct pctrie_iter pages; vm_object_t obj; vm_page_t m; @@ -118,7 +120,8 @@ amdiommu_domain_free_pgtbl(struct amdiommu_domain *domain) /* Obliterate ref_counts */ VM_OBJECT_ASSERT_WLOCKED(obj); - for (m = vm_page_lookup(obj, 0); m != NULL; m = vm_page_next(m)) + vm_page_iter_init(&pages, obj); + VM_RADIX_FORALL(m, &pages) vm_page_clearref(m); VM_OBJECT_WUNLOCK(obj); vm_object_deallocate(obj); From nobody Fri Apr 18 17:24:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfM7t6hP0z5t6Fr; Fri, 18 Apr 2025 17:24: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 4ZfM7t43ppz3l3X; Fri, 18 Apr 2025 17:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0tUnocam8a//xrQ5CA83PJ/t6nVmp3EXA0oqp3gEQ+U=; b=puRpfaFOifpELtOROSAZ1eM3hq40gHLqsGOPZMjxcXcXKU6IySitcIm0Y3qShXT73IwXJZ i6aZ5jR8dOBePv8pH5VKIl8Qb1r2u8/E8rye5bX6A9wzKzp5WidUbKqFHggIEG2HeJfG1i jMGm4pbpigJ2QBXMSQT5L+5OI2CLBzHLWc6gbBqpgXRuduML3rQcYWRVSFN3Yb0QWNEAVc lcd8hXnDrHObEZGRw9pduqEmnIWZTk+xjbW1AoqvhUYb7mcJJTCikEkNm0mbVDa61XM4Q9 JDsNFQHlCNYFmAODLMk+s8yhhU8skT5DPvgHUWpDxnhq3BJfNxCpa68vijXYhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744997066; a=rsa-sha256; cv=none; b=T2g0ujF1ChxtK59peHQg5vgo5pCGPtm7dXve0CjDSOaiSUJyQkobqHDeTFGE0T92mNH7+I FN5hxtcPQ7Xe/9Rzv77PZvW+6VCxGJA4QcWnj8Vz8rar44MQWBF42sX2cdAr5fS13T/5rU QjdHMxHVdIG1CHohzrYEtSVxV+ZA6gNrfqOocvJecRBqEVwEhJ3gAZ2avF6d17nA5YiffL FOGPTaRylwByvAGQOo2JuruI2djzUE2xI7TxPIaudud3Q33ZzsTOxK/DkR0gBooaF9nbUU pYNVI0QaN80MxgDyYudmJ/H7nVDRrq6sYhmVzz2qkARTIxLgBn8kyGTAJCJL9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744997066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0tUnocam8a//xrQ5CA83PJ/t6nVmp3EXA0oqp3gEQ+U=; b=EcyBD7NDFJ6U0ufowHLeXfIUWouclv+5FB2U6A1zokeMS9sU2TlQc2h5WamX4xJk2sx60+ DQL4wHN8Dn6BJtG+URuP1bjo4xHESjMy3xR35gbknVZPOzkiTZGBOV5MUtXd3ZC850ZMiJ Giq8UcBf0vG40DPMisbmmqEi0BQ3hxEvkwWpS73jh+wea7xqq+6SpP2yZAgFYaK5rQwdZw dqngzGkzOGQjCdKAEXWzWJfqHTwP4UvNrprTn8/ERS5Hyr4NPYdpewyq3S/9erAyaIiNzI WewhWTPeEGbll6iVO7hTTbpS0VWUsIgh4s9tAmzGIg6vkuWin3ca82M6pv+jTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfM7t3fFfzkYj; Fri, 18 Apr 2025 17:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IHOQJK010960; Fri, 18 Apr 2025 17:24:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IHOQv6010957; Fri, 18 Apr 2025 17:24:26 GMT (envelope-from git) Date: Fri, 18 Apr 2025 17:24:26 GMT Message-Id: <202504181724.53IHOQv6010957@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: 81bd0f46fcf0 - main - intel_idpgtbl: use FORALL macro for page walk List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 81bd0f46fcf07a2748f8093c07ece66227f03ae4 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=81bd0f46fcf07a2748f8093c07ece66227f03ae4 commit 81bd0f46fcf07a2748f8093c07ece66227f03ae4 Author: Doug Moore AuthorDate: 2025-04-18 17:21:48 +0000 Commit: Doug Moore CommitDate: 2025-04-18 17:24:05 +0000 intel_idpgtbl: use FORALL macro for page walk Change two loops to use VM_RADIX_FORALL and drop the use of vm_page_next(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49891 --- sys/x86/iommu/intel_idpgtbl.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/x86/iommu/intel_idpgtbl.c b/sys/x86/iommu/intel_idpgtbl.c index b133dc875515..e13555cdaaba 100644 --- a/sys/x86/iommu/intel_idpgtbl.c +++ b/sys/x86/iommu/intel_idpgtbl.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -165,6 +166,7 @@ dmar_idmap_nextlvl(struct idpgtbl *tbl, int lvl, vm_pindex_t idx, vm_object_t dmar_get_idmap_pgtbl(struct dmar_domain *domain, iommu_gaddr_t maxaddr) { + struct pctrie_iter pages; struct dmar_unit *unit; struct idpgtbl *tbl; vm_object_t res; @@ -260,9 +262,9 @@ end: */ unit = domain->dmar; if (!DMAR_IS_COHERENT(unit)) { + vm_page_iter_init(&pages, res); VM_OBJECT_WLOCK(res); - for (m = vm_page_lookup(res, 0); m != NULL; - m = vm_page_next(m)) + VM_RADIX_FORALL(m, &pages) pmap_invalidate_cache_pages(&m, 1); VM_OBJECT_WUNLOCK(res); } @@ -707,6 +709,7 @@ dmar_domain_alloc_pgtbl(struct dmar_domain *domain) void dmar_domain_free_pgtbl(struct dmar_domain *domain) { + struct pctrie_iter pages; vm_object_t obj; vm_page_t m; @@ -728,7 +731,8 @@ dmar_domain_free_pgtbl(struct dmar_domain *domain) /* Obliterate ref_counts */ VM_OBJECT_ASSERT_WLOCKED(obj); - for (m = vm_page_lookup(obj, 0); m != NULL; m = vm_page_next(m)) { + vm_page_iter_init(&pages, obj); + VM_RADIX_FORALL(m, &pages) { vm_page_clearref(m); vm_wire_sub(1); } From nobody Fri Apr 18 17:30:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfMHS0wzfz5t6dk; Fri, 18 Apr 2025 17:31:00 +0000 (UTC) (envelope-from unkadoug@gmail.com) Received: from mail-oa1-x2d.google.com (mail-oa1-x2d.google.com [IPv6:2001:4860:4864:20::2d]) (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 4ZfMHQ4nY9z3pb8; Fri, 18 Apr 2025 17:30:58 +0000 (UTC) (envelope-from unkadoug@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=UM7N+Kxk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of unkadoug@gmail.com designates 2001:4860:4864:20::2d as permitted sender) smtp.mailfrom=unkadoug@gmail.com Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-2d060c62b61so1131200fac.0; Fri, 18 Apr 2025 10:30:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744997457; x=1745602257; darn=freebsd.org; h=in-reply-to:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=ua3i0REfvIY8pd2B46VObl5g3EFGWWuUBb+veyhiZVY=; b=UM7N+Kxkh07+J7zxO4edt+ejxZpGvBFQLNCAc/fFqtiWhhEvNLJ2JJQrrBHdHRrCT0 dGoy0JphXazGd/AIwBpXq3SpL3H7zqg3ixrHRUlFeaLYgBc8eiNPExaMOdY3TXZRf4p8 OUf+bkGMHnRsuufEZWN8bfo5OcnmunoPeHe3sOB59w502N+eBhZiRiYSyK0wx8IU6SdF PNFlkPz76FcyM20JT1FxowWjYS0hMQtGH+w+QRPkIn/1xcaBlyhnT8RTPw4ovRw+GYRe QxE7QaXSqNn6QUCxCjNJySW54RLjSl0aPDBuem8q7zpzPXnPTtg7atALda/AXKdTtHbh QvYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744997457; x=1745602257; h=in-reply-to:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ua3i0REfvIY8pd2B46VObl5g3EFGWWuUBb+veyhiZVY=; b=PO+6nwCV9jDSkgSuvw8ZspL8C5s12jJMkZUecV6hPt/lGGAVQifOvrVIAHzRpDtU8O f6M3ymy0y1oxIVfYd+WH37XyjdlXb19oHTwMsVGcpLXKB2fK0wx+j1kFaOMGuoT4n+DT PBkA/oyLSjbqRvZtVcVn1+jMyIxLWJPYkF76zBo4Fu3sazMox4PwTdlQfFkPMItkg+l/ 0mTT7vvtOUvh6MRGDH8i7i6byBJrZQPuhVlojRiUuVdLD8n+4Wnfc0DIpPiT0CnsjKB/ 587JqoiRMhD+SFOeprt2Lio8Swz9d0Yld7FGZ1od58Ygn9xBzJg5TMRd5891l4FJehKy 1aiQ== X-Forwarded-Encrypted: i=1; AJvYcCX5RZZMJp2LjMcoC9bxieDnj3QEvPaxKxRNPvtR+wD8LWq6Hw2zraBYDoM9O5gfeNSjJG//TQHHfS6j+Wpmr0SMXNia@freebsd.org, AJvYcCXMjWq7gMd55Wujon3efODsQbqIGZ4QfffEWlYr9PaB+WNqHp/OfckMGjHyVDyHv34XCGxiXak+64FwDNpjJgy891R9B78=@freebsd.org X-Gm-Message-State: AOJu0Yx5/KYaYTwRwprulCeCLVSCy2LxEqsftr2sfOLCdEzPEuwiXQ0J QTaiyGq32LkqsWEm/K/tIkeeP6esHmu0eg7YzjCxI27RxtGJ+L74zE+MXw== X-Gm-Gg: ASbGncu+3w7XMvYWheczpot46EQF9XNuYjOgd/AkZzQ5TBHLjB48EQXqZwTcbp/g2Ht e3O+753GbpPFnt6C/bewXkU2NBCU7R4XPHPBJOYXsgqWndGYsJxWltUr/APjWuLr0ifie25ZPn+ vcFojThESXRfTqJ2KZbtfcWInjMdxG/EsTbFbnQJQf5F11NHIcY3EsTcekCNUnWIi1ynL4nt1HX /mE1xMKEsXrCIZbr81vIr9hIQE0DF1RKRcHZ8zL2HaIBWSI/cihTHfRGplN4XYMOvAOwaITt5N/ QIK3dJi3qgFbgGLUQDObhBg3JHuNQ3c8lNwP478JcNalRPBh6XsehWThdBaCGOJLPsHzSHQSKRJ OtE70Ws4BVGPmWCPq6LVFDvk= X-Google-Smtp-Source: AGHT+IFbVDTr/fR9mf5+TBeNYSSDxPjUMOet7H7CD+AwosiSEEo+fScgc+JXawAEGlcA139HIJFbAg== X-Received: by 2002:a05:6870:ec8e:b0:2d4:c55b:199a with SMTP id 586e51a60fabf-2d526af63cbmr1867412fac.18.1744997457241; Fri, 18 Apr 2025 10:30:57 -0700 (PDT) Received: from [108.254.203.202] (108-254-203-202.lightspeed.hstntx.sbcglobal.net. [108.254.203.202]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2d52181deb6sm539374fac.46.2025.04.18.10.30.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 18 Apr 2025 10:30:56 -0700 (PDT) From: Doug Moore X-Google-Original-From: Doug Moore Content-Type: multipart/alternative; boundary="------------7ZyFIGUXlhTJX41dsmdrxWpp" Message-ID: <854342c4-0bcf-45c7-874f-8e5388d16f09@freebsd.org> Date: Fri, 18 Apr 2025 12:30:55 -0500 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 4568f5a286a2 - main - kern_kcov: replace vm_page_next() with iterator To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202504181724.53IHOOHC010885@gitrepo.freebsd.org> Content-Language: en-US In-Reply-To: <202504181724.53IHOOHC010885@gitrepo.freebsd.org> X-Spamd-Result: default: False [1.87 / 15.00]; MID_RHS_MATCH_TO(1.00)[]; NEURAL_SPAM_LONG(0.75)[0.753]; NEURAL_SPAM_SHORT(0.63)[0.635]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_SPAM_MEDIUM(0.48)[0.482]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_FROM(0.00)[gmail.com]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCPT_COUNT_THREE(0.00)[3]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::2d:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+] X-Rspamd-Queue-Id: 4ZfMHQ4nY9z3pb8 X-Spamd-Bar: + This is a multi-part message in MIME format. --------------7ZyFIGUXlhTJX41dsmdrxWpp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit An unfortunate copy/paste error.  Make that Differential Revision:https://reviews.freebsd.org/D49889 On 4/18/25 12:24, Doug Moore wrote: > The branch main has been updated by dougm: > > URL:https://cgit.FreeBSD.org/src/commit/?id=4568f5a286a212fcceaf9a9bb90eabc104829f49 > > commit 4568f5a286a212fcceaf9a9bb90eabc104829f49 > Author: Doug Moore > AuthorDate: 2025-04-18 17:18:00 +0000 > Commit: Doug Moore > CommitDate: 2025-04-18 17:24:04 +0000 > > kern_kcov: replace vm_page_next() with iterator > > Use VM_RADIX_FORALL, and drop a use of vm_page_next(), in kcov_free(). > > Reviewed by: kib > Differential Revision: kern_kcov: replace vm_page_next() with iterator > --- > sys/kern/kern_kcov.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/sys/kern/kern_kcov.c b/sys/kern/kern_kcov.c > index 19d35a1ad961..1c1d924b8b79 100644 > --- a/sys/kern/kern_kcov.c > +++ b/sys/kern/kern_kcov.c > @@ -396,20 +396,19 @@ kcov_alloc(struct kcov_info *info, size_t entries) > static void > kcov_free(struct kcov_info *info) > { > + struct pctrie_iter pages; > vm_page_t m; > - size_t i; > > if (info->kvaddr != 0) { > pmap_qremove(info->kvaddr, info->bufsize / PAGE_SIZE); > kva_free(info->kvaddr, info->bufsize); > } > if (info->bufobj != NULL) { > + vm_page_iter_limit_init(&pages, info->bufobj, > + info->bufsize / PAGE_SIZE); > VM_OBJECT_WLOCK(info->bufobj); > - m = vm_page_lookup(info->bufobj, 0); > - for (i = 0; i < info->bufsize / PAGE_SIZE; i++) { > + VM_RADIX_FORALL(m, &pages) > vm_page_unwire_noq(m); > - m = vm_page_next(m); > - } > VM_OBJECT_WUNLOCK(info->bufobj); > vm_object_deallocate(info->bufobj); > } --------------7ZyFIGUXlhTJX41dsmdrxWpp Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

An unfortunate copy/paste error.  Make that

Differential Revision: https://reviews.freebsd.org/D49889

On 4/18/25 12:24, Doug Moore wrote:
The branch main has been updated by dougm:

URL: https://cgit.FreeBSD.org/src/commit/?id=4568f5a286a212fcceaf9a9bb90eabc104829f49

commit 4568f5a286a212fcceaf9a9bb90eabc104829f49
Author:     Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2025-04-18 17:18:00 +0000
Commit:     Doug Moore <dougm@FreeBSD.org>
CommitDate: 2025-04-18 17:24:04 +0000

    kern_kcov: replace vm_page_next() with iterator
    
    Use VM_RADIX_FORALL, and drop a use of vm_page_next(), in kcov_free().
    
    Reviewed by:    kib
    Differential Revision:  kern_kcov: replace vm_page_next() with iterator
---
 sys/kern/kern_kcov.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/sys/kern/kern_kcov.c b/sys/kern/kern_kcov.c
index 19d35a1ad961..1c1d924b8b79 100644
--- a/sys/kern/kern_kcov.c
+++ b/sys/kern/kern_kcov.c
@@ -396,20 +396,19 @@ kcov_alloc(struct kcov_info *info, size_t entries)
 static void
 kcov_free(struct kcov_info *info)
 {
+	struct pctrie_iter pages;
 	vm_page_t m;
-	size_t i;
 
 	if (info->kvaddr != 0) {
 		pmap_qremove(info->kvaddr, info->bufsize / PAGE_SIZE);
 		kva_free(info->kvaddr, info->bufsize);
 	}
 	if (info->bufobj != NULL) {
+		vm_page_iter_limit_init(&pages, info->bufobj,
+		    info->bufsize / PAGE_SIZE);
 		VM_OBJECT_WLOCK(info->bufobj);
-		m = vm_page_lookup(info->bufobj, 0);
-		for (i = 0; i < info->bufsize / PAGE_SIZE; i++) {
+		VM_RADIX_FORALL(m, &pages)
 			vm_page_unwire_noq(m);
-			m = vm_page_next(m);
-		}
 		VM_OBJECT_WUNLOCK(info->bufobj);
 		vm_object_deallocate(info->bufobj);
 	}
--------------7ZyFIGUXlhTJX41dsmdrxWpp-- From nobody Fri Apr 18 17:57:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfMsZ48z8z5t8Ns; Fri, 18 Apr 2025 17:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfMsZ3H3Jz43Pg; Fri, 18 Apr 2025 17:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744999026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m26coSeZ/jWs+no10c0IOI/gnNaZ71msVnCDqLyA9vY=; b=tDNAiQ4obyYCg2uAs7QcN52aMFyDubJYQE+9iAPFOdVjGSx3YXgi51IqaD6HjM4ea/Lg4r CczIXwwe5ocyCVe3oCkAQIainI4VJA89Qclb/0zwFvoQuYlve/MsXIFY0mzspdE64SSj4Y WqWWzCSHZgIxmzQWl3zfywS7CD1fvvKZNkunAtba8fc+uBCsGArrHKX/1yulhizRLWulLg Nwn2mSiIkeUOwqKXGrV89Zk3jWMzJU/pvsN99MunbZwqGJj+WNLCteIesvYoZYuGvoWFSk 6NZv/2VkrpS0obZVR+YuxlCCsrkDUEezLoCHljOqKjLK+S9gtWGfFBVIRqX7KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744999026; a=rsa-sha256; cv=none; b=whmZCBA1jALL+znsiNFJVhWMICKsUm1FIwOicyAU+dMwx7JtsUVw21RLC2ARoAzahBWeQM cTaGijR56F8uF7Gf4LASjesOfcwFCR39NgqnF/Ijhlyv9HULVZy104IIPJl2zZ9DHn3nR5 zOuU4Om3neL1SJc5APotwdxI2J9Yl8FPgNh6MgKKjGAvxLEsxvL3HsVbElS2Xn2ZmC45Hn iYOXxh1XXVW+L76Vn8CC4VbrP+MxlNEJWzf8t/fnz0elDuGqCL5vDiATSc+WTuFkcvYXfQ NOt1wjjh1/R/AhmWUjvRgakcPzWdQVjVbmnSZgfSmjrFMsRw6AWaCpOKepaLsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744999026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m26coSeZ/jWs+no10c0IOI/gnNaZ71msVnCDqLyA9vY=; b=pEGbxy1pjAsDsJs5znjeWEX0ZMpCKgE4B2k+1l7FBxY1ynOZA9cwq6nCikoustWtjEAtJ/ LFOpr8KPq7liOjn8/gO5gxK5N3R/aLN9gBUREqTR7ekitP9B47WVNON1xUwl7syWTpRK4N SDWWHsSnxtBE8TKsmRUnDsygmcXYbCIlWV/jigncT2nUsuPztKRHlZ2tePtN0+EnI5N9QK g8qwPLeqhKc7D2lQGHdcGxwF8KmLRA35Mxlq4LOuhNmueXcHNM+fb3rJpi6qG4OwE2bqkc KZnPPcmOIZvI5TxdsmYgmjVWKB54HbXHFqkVUAu25/gAbsBrmMe2IDflcQwo8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfMsZ2sKczlC4; Fri, 18 Apr 2025 17:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IHv6eM067587; Fri, 18 Apr 2025 17:57:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IHv6YK067584; Fri, 18 Apr 2025 17:57:06 GMT (envelope-from git) Date: Fri, 18 Apr 2025 17:57:06 GMT Message-Id: <202504181757.53IHv6YK067584@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d8b03c5904fa - main - vm_pageout: Disallow invalid values for act_scan_laundry_weight List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8b03c5904faff84656d3a84a25c2b37bcbf8075 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d8b03c5904faff84656d3a84a25c2b37bcbf8075 commit d8b03c5904faff84656d3a84a25c2b37bcbf8075 Author: Mark Johnston AuthorDate: 2025-04-18 17:31:27 +0000 Commit: Mark Johnston CommitDate: 2025-04-18 17:56:52 +0000 vm_pageout: Disallow invalid values for act_scan_laundry_weight PR: 234167 MFC after: 2 weeks --- sys/vm/vm_pageout.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 7b303d7d905f..704f1046d727 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -184,8 +184,23 @@ SYSCTL_INT(_vm, OID_AUTO, pageout_oom_seq, "back-to-back calls to oom detector to start OOM"); static int act_scan_laundry_weight = 3; -SYSCTL_INT(_vm, OID_AUTO, act_scan_laundry_weight, CTLFLAG_RWTUN, - &act_scan_laundry_weight, 0, + +static int +sysctl_act_scan_laundry_weight(SYSCTL_HANDLER_ARGS) +{ + int error, newval; + + newval = act_scan_laundry_weight; + error = sysctl_handle_int(oidp, &newval, 0, req); + if (error || req->newptr == NULL) + return (error); + if (newval < 1) + return (EINVAL); + act_scan_laundry_weight = newval; + return (0); +} +SYSCTL_PROC(_vm, OID_AUTO, act_scan_laundry_weight, CTLFLAG_RWTUN | CTLTYPE_INT, + &act_scan_laundry_weight, 0, sysctl_act_scan_laundry_weight, "I", "weight given to clean vs. dirty pages in active queue scans"); static u_int vm_background_launder_rate = 4096; From nobody Fri Apr 18 18:32:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfNfl0NdMz5tBG9; Fri, 18 Apr 2025 18:32: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 4ZfNfk3Bqnz3L7p; Fri, 18 Apr 2025 18:32:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745001166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6cnytdUD6eqpN5Ikwm3ti/SbZynDJBlptRjcKo7UW4w=; b=p+ukzRUQjks4/OeMNU7UpRB6fQhNA0DAbd4f+ixzUD8rHQZ4iFMTAXLWXjWtvnGAMGAyXt IgXUFl3Qvel8pTrVj/qlwQk1Z77ajMF4wrtjQu7LB5m6/crRTOIw8/oSd4hqp8m2T756Lo aXdSmekLy/woiJ7nW92ZAN4AKRVHouzk/eFo7A/a7WM2OUqV7IFgWpalt3PqJaauP0YAjf GnYOwf53p+Xa3RuLysZuGCRqSbrbzVSyo5yXR7NElGPtuvtCzvRD0c7GBh9S5XUW/F1Itd Xemw8kKfKh1n/zljfiWOT5zbn21PVfA3v0H3jsK/b3ouLpBj5KMyiBzDiTYFpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745001166; a=rsa-sha256; cv=none; b=l1N15/Rj+2IdX6J/41qmA0ZF/7scHJaqK3wB0T+mUUPdJ9JmKJwyUZVY1UENiHA9p5YV7u 6SbyAPzEwRvBXmrWTEBf9h87Sl66fR70595/aW7zKEijbpw3LTgca9+P5TkCtp3i3yzeiQ Eehi2QH8iA09Mhw5b0VUVEU2ALWtqfHq0NHVlfhD8MKnSnrw2LCP3uQSc6KyIJ6e9MlCcS 1OOlqdDof3qE8HPHoU7NKriitm9uUzHbXeUGLwFwp2Hkpj3dlIMq8baCdGFDVYDnm/N0jo LaYLAZmczG1feBbRGJ7Nkzg+juFpIlYs6zuwJLKxqsxgX/0BSVHiBFE1yaUJhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745001166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6cnytdUD6eqpN5Ikwm3ti/SbZynDJBlptRjcKo7UW4w=; b=HoRRoouDelqMBqCfOeBq+W3PkFGb7OYjz5P6RoDadRxz++Eagu8kys6vAi3Ggo92UPrdiR H/2O67PlgpTcN6jKyIGLaRfBEdhwx7kuj5xhdpbNf3FlkMgH7LeGucvAGYcIvgfPEhE/D/ sfHg9WLVyk671dcDJUYvmMnHlU+4NX9oxXCBvITVYyQHHR+t4F9yeencAeQH1dyR6CWsg/ igRmNqeropu9hzPhv1aGnGvamhJeOCt4DtoPm+quNi+jrIID+CFhisrLG+21RikFYltJJv uvGJp5ayRkOq3RaoNfBNrxIKQE17J0ENYkLnjMsFqULefSQcyGB6fMiq9kFLyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfNfk2kgFzm91; Fri, 18 Apr 2025 18:32: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 53IIWkK6041073; Fri, 18 Apr 2025 18:32:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IIWkDI041070; Fri, 18 Apr 2025 18:32:46 GMT (envelope-from git) Date: Fri, 18 Apr 2025 18:32:46 GMT Message-Id: <202504181832.53IIWkDI041070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: ea231471d024 - main - Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea231471d024e93279dc2196d6d5d87e199ad55b Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=ea231471d024e93279dc2196d6d5d87e199ad55b commit ea231471d024e93279dc2196d6d5d87e199ad55b Author: Dimitry Andric AuthorDate: 2025-04-18 10:55:36 +0000 Commit: Dimitry Andric CommitDate: 2025-04-18 18:32:12 +0000 Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG When WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG are both set, the cross-tools stage does not build a cross clang binary. This is because the Makefile in usr.bin/clang checks for WITHOUT_CLANG, and skips building the binary. To fix this, ensure that WITH_CLANG is set for the cross-tools phase whenever WITH_CLANG_BOOTSTRAP is set. While here, skip using the Makefile in usr.bin/clang, and directly use the Makefile in usr.bin/clang/clang instead. PR: 286154 Reported by: avg Reviewed by: avg, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49886 --- Makefile.inc1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index a18d10e80f17..4a0e4a884532 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -817,6 +817,7 @@ TMAKE= \ # TOOLS_PREFIX set in BMAKE XMAKE= ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + MK_CLANG=${MK_CLANG_BOOTSTRAP} \ MK_LLDB=no \ MK_LLVM_BINUTILS=no \ MK_TESTS=no @@ -2930,7 +2931,7 @@ _elftctools+= usr.bin/addr2line .endif .if ${MK_CLANG_BOOTSTRAP} != "no" -_clang= usr.bin/clang +_clang= usr.bin/clang/clang .endif .if ${MK_LLD_BOOTSTRAP} != "no" _lld= usr.bin/clang/lld From nobody Fri Apr 18 18:59:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfPG33J0hz5tCyk; Fri, 18 Apr 2025 18:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfPG31ZNwz3bFq; Fri, 18 Apr 2025 18:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745002795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9QBg0Hi0xYvsb0fY2VoQqpK/iikBYVjN0+2f2gIp70o=; b=K2bI0KVDdUEt34KgY6rl/dZxuHbdFlxGaYqo8xZgTm2t/3l3Em2NoemLmrsl+LplOXVgAG gLYVHry7CrEhAgbEU63tUWWpptaNLDNSqbLeE8LGu+locK7rEmNp8AnV5r6IhKTLwCj0P8 JsxoljmuqkK2npxjPKCjMl9MCtMNg8j4VZdhsZnOuvvO/wnysnz01T/x7eCRVXMaPBib2b CABMiiSvLYMLPbWxt81hGl44+HTL/BPQ09+j8WFiH+8Brakp2McGVJJrdHOhk7AWlQ4QgM QXgLCpyV15jizRNciW1fB6jXVq7/kD/YIr8574KbiFAspeqsGJYsSDG/zjzqHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745002795; a=rsa-sha256; cv=none; b=qQ2Jp99ONLxhb4viSO+LoOMuSA365z4IdCQrr/TguQoAYC4sNdA6ZSXdIUbAf6Qx5gw0ua Q4kKVXCJDB7QYFty7+OQbqLt/P/HvrpGNPC7Z8D2vJJm0yd+3mDLz2VQVFbg+gJ9bmcqtx RZndhpNnrjLCHP3qFQvs3Oq31BjO5GiIaOo3pfmxm/uEgz9+GDG0ozK0wLMmsdGFH8vUcq G+eHPCcZPwCcIm/7Hf7Q8Xk5/fSwNP+WpSLQhr4dHPu2pCOL8j4PKDAL9Pzm7EdnfnEBEz O9BZlSuYESjoJA6ea/G9P73XC+n2cwZqtsg2sS+B/8ZSfUxj23InzPX8KygNwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745002795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9QBg0Hi0xYvsb0fY2VoQqpK/iikBYVjN0+2f2gIp70o=; b=Ule/bbCcR9La2wsuabcBN+8/7gdu+LMaXnpd9quaWNveFeyeDlufleXScnZqBM7lNPLbPP AF72X+FQZOiGG36cjHbJbKMSOY6/rIJ869KNQ+AL9wKmMSBwFTXYNdWGIHe8c84BraT7pl jFASlAuZGXamQgnan+7YoEhmP/xgi2pdimRMy/5SS/DmkqvCrMObs3wK1iV7WsetJJnp7Y Dqxl6e6S29cmnMWd4NSsB+uV6k26Gl5qWMx8pWghxBwtuUY+UJK0Nax2+daPmyxojsCVcn SAzvXc8xhp02wRVTAm5aRbgW6Q6by2Mcks3Jiilxm9PTAcVn7W3hHp3TKbx/YQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfPG3191gzm54; Fri, 18 Apr 2025 18:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IIxt5W080626; Fri, 18 Apr 2025 18:59:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IIxtf1080623; Fri, 18 Apr 2025 18:59:55 GMT (envelope-from git) Date: Fri, 18 Apr 2025 18:59:55 GMT Message-Id: <202504181859.53IIxtf1080623@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: a60615d5be83 - main - csu: drop support for GCJ List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a60615d5be83ca050d4ddfbbb4411ca7a8a11486 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a60615d5be83ca050d4ddfbbb4411ca7a8a11486 commit a60615d5be83ca050d4ddfbbb4411ca7a8a11486 Author: Brooks Davis AuthorDate: 2025-04-18 18:49:01 +0000 Commit: Brooks Davis CommitDate: 2025-04-18 18:59:19 +0000 csu: drop support for GCJ Remove .jcr sections and related infrastructure. This has no impact on existing binaries and the toolchain remains capability of linking them, but would require different (or additional) csu files. GCC removed GCJ from trunk in on September 30, 2016. Our support came in with D17587 for compatibility with old object files. It was roughly contemporaneous with GCC 6.5, the last release with GCJ support. At this point we don't even have a compiler port capable of producing GCJ binaries so there is no need to carry this around any more. For reference see: https://en.wikipedia.org/wiki/GNU_Compiler_for_Java#History Reviewed by: kib, emaste Discussed with: imp Sponsored by: SRI International Differential Revision: https://reviews.freebsd.org/D49882 --- lib/csu/common/crtbegin.c | 33 --------------------------------- lib/csu/common/crtend.c | 4 ---- lib/csu/tests/init_test.c | 30 ------------------------------ share/man/man5/elf.5 | 3 +++ 4 files changed, 3 insertions(+), 67 deletions(-) diff --git a/lib/csu/common/crtbegin.c b/lib/csu/common/crtbegin.c index 06fe990052f7..8ef9b8923c21 100644 --- a/lib/csu/common/crtbegin.c +++ b/lib/csu/common/crtbegin.c @@ -98,36 +98,3 @@ asm ( ".popsection \n" ); #endif - -/* - * Handler for gcj. These provide a _Jv_RegisterClasses function and fill - * out the .jcr section. We just need to call this function with a pointer - * to the appropriate section. - */ -extern void _Jv_RegisterClasses(void *) __weak_symbol; -static void register_classes(void) __used; - -static crt_func __JCR_LIST__[] __section(".jcr") __used = { }; - -#ifndef CTORS_CONSTRUCTORS -__attribute__((constructor)) -#endif -static void -register_classes(void) -{ - - if (_Jv_RegisterClasses != NULL && __JCR_LIST__[0] != 0) - _Jv_RegisterClasses(__JCR_LIST__); -} - -/* - * We can't use constructors when they use the .ctors section as they may be - * placed before __CTOR_LIST__. - */ -#ifdef CTORS_CONSTRUCTORS -asm ( - ".pushsection .init \n" - "\t" INIT_CALL_SEQ(register_classes) "\n" - ".popsection \n" -); -#endif diff --git a/lib/csu/common/crtend.c b/lib/csu/common/crtend.c index bf25c1d836a9..9eb75de2ef60 100644 --- a/lib/csu/common/crtend.c +++ b/lib/csu/common/crtend.c @@ -26,10 +26,6 @@ typedef void (*crt_func)(void); -static crt_func __JCR_END__[] __section(".jcr") __used = { - (crt_func)0 -}; - #ifdef HAVE_CTORS /* diff --git a/lib/csu/tests/init_test.c b/lib/csu/tests/init_test.c index 47bd9b7e64d7..2d4484735f76 100644 --- a/lib/csu/tests/init_test.c +++ b/lib/csu/tests/init_test.c @@ -38,9 +38,6 @@ typedef void (*func_ptr)(void); -extern volatile int jcr_run; -extern const func_ptr *jcr_ptr; -extern const void *jcr_func_ptr; extern volatile int ctors_run; extern volatile int preinit_array_run; extern volatile int preinit_array_state; @@ -48,37 +45,11 @@ extern volatile int init_array_run; extern volatile int init_array_state; #ifndef DSO_BASE -volatile int jcr_run; -const func_ptr *jcr_ptr; volatile int ctors_run; volatile int preinit_array_run; volatile int preinit_array_state = -1; volatile int init_array_run; volatile int init_array_state = -1; - -void _Jv_RegisterClasses(const func_ptr *); - -__section(".jcr") __used static func_ptr jcr_func = (func_ptr)1; -const void *jcr_func_ptr = &jcr_func; - -void -_Jv_RegisterClasses(const func_ptr *jcr) -{ - - jcr_run = 1; - jcr_ptr = jcr; -} -#endif - -#ifndef DSO_LIB -ATF_TC_WITHOUT_HEAD(jcr_test); -ATF_TC_BODY(jcr_test, tc) -{ - - ATF_REQUIRE_MSG(jcr_run == 1, ".jcr not run"); - ATF_REQUIRE_MSG(jcr_ptr == jcr_func_ptr, - "Incorrect pointer passed to _Jv_RegisterClasses"); -} #endif #ifndef DSO_BASE @@ -160,7 +131,6 @@ ATF_TC_BODY(init_array_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, jcr_test); ATF_TP_ADD_TC(tp, ctors_test); ATF_TP_ADD_TC(tp, preinit_array_test); ATF_TP_ADD_TC(tp, init_array_test); diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index 7ad469a03c3b..5bd71efcb56c 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -1065,6 +1065,9 @@ and .It .jcr This section holds information about Java classes that must be registered. +It is obsolete and binaries created for +.Fx 15 +or later do not process it. .It .eh_frame This section holds information used for C++ exception-handling. .El From nobody Fri Apr 18 19:27:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfPtM51khz5tFbj; Fri, 18 Apr 2025 19:27: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 4ZfPtM1zQ1z3r01; Fri, 18 Apr 2025 19:27:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745004475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WChxGykkV2JBb3Xj1dWQ5zamE3qQci+QoN4D8uHnJ/g=; b=fcSoZW6niBu0KDUx1VWWXWAaAuUmcq+Ygoq/lAhEI7yoaqyudhzLQQhjmEwbQ/hsTCgQBC Nc6n9p9zB5tcHDhWHIRD9LHS2MuQd5/nNz8VZhdVwKgkCBRue+Cvu/owY8oSgTzOt34G0B ELIENjKd3vfBu1NTyo8cZSSmpIeBNebLbynNC1ccnC2zG45BNJufWkO52nV8d72aagckvS 3x1UzS6OGIUhBJ1oxAKurwBBQQvzwnv4Jk2cSEusoGp4aHBcVQAZwEuAbdJQUJSVSPUEaF T+lTGDj4fgsiaIdvYUPK/mmwE5dU1Mkb6mA3mv5xqgmkyaokT1/2mpmGSPWsWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745004475; a=rsa-sha256; cv=none; b=LB5QxAMrFH1uCuXDHaqyLFYcVnGiqMMM4xg8zCrQYgejgAQQ4iWQeuWUXXb7Vel4wxoaEJ 0+Xw6lUj3z7b4x7PQ1v4MigyCli8Y+heV7cutPZvvgc0/Q1/AabeRZhggQ9HIg2FQe+lSI A9JDJIhgy/V2ZZzzBpaIbbCoDn3OpU5DOX/8x+zrLoDdpO5thX1LomZDDaD1amfniuECeY rKNM74h0c+yB74BFAdxs7x3D3FtCI2XxlunivKYtRWro6A+0ygksFieBzNFTGLfHWy0DnB xUmJtsga5Jiol6yWKepYQKj+P+BKI5Y6tLeIxbF3Q+0oqhSx6M+IiLI5588vMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745004475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WChxGykkV2JBb3Xj1dWQ5zamE3qQci+QoN4D8uHnJ/g=; b=jRitS7R3YoIfmOxgpBij2SOtwPyQ8nAy1DptuRD31tSXw490ABtvVfaHypOxVxAWQnSnIm 03SjnQqr0WduYOH02otPl0nVryZqp2V2/ck2rERXMgHKnCzyYIbc4FTJVv4VEFMEY//xCm xe6Sj9erTnVCn+GdGeblwMZeUh6J4oWLej9UEBFKIz0rwDwjIIegy9iDPnndctIARu5QiF RNNlH70T/bhiRbNE+UtCDN7De7Ar3dOvodX1zTrFjDoTT1E3FF5YMTG/IvCIyqumJb7rcl dhpVvSSORJ/BBkzfOA6CgS0Ge2tDq9zalDqm6Ycs3sAk9254lc6rr1eeU1e8hQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfPtM13yDznQV; Fri, 18 Apr 2025 19:27: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 53IJRs38035806; Fri, 18 Apr 2025 19:27:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IJRsoQ035803; Fri, 18 Apr 2025 19:27:54 GMT (envelope-from git) Date: Fri, 18 Apr 2025 19:27:54 GMT Message-Id: <202504181927.53IJRsoQ035803@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: a3a88ed22cb1 - main - vm_page: drop prev and next List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a3a88ed22cb111da3336f64ec3ba5815a8278f88 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 Author: Doug Moore AuthorDate: 2025-04-18 19:26:56 +0000 Commit: Doug Moore CommitDate: 2025-04-18 19:26:56 +0000 vm_page: drop prev and next Functions vm_page_prev() and vm_page_next() are no longer invoked. Remove them. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49892 --- sys/vm/vm_page.c | 40 ---------------------------------------- sys/vm/vm_page.h | 2 -- 2 files changed, 42 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 65d278caf3fd..db91b7bab2ab 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t pindex) return (m); } -/* - * Returns the given page's successor (by pindex) within the object if it is - * resident; if none is found, NULL is returned. - * - * The object must be locked. - */ -vm_page_t -vm_page_next(vm_page_t m) -{ - vm_page_t next; - - VM_OBJECT_ASSERT_LOCKED(m->object); - if ((next = TAILQ_NEXT(m, listq)) != NULL) { - MPASS(next->object == m->object); - if (next->pindex != m->pindex + 1) - next = NULL; - } - return (next); -} - -/* - * Returns the given page's predecessor (by pindex) within the object if it is - * resident; if none is found, NULL is returned. - * - * The object must be locked. - */ -vm_page_t -vm_page_prev(vm_page_t m) -{ - vm_page_t prev; - - VM_OBJECT_ASSERT_LOCKED(m->object); - if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) { - MPASS(prev->object == m->object); - if (prev->pindex != m->pindex - 1) - prev = NULL; - } - return (prev); -} - /* * Uses the page mnew as a replacement for an existing page at index * pindex which must be already present in the object. diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 0a40b42ffb62..bf2e850612d7 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter *old_pages, vm_page_t m, void vm_page_launder(vm_page_t m); vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t); vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t); -vm_page_t vm_page_next(vm_page_t m); void vm_page_pqbatch_drain(void); void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue); bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old, vm_page_astate_t new); -vm_page_t vm_page_prev(vm_page_t m); bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t skip_m); void vm_page_putfake(vm_page_t m); void vm_page_readahead_finish(vm_page_t m); From nobody Fri Apr 18 19:50:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfQNW18y5z5tHFg; Fri, 18 Apr 2025 19:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfQNV4k18z44Mt; Fri, 18 Apr 2025 19:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745005834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5h3SL1g3nzyKCf43Zn73r8fYfMUg41TqWJBX4r9mVnw=; b=dGo6DTN+99Cz3zQKDTjZcjknCaSohM/eKCfKVXM4XBEPH07G1lQj+y9wwUQZlxAb0crVQY 01I5ZKibh2uyh9MUpKoBEFzgz8YSuBAIxU/AEU7j5A2TMG6Qfoes16LrC+aTjok2eWJEVh Q9d0roQjxjKWCe4waKpCcmzFDcGWkWNZSEvSTVAr0hdEmwpMFHTFrtyDBX2lueRZIvVYA2 oRtOScHAjgUUXkjnMDebW0R4xNp197p0rpNLlV0WwJ1bKMarb2hKF2U1pftiM0uXFeT+v3 cGFRlC1bwBD5cnQOfcx/q0hI8dPGakRK8OXSRqtQqVKtVaSMImUsh/F/dtBsJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745005834; a=rsa-sha256; cv=none; b=LOF2IL4Dr2UQ+i3I7g9Ik8ra9cnqrLFPtvnsVyUzBl/1Z0T79TnWXWTSxK/svCK8/wtFtV yV1C64NFFkHuiJHrRENB5Qd6qsB28vk692Ex7m+OKBYrPIPl1fWvjHSmXED9v/RoT2TW3l wTERGhGlEr3n4JV6naI1/smCbXBsBNvYNNIhfXNPoAKHsi5mQzla14LVxtW9S6oEgnrHAj GawWb+Gfa/xGzht3Gyp8MFmVEaa0CpjpNS6pN4auIYOmkkVQqNl+maUzJQawUhLQGRivn8 n0nJYo+U6EhIMNMfnuzGSNSP9Odwr06DlHJrMk0/Ga34vNio1UmwX3wbnGqihg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745005834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5h3SL1g3nzyKCf43Zn73r8fYfMUg41TqWJBX4r9mVnw=; b=xW6c8Jir0D+fmjXU7HUzt66mHLswYx6Lb+mRHhVgFoz2eDuor15hETlrLgQa7Rb/rNkM+d 43wLDQYtiQUW7vsFVCX/4iMbxnwDIx3jmItHpZ3elweQczCBaGiLkph52altupdxXC56fU Z1jKWG0dNJ9ABAXHkjDW04vZ+/wRP1Lc5CjigV/jNPhrcX0OEU9ypXbyJjQCQHkf2It1xG PC1Cc6fzL1tPiqWN1MOvkj9iG70RmYY4cSSrs7cnGcB+rrHMjPJDgXdbymgAXXb4KSvY5u SJjhTSkpzDzVJn2IyHNZxKP9Ibkrt5MHEGnfrOE4tDp29vWrV4WYm5rn2l5Yow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfQNV4HLgzp3x; Fri, 18 Apr 2025 19:50: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 53IJoYQX082564; Fri, 18 Apr 2025 19:50:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IJoYZI082553; Fri, 18 Apr 2025 19:50:34 GMT (envelope-from git) Date: Fri, 18 Apr 2025 19:50:34 GMT Message-Id: <202504181950.53IJoYZI082553@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: 1b5e2d707669 - main - vm_swapout: use VM_RADIX_FOREACH List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 1b5e2d70766989a593709debbf46837a415d168f Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=1b5e2d70766989a593709debbf46837a415d168f commit 1b5e2d70766989a593709debbf46837a415d168f Author: Doug Moore AuthorDate: 2025-04-18 19:48:55 +0000 Commit: Doug Moore CommitDate: 2025-04-18 19:48:55 +0000 vm_swapout: use VM_RADIX_FOREACH Replace the use of TAILQ over the object memq with a VM_RADIX_FOREACH loop. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49894 --- sys/vm/vm_swapout.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_swapout.c b/sys/vm/vm_swapout.c index 6f7f584ac25f..f510189d24be 100644 --- a/sys/vm/vm_swapout.c +++ b/sys/vm/vm_swapout.c @@ -106,6 +106,7 @@ #include #include #include +#include #include #include #include @@ -170,6 +171,7 @@ static void vm_swapout_object_deactivate(pmap_t pmap, vm_object_t first_object, long desired) { + struct pctrie_iter pages; vm_object_t backing_object, object; vm_page_t m; bool unmap; @@ -192,7 +194,8 @@ vm_swapout_object_deactivate(pmap_t pmap, vm_object_t first_object, /* * Scan the object's entire memory queue. */ - TAILQ_FOREACH(m, &object->memq, listq) { + vm_page_iter_init(&pages, object); + VM_RADIX_FOREACH(m, &pages) { if (pmap_resident_count(pmap) <= desired) goto unlock_return; if (should_yield()) From nobody Fri Apr 18 20:14:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfQw31wnnz5tJYK; Fri, 18 Apr 2025 20:14:27 +0000 (UTC) (envelope-from brooks@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 4ZfQw31DT7z4LtQ; Fri, 18 Apr 2025 20:14:27 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745007267; 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=/Md2CzvxYiZowycNI6RSRAB2BaRpkJHrAuuJRx76A8M=; b=GSmXPbASzEcsbPSw3Wd9PdRpjYiQ04Id0h2joGRZ5g/crzkyLVwk4gTJnaiacltzVmCBEl 4crWHW34OSGbiDZzBfMRtG/WUFZM+G+zQG66X/bMNe65NWvYwMUoJ9vwSQO3YVgJN/HYNJ NFxecEf3iMDdGdvEfO2V3LObAfgds+/nLW63t5e7/y0TDEGdRmpI5j/Cwu1yvGEdIZ9HVw 9bCSm0mMac9UH1284wnEivNFF9Mf9c9/gCk3eTys+CZVs9aDnA86e7v65ewtfWZZAq+7Y/ xsRTgm0PrJeUSlW7+ACQtYSLBI3lBwRcqUpg5eylfGkqbRRXIwq2OevVDF/Dfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745007267; a=rsa-sha256; cv=none; b=ZOg9cgueHbquz0FMxRdpN4d/nXMgmr5fiRuX1tjB72qEUhhQbAB5hcMP7VM5n2hSAUw6rV pwNQIlLBF4GzGCuKm6vXpXx3iS9PE5JMGhCklp0s/i1GsfImYP4I2uM7u5Fe2TmV8z6YfQ tkvx6Sk4rbj8IAQcRNVPLk2OLfgZRG+qe1xUcilzDMrQrobW6zseRuKVOpfLHOqm4S82NN ca6OWGZGUXi5/pBnj0HsgIkUf8FIfoV+sq6pqUx8lKgnDw1j8R2Q8X1vKOfdyY2NOyNbO/ 1A0+S/DP2yZyGAYS3t1gjM55dnYghO2UiurJJD1e5dxwyRulISEhihxofH0fUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745007267; 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=/Md2CzvxYiZowycNI6RSRAB2BaRpkJHrAuuJRx76A8M=; b=y0HFSoPzxRFFQRrctTxe4c/hVbrPO4WcCT+EU3apL6lPniFfUW8/yFqYnNUARcVgVO01ZE iwTz6qkcnGUHr3qThW3OuHCEKlM6qjPEb9S9YhnDtERlpxx+ef72xgFzsQ3WST0YdRqqE7 uwTtJg7htmwEtnErO8NritaSaLqwp0hqjXffardDfQ/7SPy9dP6nUB2qXMhVeGVjOWmg/u k5PrW/UW5efzvLFav1epGK4EN73swsRJqgsfwVZ8e8o3xgYFpwMiyZHbeJI7DHB2nKJB3o tE2UiqQ+4hsKXavoeu48FE+tAyukq2Y8Bu/NYRr56c9Wz9AHw3aT2bsEp7ZxoQ== Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_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: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZfQw30LN3z181m; Fri, 18 Apr 2025 20:14:27 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 933723C01A0; Fri, 18 Apr 2025 20:14:26 +0000 (UTC) Date: Fri, 18 Apr 2025 20:14:26 +0000 From: Brooks Davis To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a60615d5be83 - main - csu: drop support for GCJ Message-ID: References: <202504181859.53IIxtf1080623@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202504181859.53IIxtf1080623@gitrepo.freebsd.org> On Fri, Apr 18, 2025 at 06:59:55PM +0000, Brooks Davis wrote: > The branch main has been updated by brooks: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a60615d5be83ca050d4ddfbbb4411ca7a8a11486 > > commit a60615d5be83ca050d4ddfbbb4411ca7a8a11486 > Author: Brooks Davis > AuthorDate: 2025-04-18 18:49:01 +0000 > Commit: Brooks Davis > CommitDate: 2025-04-18 18:59:19 +0000 > > csu: drop support for GCJ > > Remove .jcr sections and related infrastructure. This has no impact on > existing binaries and the toolchain remains capability of linking them, > but would require different (or additional) csu files. > > GCC removed GCJ from trunk in on September 30, 2016. Our support came > in with D17587 for compatibility with old object files. It was roughly > contemporaneous with GCC 6.5, the last release with GCJ support. At > this point we don't even have a compiler port capable of producing GCJ > binaries so there is no need to carry this around any more. > > For reference see: > https://en.wikipedia.org/wiki/GNU_Compiler_for_Java#History > > Reviewed by: kib, emaste Should also be Reviewed by: andrew, but didn't reload the revision after editing the commit message and lost a race. -- Brooks From nobody Fri Apr 18 23:38:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfWS075pRz5tYlr; Fri, 18 Apr 2025 23:38: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 4ZfWS067Prz3wVp; Fri, 18 Apr 2025 23:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745019536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VKuyGn3YjZfw/Kk4/sR2Wp+bcVmeRRau2yYPO4qcCos=; b=Ip8QZpKMcb0npfNWVbSspjG1RRQGxSyQjHz4n0oftIeL+9BbrcajDvJqqx6opZBgziklo1 C1Qa4hc0pxcuHDhb1u+t1zWuILVT0l0B99zvcAZlt0uDiIel06v42JRBM3X+rx8CoBNfEz 5qRP7L4WmQ4gcAcZ6IkWIbCjkoRDePIGowR3lXpUmC8bf6rhxjSzgQ2HbO9Jmmz23NCvog KMj3n+ooLgwNtmzAsf9zAo2WIxMcXjivnQTtzfcI8qor3lIiy9MwlsjcVLjUTMMqYRFR4J C3yVgvtOzyfJA/vhyTHoCEXmlUeljpAogR+Al+wvDS3+4kHkvsleJ7lOC2NzBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745019536; a=rsa-sha256; cv=none; b=Te6uBYH4XV/zTs1EgL/18Pab1lF+N0ueR1O2tM9BwrkNQzwicOwbyvZFrIVfzs42JbhjoI nIxAkPYFmTbS5Sb/BoZzoS/0s5hQyaSLwAPP6uTg9jhN9bUf8WyWQ0ZbpbmzMRYs/lhUpn TsL4NFqCl+s3b1kocNE28MX9mN2PvTWGhLpfY2qyQfAQwaOV6PgzfmrZGO2wMWxYl+4rS/ G8ex+gkW6Yu35HH782n0fvmpVMjwXIeUDnC7s2h7o9lVki9MweVZfNEiA7M+XZM6Jk1pec QhJOQJp2k8iNojUXZRkp7BKNtXaECi7idJthmn4MgScsqeF9Gk7meHXy02iB4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745019536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VKuyGn3YjZfw/Kk4/sR2Wp+bcVmeRRau2yYPO4qcCos=; b=dF5tEniw/kPvlgUwiKRjZyTSwrKamosuekiQf2Xmn5dU+/05Y8+OysQU/+/6/yfT8vwkvn FURv4VWtL/MIS4y86ZVkWVwdgOFNRzx/tE8nHfKiRAfBJHWPgciG7jGk15FDYJpyLyflJL ramdYeAsvvejJn3+aCCAS9YujfG0F5ajR8WSxVht3J2tpxdqKTOjH0T5vtptRY1Jrwn22z XvtqjZoy41Lft8V6jdzlvzY9nxAe6vvpSOidtP8o6OlbkYXutFVHbj1NvB4GkkQKglE4Tz zQ0LN5LWOwMAv78lxUckx769FN6MqXLxhLZxaCCcLOQcZdtZbqO2Qj4bs/YQRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfWS057HrzvTV; Fri, 18 Apr 2025 23:38: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 53INcuSN001025; Fri, 18 Apr 2025 23:38:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53INcuf7001022; Fri, 18 Apr 2025 23:38:56 GMT (envelope-from git) Date: Fri, 18 Apr 2025 23:38:56 GMT Message-Id: <202504182338.53INcuf7001022@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: b3d89a0cde94 - main - vm_map: use page iterators in pmap_enter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b3d89a0cde94b22ce1b4ca620b77986291137132 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b3d89a0cde94b22ce1b4ca620b77986291137132 commit b3d89a0cde94b22ce1b4ca620b77986291137132 Author: Doug Moore AuthorDate: 2025-04-18 23:37:49 +0000 Commit: Doug Moore CommitDate: 2025-04-18 23:37:49 +0000 vm_map: use page iterators in pmap_enter Change vm_map_pmap_enter to use pctrie iterators to iterate over pages, rather than using TAILQ links. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49896 --- sys/vm/vm_map.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 564ef59950e4..0371680f6df5 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -89,6 +89,7 @@ #include #include #include +#include #include #include #include @@ -2674,6 +2675,7 @@ static void vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, vm_object_t object, vm_pindex_t pindex, vm_size_t size, int flags) { + struct pctrie_iter pages; vm_offset_t start; vm_page_t p, p_start; vm_pindex_t mask, psize, threshold, tmpidx; @@ -2706,19 +2708,14 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, p_start = NULL; threshold = MAX_INIT_PT; - p = vm_page_find_least(object, pindex); - /* - * Assert: the variable p is either (1) the page with the - * least pindex greater than or equal to the parameter pindex - * or (2) NULL. - */ - for (; - p != NULL && (tmpidx = p->pindex - pindex) < psize; - p = TAILQ_NEXT(p, listq)) { + vm_page_iter_limit_init(&pages, object, pindex + psize); + for (p = vm_radix_iter_lookup_ge(&pages, pindex); p != NULL; + p = vm_radix_iter_jump(&pages, mask + 1)) { /* * don't allow an madvise to blow away our really * free pages allocating pv entries. */ + tmpidx = p->pindex - pindex; if (((flags & MAP_PREFAULT_MADVISE) != 0 && vm_page_count_severe()) || ((flags & MAP_PREFAULT_PARTIAL) != 0 && @@ -2726,6 +2723,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, psize = tmpidx; break; } + mask = 0; if (vm_page_all_valid(p)) { if (p_start == NULL) { start = addr + ptoa(tmpidx); @@ -2739,7 +2737,6 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, if (tmpidx + mask < psize && vm_page_ps_test(p, psind, PS_ALL_VALID, NULL)) { - p += mask; threshold += mask; break; } From nobody Sat Apr 19 02:25:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zfb8X6c92z5sYVV; Sat, 19 Apr 2025 02:25:48 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zfb8X3LlGz4NQk; Sat, 19 Apr 2025 02:25:48 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745029548; 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=RNHAme0vnYvmhcHgu0bhZIR8pifD3dAAvWxUOCRYhnk=; b=GgDS1pKt2yD8J0H3NLYCELlBTg0GFfSRaZo04KnnAi/UnNKUGkA9+5WcqHNAm8KjuiYxtY 0J4GC0Qmtog/6hYkDKuD63tMzrXyPkiUCcgwRQffpI6fLzLQkK8w792cK+usz8xKzZ2lqS JjOB6TFb18UdK3Shbun9QTAFnaOJJaw/SOUuWd/AYMoHmjJKhilNsMhZw5pelJlbVt5PhM Iaj7VxvYIifg0TQW3Qz3+wB2owEIPCGs4mcy/Qk9f5034Nz3pkz/tXl+p8vJ6xIjV8BRq1 pO7jk5wa1RKptYfYRnRLpLtO7jjxj/KkkxTPpdRyY4A86QqbKNAkqG+q6JW8eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745029548; a=rsa-sha256; cv=none; b=O113ETKS/019FDoDvz7DJTpUwknnd+2y9IKVk34WWiR5IuOJ+29tPYvVLYihbV/NuNeEUN jvZ5932+IwvDR2GG120fVJx/wwZC6ZPWFvbLVYhzDadGD9RATd1HGANM/Pg5gEi33U4NGE 9YAolrpbyvxQe89utInf0KG6uEmZot6uvOkl6qeIrV00zWYZAoo0Ye8gPRFUbEUn3MNHuf Dvmiku1uMFVgHqpvx489raszqUHQK9UamtiLo4iFdYrbZfqZXRjeMtyMEn+Iz5r2m6iHQ9 HjEq92pUGQj/8JLmFDm/w5fB6TbQ6Hfy3DgaBzC4St0ZQNmydXpTpibvvxCDKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745029548; 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=RNHAme0vnYvmhcHgu0bhZIR8pifD3dAAvWxUOCRYhnk=; b=LkHuxWt7BqT81ehQWWFKiR3VvBfUhk9zx3XMtV9ujTg22N9iufz9UBu+U8ssHszH6AArq/ w+LjWN8UEPbQdaIraA+ruOfDPxbC2J1vhwPvahsWk/5R6D7malzjE6B91Ur8daRW1Sq02U lE1kDckUdIeZsmURw/8WuMN1BlR50fqvRfmvFrUZ7Ja6D8KIXfYlnb5KMUoxSBFZJhvJsj C6jvblOE2p5eG0q9lXeH3bPX2P8HovJqD+/CGaGD6exJWesIltUdIgmNh0OfJ1E1i2aD2G XO37TOuCi6gFCZz5bM2roTy+Pv6LO6v9U0nMolZfGblNyDLic5BFbRvNrxynQA== Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Zfb8X2nflz2c2; Sat, 19 Apr 2025 02:25:48 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6e8fa2d467fso3023006d6.2; Fri, 18 Apr 2025 19:25:48 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVfBI6FHYLALPzgah6vDTVSOZVdsE2yi+cXCygjX4SbfKI5abijpRRxDQfJGGLYwePMal4nr+fUjfgYW7/DqIzIiuWbTvQ=@freebsd.org, AJvYcCXXZGhAM2eGTsR2tS7Anf+ZNkg4jRHtO7xPsxW60E0o3+g1x9G2a/BWGicbf8Ww0kWMr6sXEkLIhdM1Baws1flgpS0N@freebsd.org X-Gm-Message-State: AOJu0YzaE8QUw2ksBW0I2wPoB81pql+La06B2zBF3LjLElkRNFfPWDYe M3TnbEB3spryMwcn17V6Y+wmmrvguaBJhA9V06qRTOg+ZTPrPH+CSTtlTWliFpy1pxZhII/vS0u mHN1BMxv8FC9Df9FV1EOOrP3wrig= X-Google-Smtp-Source: AGHT+IGElzfKk1nZXRbpdwGoyt9JNVb55G8wzKFTQn+KcakrrEIxTjABjUOPq77pix3JJ47jnVoG9qYRGCTQkl47xi8= X-Received: by 2002:a05:622a:5cf:b0:472:2122:5a43 with SMTP id d75a77b69052e-47aec354e2emr28643691cf.1.1745029547700; Fri, 18 Apr 2025 19:25:47 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> In-Reply-To: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> From: Nuno Teixeira Date: Sat, 19 Apr 2025 03:25:35 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: ATxdqUFJXr892LG2UPvgQ380WcT3mNEuBfmYmhLz4F9PRsSh3-c31ezWtauRW5M Message-ID: Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next To: Doug Moore Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000005037080633185a8e" --0000000000005037080633185a8e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, graphics/drm-61-kmod is failing to build and maybe related to some of this commits. Could you take a look and check if it related? Thanks ``` cc -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=3D60100 '-DKBUILD_MODNAME=3D"i915kms"' '-DLINUXKPI_PARAM_PREFIX=3Di915_' -DDRM_SYSCTL_PARAM_PREFIX=3D_i915kms -DCONFIG_DRM_AMDGPU_CIK -DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_DC_SI -DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE=3D'"*"' -DCONFIG_DRM_I915_REQUEST_TIMEOUT=3D20000 -DCONFIG_DRM_I915_CAPTURE_ERROR -DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=3D250 -DCONFIG_DRM_I915_STOP_TIMEOUT=3D100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=3D64= 0 -DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=3D2500 -DCONFIG_DRM_I915_TIMESLICE_DURATION=3D1 -DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=3D8000 -DCONFIG_DRM_I915_FENCE_TIMEOUT=3D10000 -DCONFIG_DRM_MIPI_DSI -DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=3D100 -DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE -DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI -DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI -DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT -DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 -DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_0 -DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 -DCONFIG_DRM_AMD_DC_DCN3_1 -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/lin= uxkpi/gplv2/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/linu= xkpi/bsd/include -I/usr/src/sys/compat/linuxkpi/common/include -I/usr/src/sys/compat/linuxkpi/dummy/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/incl= ude -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/incl= ude/drm -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/incl= ude/uapi -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driv= ers/gpu -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driv= ers/gpu/drm/i915 -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driv= ers/gpu/drm/i915/display -include /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/obj/wr= kdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/i915/opt_= global.h -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=3D./machine=3D/usr/src/sys/amd64/include -fdebug-prefix-map=3D./x86=3D/usr/src/sys/x86/include -fdebug-prefix-map=3D./i386=3D/usr/src/sys/i386/include -MD -MF.depend.i915_gem_stolen.o -MTi915_gem_stolen.o -mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wswitch -Wno-error=3Dtautological-compare -Wno-error=3Dempty-body -Wno-error=3Dparentheses-equality -Wno-error=3Dunused-function -Wno-error=3Dpointer-sign -Wno-error=3Dshift-negative-value -Wno-address-of-packed-member -Wno-format-zero-length -Wno-pointer-arith -Wno-format -Wno-cast-qual -mno-aes -mno-avx -std=3Dgnu17 -c /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driver= s/gpu/drm/i915/gem/i915_gem_stolen.c -o i915_gem_stolen.o --- i915_gem_mman.o --- /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driver= s/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to undeclared function 'vm_page_next'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 171 | for (vm_page_t page =3D vm_page_find_least(vmobj, 0); page !=3D NULL; page =3D vm_page_next(page)) = { | ^ /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/driver= s/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible integer to pointer conversion assigning to 'vm_page_t' (aka 'struct vm_page *') from 'int' [-Wint-conversion] 171 | for (vm_page_t page =3D vm_page_find_least(vmobj, 0); page !=3D NULL; page =3D vm_page_next(page)) = { | ^ ~~~~~~~~~~~~~~~~~~ 2 errors generated. *** [i915_gem_mman.o] Error code 1 make[1]: stopped making "all" in /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/i915 make[1]: 1 error ``` Doug Moore escreveu (sexta, 18/04/2025 =C3=A0(s) 20:28)= : > The branch main has been updated by dougm: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Da3a88ed22cb111da3336f64ec3ba581= 5a8278f88 > > commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 > Author: Doug Moore > AuthorDate: 2025-04-18 19:26:56 +0000 > Commit: Doug Moore > CommitDate: 2025-04-18 19:26:56 +0000 > > vm_page: drop prev and next > > Functions vm_page_prev() and vm_page_next() are no longer > invoked. Remove them. > > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D49892 > --- > sys/vm/vm_page.c | 40 ---------------------------------------- > sys/vm/vm_page.h | 2 -- > 2 files changed, 42 deletions(-) > > diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c > index 65d278caf3fd..db91b7bab2ab 100644 > --- a/sys/vm/vm_page.c > +++ b/sys/vm/vm_page.c > @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t > pindex) > return (m); > } > > -/* > - * Returns the given page's successor (by pindex) within the object if i= t > is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_next(vm_page_t m) > -{ > - vm_page_t next; > - > - VM_OBJECT_ASSERT_LOCKED(m->object); > - if ((next =3D TAILQ_NEXT(m, listq)) !=3D NULL) { > - MPASS(next->object =3D=3D m->object); > - if (next->pindex !=3D m->pindex + 1) > - next =3D NULL; > - } > - return (next); > -} > - > -/* > - * Returns the given page's predecessor (by pindex) within the object if > it is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_prev(vm_page_t m) > -{ > - vm_page_t prev; > - > - VM_OBJECT_ASSERT_LOCKED(m->object); > - if ((prev =3D TAILQ_PREV(m, pglist, listq)) !=3D NULL) { > - MPASS(prev->object =3D=3D m->object); > - if (prev->pindex !=3D m->pindex - 1) > - prev =3D NULL; > - } > - return (prev); > -} > - > /* > * Uses the page mnew as a replacement for an existing page at index > * pindex which must be already present in the object. > diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h > index 0a40b42ffb62..bf2e850612d7 100644 > --- a/sys/vm/vm_page.h > +++ b/sys/vm/vm_page.h > @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter > *old_pages, vm_page_t m, > void vm_page_launder(vm_page_t m); > vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t); > vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t); > -vm_page_t vm_page_next(vm_page_t m); > void vm_page_pqbatch_drain(void); > void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue); > bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old, > vm_page_astate_t new); > -vm_page_t vm_page_prev(vm_page_t m); > bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t skip_m= ); > void vm_page_putfake(vm_page_t m); > void vm_page_readahead_finish(vm_page_t m); > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --0000000000005037080633185a8e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

graphics/drm-61-kmod = is failing to build and maybe related to some of this commits.
Could you take a look and check if it related?

Thanks
```
cc =C2=A0-O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERS= ION=3D60100 '-DKBUILD_MODNAME=3D"i915kms"' '-DLINUXKP= I_PARAM_PREFIX=3Di915_' -DDRM_SYSCTL_PARAM_PREFIX=3D_i915kms -DCONFIG_D= RM_AMDGPU_CIK -DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_D= C_SI -DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE=3D'"*"= 9; -DCONFIG_DRM_I915_REQUEST_TIMEOUT=3D20000 -DCONFIG_DRM_I915_CAPTURE_ERRO= R -DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=3D250 -DCONFIG_DRM_I915_STOP_TIME= OUT=3D100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=3D640 -DCONFIG_DRM_I915_HEARTBE= AT_INTERVAL=3D2500 -DCONFIG_DRM_I915_TIMESLICE_DURATION=3D1 -DCONFIG_DRM_I9= 15_MAX_REQUEST_BUSYWAIT=3D8000 -DCONFIG_DRM_I915_FENCE_TIMEOUT=3D10000 -DCO= NFIG_DRM_MIPI_DSI -DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_H= ELPERS -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=3D100 -DCO= NFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE -DCONFIG_DE= BUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI -DCONFIG_PM -DCO= NFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI -DCONFIG_ACPI_SLE= EP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT -DCONFIG_AS_MOVNTDQA -DCONF= IG_COMPAT -DCONFIG_X86_64 -DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_= 0 -DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 -DCONFIG_DRM_AMD_= DC_DCN3_1 =C2=A0-Werror
-D_KERNEL -DKLD_MODULE -nostdinc =C2=A0-I/wrkdir= s/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/gplv= 2/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.= 128_1/linuxkpi/bsd/include -I/usr/src/sys/compat/linuxkpi/common/include -I= /usr/src/sys/compat/linuxkpi/dummy/include -I/wrkdirs/usr/ports/graphics/dr= m-61-kmod/work/drm-kmod-drm_v6.1.128_1/include -I/wrkdirs/usr/ports/graphic= s/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/drm -I/wrkdirs/usr/ports= /graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/uapi -I/wrkdirs/= usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu -I/= wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers= /gpu/drm/i915 -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v= 6.1.128_1/drivers/gpu/drm/i915/display -include /wrkdirs/usr/ports/graphics= /drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/obj/wrkdirs/usr/ports/graphics/dr= m-61-kmod/work/drm-kmod-drm_v6.1.128_1/i915/opt_global.h -I. -I/usr/src/sys= -I/usr/src/sys/contrib/ck/include -fno-common =C2=A0-fno-omit-frame-pointe= r -mno-omit-leaf-frame-pointer -fdebug-prefix-map=3D./machine=3D/usr/src/sy= s/amd64/include -fdebug-prefix-map=3D./x86=3D/usr/src/sys/x86/include -fdeb= ug-prefix-map=3D./i386=3D/usr/src/sys/i386/include =C2=A0 =C2=A0-MD =C2=A0-= MF.depend.i915_gem_stolen.o -MTi915_gem_stolen.o -mcmodel=3Dkernel -mno-red= -zone -mno-mmx -mno-sse -msoft-float =C2=A0-fno-asynchronous-unwind-tables = -ffreestanding -fwrapv -fstack-protector =C2=A0-Wall -Wstrict-prototypes -W= missing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D= __printf__=3D__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-= option -Wno-unknown-pragmas -Wswitch -Wno-error=3Dtautological-compare -Wno= -error=3Dempty-body -Wno-error=3Dparentheses-equality -Wno-error=3Dunused-f= unction -Wno-error=3Dpointer-sign -Wno-error=3Dshift-negative-value -Wno-ad= dress-of-packed-member -Wno-format-zero-length -Wno-pointer-arith -Wno-form= at -Wno-cast-qual =C2=A0 -mno-aes -mno-avx =C2=A0-std=3Dgnu17 -c /wrkdirs/u= sr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/= i915/gem/i915_gem_stolen.c -o i915_gem_stolen.o
--- i915_gem_mman.o ---<= br>/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/dri= vers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to undeclared fun= ction 'vm_page_next'; ISO C99 and later do not support implicit fun= ction declarations [-Werror,-Wimplicit-function-declaration]
=C2=A0 171 = | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 for (vm_page_t page =3D vm_page_find_least(vmobj, 0); page !=3D = NULL; page =3D vm_page_next(page)) {
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
/wrkdirs/usr/ports/graphics/drm-= 61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/gem/i915_gem_mman= .c:171:75: error: incompatible integer to pointer conversion assigning to &= #39;vm_page_t' (aka 'struct vm_page *') from 'int' [-Wi= nt-conversion]
=C2=A0 171 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 for (vm_page_t page =3D vm_page_f= ind_least(vmobj, 0); page !=3D NULL; page =3D vm_page_next(page)) {
=C2= =A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^ ~~~~~~~~~~~~~~= ~~~~
2 errors generated.
*** [i915_gem_mman.o] Error code 1

ma= ke[1]: stopped making "all" in /wrkdirs/usr/ports/graphics/drm-61= -kmod/work/drm-kmod-drm_v6.1.128_1/i915
make[1]: 1 error
```

Doug Moore <dougm@freebsd.org> escreveu (sexta, 18/04/2025 =C3=A0(s) 20:28):<= br>
The branch main = has been updated by dougm:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3Da3a88ed22cb111da3336f64ec3ba5815a8278f88
commit a3a88ed22cb111da3336f64ec3ba5815a8278f88
Author:=C2=A0 =C2=A0 =C2=A0Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2025-04-18 19:26:56 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Doug Moore <dougm@FreeBSD.org>
CommitDate: 2025-04-18 19:26:56 +0000

=C2=A0 =C2=A0 vm_page: drop prev and next

=C2=A0 =C2=A0 Functions vm_page_prev() and vm_page_next() are no longer
=C2=A0 =C2=A0 invoked. Remove them.

=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 kib
=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd= .org/D49892
---
=C2=A0sys/vm/vm_page.c | 40 ----------------------------------------
=C2=A0sys/vm/vm_page.h |=C2=A0 2 --
=C2=A02 files changed, 42 deletions(-)

diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 65d278caf3fd..db91b7bab2ab 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t p= index)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 return (m);
=C2=A0}

-/*
- * Returns the given page's successor (by pindex) within the object if= it is
- * resident; if none is found, NULL is returned.
- *
- * The object must be locked.
- */
-vm_page_t
-vm_page_next(vm_page_t m)
-{
-=C2=A0 =C2=A0 =C2=A0 =C2=A0vm_page_t next;
-
-=C2=A0 =C2=A0 =C2=A0 =C2=A0VM_OBJECT_ASSERT_LOCKED(m->object);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0if ((next =3D TAILQ_NEXT(m, listq)) !=3D NULL) = {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(next->obje= ct =3D=3D m->object);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (next->pindex= !=3D m->pindex + 1)
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0next =3D NULL;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0}
-=C2=A0 =C2=A0 =C2=A0 =C2=A0return (next);
-}
-
-/*
- * Returns the given page's predecessor (by pindex) within the object = if it is
- * resident; if none is found, NULL is returned.
- *
- * The object must be locked.
- */
-vm_page_t
-vm_page_prev(vm_page_t m)
-{
-=C2=A0 =C2=A0 =C2=A0 =C2=A0vm_page_t prev;
-
-=C2=A0 =C2=A0 =C2=A0 =C2=A0VM_OBJECT_ASSERT_LOCKED(m->object);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0if ((prev =3D TAILQ_PREV(m, pglist, listq)) != =3D NULL) {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(prev->obje= ct =3D=3D m->object);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (prev->pindex= !=3D m->pindex - 1)
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0prev =3D NULL;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0}
-=C2=A0 =C2=A0 =C2=A0 =C2=A0return (prev);
-}
-
=C2=A0/*
=C2=A0 * Uses the page mnew as a replacement for an existing page at index<= br> =C2=A0 * pindex which must be already present in the object.
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 0a40b42ffb62..bf2e850612d7 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter *old_page= s, vm_page_t m,
=C2=A0void vm_page_launder(vm_page_t m);
=C2=A0vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t);
=C2=A0vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t);
-vm_page_t vm_page_next(vm_page_t m);
=C2=A0void vm_page_pqbatch_drain(void);
=C2=A0void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue);
=C2=A0bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old,
=C2=A0 =C2=A0 =C2=A0vm_page_astate_t new);
-vm_page_t vm_page_prev(vm_page_t m);
=C2=A0bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t ski= p_m);
=C2=A0void vm_page_putfake(vm_page_t m);
=C2=A0void vm_page_readahead_finish(vm_page_t m);



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--0000000000005037080633185a8e-- From nobody Sat Apr 19 02:32:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfbJY4rLFz5sZBk for ; Sat, 19 Apr 2025 02:32: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 4ZfbJY3nRgz3CYM; Sat, 19 Apr 2025 02:32:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745029965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ldgNpj+ZQz0+msbrK1Z3w2cbjFHOD702MNBPXvJuOPw=; b=X+OWxuQtfJF6M2Km5EVkzJyhby5T/KNEKd85l3HYw4BCzC7b8VEuRBCoSqNcLqbOXnV6cm StwbGGvRqsLjCpmbt/oA9Ptj7uAzHrv2CVTIH64ENRixl6DwMAOlerDnWNx955LiVKR0dz 4UbHvxeNEVEzCu3qlU+t9G9ouBatVNOz9GTRZgnsscbWAV/iLYlpwH/i2ZDA2rdMVqxRJ0 VQYKlOKILZHhx0d3nEau8hsU6jYtwjmK0riPbaCx/vadwwdFbz7k2CtWpaDOcnGZwSE+hz 8Gl6TiQqD4GljqoA6e6g8j8f6Ly3O7LqWdR8qVFTCAHECEnc9xcgBerRI8hCOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745029965; a=rsa-sha256; cv=none; b=Xx6KxdRLqNwC+Czq16Ms4I/quJYvEzkHkyr8XuL90vXY0ntA1YG9rgDYBdDYUO363tsKRD C0vpsfzWohuc9oT6VDT5gJnimVOtdAofKf2MGBBC7LZm9UyymjBynpYwjaDuif5OsxTJjK POK9p74MMpJA+LtIEecLN/A80KFHZEOwnledLUfoPaJgmckeqMtzCKinpGogwydfhZ7Qki 0J1cYwWCRFdGJbABZLeV9/MZM9YyaFyLTfPcCSKPvOx2TfwnE1vyZsSE4wjZV4IvejI7vk heNCq63CZlanptvHy8guufN1Z3nGG6s+avDADZKOiSWXI2zAIqxEBNqMcDBkVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745029965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ldgNpj+ZQz0+msbrK1Z3w2cbjFHOD702MNBPXvJuOPw=; b=XzDhNU3AKBooAbfgnNqOYj6BI6DrMyiuExBVeYH4SAQG59i6v+GpJQ1lc/k4pfgejH7po4 /k7sxruyvu6O+CpXRaePZNN32vonODfyA7VM2dsJinpciZLiDccisfNlyzAgfff5t1Z4rv MYf6jYFWDU5fhyL1eR1FpIf9qeieobFpiNmwEEcCShvSLiZcM2qbsNSjnvum8Fp9mbBxqe IQWkiEOoxfE/sv57lCAw6xuE1cbak+A9kP28xmovRllt9uAUkcErJdUwdDoPD6K9uzlKWD O+vGixXe6IJZxwB16XcJCogfE7FsKSyoD3tk2FbjD7pPAuSiR6HSmQ+4PnfwZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfbJY3D8mz10wj; Sat, 19 Apr 2025 02:32: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 53J2Wj3J035144; Sat, 19 Apr 2025 02:32:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53J2Wjjt035141; Sat, 19 Apr 2025 02:32:45 GMT (envelope-from git) Date: Sat, 19 Apr 2025 02:32:45 GMT Message-Id: <202504190232.53J2Wjjt035141@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Kyle Evans Subject: git: ca9d3767ff2a - internal/admin - Welcome Lexi Winter as a new src committer List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/internal/admin X-Git-Reftype: branch X-Git-Commit: ca9d3767ff2a2fcfa13db2fd7ef0846dce39e3b9 Auto-Submitted: auto-generated The branch internal/admin has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ca9d3767ff2a2fcfa13db2fd7ef0846dce39e3b9 commit ca9d3767ff2a2fcfa13db2fd7ef0846dce39e3b9 Author: Kyle Evans AuthorDate: 2025-04-19 02:28:43 +0000 Commit: Kyle Evans CommitDate: 2025-04-19 02:32:17 +0000 Welcome Lexi Winter as a new src committer Lexi has been doing good work on various parts of base, des@ and I to co-mentor. Approved by: srcmgr --- access | 1 + mentors | 1 + 2 files changed, 2 insertions(+) diff --git a/access b/access index 0b6357c6aaa9..fa89cae05672 100644 --- a/access +++ b/access @@ -74,6 +74,7 @@ harti hrs igoro imp +ivy jah jamie jfree diff --git a/mentors b/mentors index ad26158265d1..2f9a22247e71 100644 --- a/mentors +++ b/mentors @@ -14,6 +14,7 @@ akiyano cperciva brd allanjude Co-mentor: bapt bryanv grehan def oshogbo +ivy kevans Co-mentor: des jlduran emaste ks kp oh manu From nobody Sat Apr 19 02:54:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zfbnv31yRz5sbf8; Sat, 19 Apr 2025 02:54: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 4Zfbnt2T61z3NjB; Sat, 19 Apr 2025 02:54:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745031282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R4elgjD8a0mDAbeldyiZmXyb5mj4xgXkWwBB6CHG57I=; b=RSPXIG/piIvW3PiLrG92F7ruE8dFEYxIaBb/tutXuQ+6KBHHYJZKvqW5ZIy4XIws/K7Sni YuwhYSvf9N+rOQu/m1x+db+X37e5pUrVwo+mcCuRmuClP/1oKP+mef3SJX5UDAu51OOhba 8+ET3HfJ+Aiq/9Ko3QnIN71CX4ZE+cKFDUlwoE/7HHGz8amYnAd8B/m+7D4rVAmfzIsWNL 9Z4Sm+tT/lRLPsWqO+UYJHV3ReAGeCTukmP+rlc03SVkekLmlQhl1W3A68x2tZytnCydFW A6OdokyUwaEHa/emJrf8C0xg/NctE5ogjCpVnFALGviUb5dtiny+Prw2Y/rr0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745031282; a=rsa-sha256; cv=none; b=Laq6JwUwrxv05PN+863oqEN3yVvKI1TnBQtd0iPYd/PrIjkXgnGEl6jQ7WTQKwij7lCHBg NZSTy8e88lrgCJmAvPzllOzXXBE5RRGTMGRpnMZ+pwtW6Ecm2jMKqMdmaEu2sm3ZUdyJji oR8IawP90WqR+Ow5qcK3MfoYAYja64U9M9Uv1ulGlHaOTHLSxv9UuEU6xkJU2/HKh6U+c1 A4wWVimTWeyIAOjFLAFQd9UmJm4qc/JRseBqdkC7PN9fiAv5K0VB9aezU1RdxSfP8uACZV y/rWV2yZX++GMvp5GyRmSasVu0heWTeg04yOxGYSBCuORw5ljX2uZCKkxDXCew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745031282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R4elgjD8a0mDAbeldyiZmXyb5mj4xgXkWwBB6CHG57I=; b=NC0O99QYyeB3PyFvYPoiq2EIEIZ0eE9beQX3VFqyfYu/4bpotDi20uPbi+Vv2PpmvFO9GK axWipiCML9ncrT5jzr/A/Z72uD2rtq437oKqMqoh+d2NnUuHS7+IUUAJIautj3rx15DTLa U9QMWUq3Yt1yJtHvDXzwd0N3CBkcCnWUt5Na/63BZVPSrPDZmMbhHDdk4tAm0lOCgGbbzs BHNeQEVqAHp51Gu/qqF97Fk4UM/jk3VkNPPqxNSsB4UJdz5kym8ZLRhmHHl4mq0OtWGgGw 1X9nJRCgVBmRHD84f+1LXKsr7fvvrLdTQm7SJ1u9eGA4Fv4PCDZglj3+bm+2Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zfbnt24Xhz11Js; Sat, 19 Apr 2025 02:54: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 53J2sg7h072385; Sat, 19 Apr 2025 02:54:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53J2sgGN072382; Sat, 19 Apr 2025 02:54:42 GMT (envelope-from git) Date: Sat, 19 Apr 2025 02:54:42 GMT Message-Id: <202504190254.53J2sgGN072382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 1a169322d8f9 - main - add myself to share/misc/committers-src.dot List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a169322d8f9f259d1ce937189ec48365b3fd66e Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=1a169322d8f9f259d1ce937189ec48365b3fd66e commit 1a169322d8f9f259d1ce937189ec48365b3fd66e Author: Lexi Winter AuthorDate: 2025-04-19 02:49:45 +0000 Commit: Lexi Winter CommitDate: 2025-04-19 02:51:08 +0000 add myself to share/misc/committers-src.dot Approved by: kevans (mentor) Reviewed by: kevans, imp Differential Revision: --- share/misc/committers-src.dot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 6e3464227ff2..82f68491a969 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -208,6 +208,7 @@ iedowse [label="Ian Dowse\niedowse@FreeBSD.org\n2000/12/01"] igoro [label="Igor Ostapenko\nigoro@FreeBSD.org\n2024/08/22"] imp [label="Warner Losh\nimp@FreeBSD.org\n1996/09/20"] ivoras [label="Ivan Voras\nivoras@FreeBSD.org\n2008/06/10"] +ivy [label="Lexi Winter\nivy@FreeBSD.org\n2025/04/28"] jah [label="Jason A. Harmening\njah@FreeBSD.org\n2015/03/08"] jamie [label="Jamie Gritton\njamie@FreeBSD.org\n2009/01/28"] jasone [label="Jason Evans\njasone@FreeBSD.org\n1999/03/03"] @@ -516,6 +517,7 @@ delphij -> sephe des -> anholt des -> hmp +des -> ivy des -> mike des -> olli des -> ru @@ -718,6 +720,7 @@ ken -> ram ken -> slm ken -> will +kevans -> ivy kevans -> rew kib -> ae From nobody Sat Apr 19 03:20:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfcMb1yRQz5sd0v; Sat, 19 Apr 2025 03:20:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfcMZ6p9bz3Zw6; Sat, 19 Apr 2025 03:20:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745032827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4G9i0uFI8jlq+VppE2sZS+8dsGRrkT+kJkjJIp/izaE=; b=dTKJTKLfRlJP8FeT4G/sJZibumXEH6cncVCpGglDNnb0yvs4YOjYB49rf/LjseocMg2gvH Pw54GMflKTycldyNbH8a4PhJYoQ2Ae/Y5+E9VNDgYj6y+v3UTtxbfEElyH9OHYHD6BZ4hA o9vqayuWO0bOgG2VV850vabX+Rxwsc2YNhk+wRrIYq1Q4maeHEZcw51zULVz4RTIwCLegM YNohJnX/Z9Fx75n8JhCypSXdi986qkQVfzIIEcjIoZ5H+2mRZmnP19z5KtxW+uMPm1zXVg NOzEpYP/u2HVRR3hP0r+aRTo9PuFWvj5pa7leAslrniGdytVKDRENaxf5vZX3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745032827; a=rsa-sha256; cv=none; b=Ur3YeEUxmvTRoLaji6Th5MMaodr3XffNqWPW7EQh6NfdGxoJ0ALjCoy/ZUb+9ePHQfHMJs EcIStW6chfi0+l/5cwbOAdEQNg2JWbXBqVggOSf1t8mze8LSwb8icDrIH4y2b6rDrTq9F8 KycBGrq7GhwiehFKZ5r+ninIMXxjgx1ojqDVg0jRdTmcNE2huYwyYu++7WHVZaQ+JRtmsO EMbchYBmjvuBYwyz/kEXcROznjhnxGM0AEn/ezgB2hjLhK92i8urnVx+4l28NM8l3ALH7/ V1BF5HwZSynLcs0pTSC4xCsSLo0e8MAA4a528C2Gfc1cPoK8VUXx9UItvqX5RQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745032827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4G9i0uFI8jlq+VppE2sZS+8dsGRrkT+kJkjJIp/izaE=; b=w6tkXYxZ78anvrml/n+DWs4uBNKZBYGcAL19fB0Igd7GdN/AGb3zDEqtpFvO7rDiedMCoX t+Ee/NTUISysN/qxA4k/0D0JzXgWmUpbEC9eedboZ/S7QXWTTsH9Ar9tY8P2t1ds/lxaib MXVPZbonu9lrh1BSFTlzMzQcsWqOj3Vf+AXG31c+HDIgblR8qz+4f/GpvSj1+Qnkig9/O+ M07cSNoeR4HSEl/xrADMmcDYbSAAd4OMMemgAHYgCkiLhCPm3YgUoca2/ZEUvy4YzLmJKG BTe58zrONi+LK/TPskgfR2eZ43BqegPd0mE80r3y+0PNwsXk3xlaj66pyCNuzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfcMZ6PKTz129f; Sat, 19 Apr 2025 03:20:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53J3KQZt023036; Sat, 19 Apr 2025 03:20:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53J3KQ01023033; Sat, 19 Apr 2025 03:20:26 GMT (envelope-from git) Date: Sat, 19 Apr 2025 03:20:26 GMT Message-Id: <202504190320.53J3KQ01023033@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 83dcc133c876 - main - share/misc/committers-src.dot: correct the date for ivy List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 83dcc133c87640e415f2f7c482393fedd0994482 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=83dcc133c87640e415f2f7c482393fedd0994482 commit 83dcc133c87640e415f2f7c482393fedd0994482 Author: Lexi Winter AuthorDate: 2025-04-19 03:12:57 +0000 Commit: Lexi Winter CommitDate: 2025-04-19 03:19:31 +0000 share/misc/committers-src.dot: correct the date for ivy Fixes: 1a169322d8 ("add myself to share/misc/committers-src.dot") Reviewed by: kevans, jlduran Approved by: kevans (mentor) Differential Revision: --- share/misc/committers-src.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 82f68491a969..3bd9c5dfaad3 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -208,7 +208,7 @@ iedowse [label="Ian Dowse\niedowse@FreeBSD.org\n2000/12/01"] igoro [label="Igor Ostapenko\nigoro@FreeBSD.org\n2024/08/22"] imp [label="Warner Losh\nimp@FreeBSD.org\n1996/09/20"] ivoras [label="Ivan Voras\nivoras@FreeBSD.org\n2008/06/10"] -ivy [label="Lexi Winter\nivy@FreeBSD.org\n2025/04/28"] +ivy [label="Lexi Winter\nivy@FreeBSD.org\n2025/04/18"] jah [label="Jason A. Harmening\njah@FreeBSD.org\n2015/03/08"] jamie [label="Jamie Gritton\njamie@FreeBSD.org\n2009/01/28"] jasone [label="Jason Evans\njasone@FreeBSD.org\n1999/03/03"] From nobody Sat Apr 19 03:28:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfcYT1sQqz5sdlH; Sat, 19 Apr 2025 03:29:01 +0000 (UTC) (envelope-from jkim@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 4ZfcYT106gz3gjS; Sat, 19 Apr 2025 03:29:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745033341; 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=8DxGAoy2lTnf4vr1IMKnTIkowY1nS8xqgIc4NUlz0wI=; b=iF8H8lkVBZrOkmVtR+vQDdEq3YCmv0/F/u8pKUxDkg03ry0+NAse8eShodCn0+DU1AGFGR 7xVXOCvn0enctkH2r1bT7X3i659Mao1KjPzIuVPrdvGRFNOFR896rlEcF3ptpGX/D6buEX yvNbnDf3MFuGHxCyfi5KuErF0XCcIXip4SpEUlaSB4qSjlVzOGal/D4O1Xg/BxZEmGzazv L/iMbmAi8PYrto+R2cDqYQ5liz9fDTWfCcuKXX+uLTxXw4W5b2+NpMKbm5fZUp8jv2w04h +GYvMalh4IrTB0dTugTh1tn2TpY+AjyfzTfnttGd7URoXbKBwuASeHSwihKoFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745033341; a=rsa-sha256; cv=none; b=a0sPiBCsBMoHUAmFJ7KPhux97jOo+CH/ZakPqGa8do6hxo/cuBlB8Uqq3sQfO31+QQFnbd unDgTS3Kkoez2F5kiB+VKx91Mm3n/Y7LrRmRvWd4ogr1HWApnsBV8zQI135Z5bB9GFIvXH njzTR1SgkpPSk0YGzalLS8QJs2tLBTyFhW8YCU1MUegSTd5/7Oeqm5Y+jDhSltm/VXjbfH zf2GndqPKiJnv9WpLK5FPyBfnEC4BVI/KbC559PtN+uvMKOdbDwPYOkRi+Dkn0ubGocIAi 79wtVapQCYFV6Qu5VsVGUNw6v3lXc+qGPvnYgSh3tMIG2dJEReX8CcbFwdCjKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745033341; 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=8DxGAoy2lTnf4vr1IMKnTIkowY1nS8xqgIc4NUlz0wI=; b=SUcE5dAHvGy1c4U3GNuYJTIJxa12Lan8wJA0yF1G42Oy+y69X22ESqURjEwfc5mIO2/QAX TpFWf3jcEYXtFkK1xTwUWmich+FWU+eAekCBBXrPLDV/uxkmhGyYGiwcTyzDyv6FYp99Lp bQE1WZfRy5o/iX7bgt0546FeGZrwWa/COGnvKMTfTXfClyaBZDffOYTeMOTv+Jlx11sHIt dECFp2yESZFG2FR1iJ+HOmGDUi4WY0pbZSN2niZwxeZ5juofLNP7wEuuKK1UitG+6f0c1Q 0pg/ldME/tk4DPbRxz8+KSNPk24SoeSp8wyx33prviJ+t0f70ghVa5HF2PwHeA== Received: from freefall.freebsd.org (unknown [IPv6:2600:4040:a6c3:2900:f958:7a48:88cb:c32f]) (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: jkim/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZfcYS68V2z3MX; Sat, 19 Apr 2025 03:29:00 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Message-ID: <23fbc948-b64f-4105-af98-dabcea499934@FreeBSD.org> Date: Fri, 18 Apr 2025 23:28:59 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next To: Nuno Teixeira , Doug Moore Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> Content-Language: en-US From: Jung-uk Kim Organization: FreeBSD.org In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 25. 4. 18., Nuno Teixeira wrote: > Hello, > > graphics/drm-61-kmod is failing to build and maybe related to some of > this commits. > Could you take a look and check if it related? > > Thanks > > ``` > cc  -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=60100 '- > DKBUILD_MODNAME="i915kms"' '-DLINUXKPI_PARAM_PREFIX=i915_' - > DDRM_SYSCTL_PARAM_PREFIX=_i915kms -DCONFIG_DRM_AMDGPU_CIK - > DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_DC_SI - > DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE='"*"' - > DCONFIG_DRM_I915_REQUEST_TIMEOUT=20000 -DCONFIG_DRM_I915_CAPTURE_ERROR - > DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 - > DCONFIG_DRM_I915_STOP_TIMEOUT=100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640 > -DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 - > DCONFIG_DRM_I915_TIMESLICE_DURATION=1 - > DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 - > DCONFIG_DRM_I915_FENCE_TIMEOUT=10000 -DCONFIG_DRM_MIPI_DSI - > DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS - > DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=100 - > DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE - > DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI - > DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI > -DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT - > DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 - > DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_0 - > DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 - > DCONFIG_DRM_AMD_DC_DCN3_1  -Werror > -D_KERNEL -DKLD_MODULE -nostdinc  -I/wrkdirs/usr/ports/graphics/drm-61- > kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/gplv2/include -I/wrkdirs/usr/ > ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/bsd/ > include -I/usr/src/sys/compat/linuxkpi/common/include -I/usr/src/sys/ > compat/linuxkpi/dummy/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/ > work/drm-kmod-drm_v6.1.128_1/include -I/wrkdirs/usr/ports/graphics/ > drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/drm -I/wrkdirs/usr/ > ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/uapi -I/ > wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ > drivers/gpu -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- > drm_v6.1.128_1/drivers/gpu/drm/i915 -I/wrkdirs/usr/ports/graphics/ > drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/display - > include /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- > drm_v6.1.128_1/obj/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- > drm_v6.1.128_1/i915/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/ > contrib/ck/include -fno-common  -fno-omit-frame-pointer -mno-omit-leaf- > frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include - > fdebug-prefix-map=./x86=/usr/src/sys/x86/include -fdebug-prefix-map=./ > i386=/usr/src/sys/i386/include    -MD  -MF.depend.i915_gem_stolen.o - > MTi915_gem_stolen.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse - > msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv - > fstack-protector  -Wall -Wstrict-prototypes -Wmissing-prototypes - > Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign - > D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics- > show-option -Wno-unknown-pragmas -Wswitch -Wno-error=tautological- > compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno- > error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative- > value -Wno-address-of-packed-member -Wno-format-zero-length -Wno- > pointer-arith -Wno-format -Wno-cast-qual   -mno-aes -mno-avx  -std=gnu17 > -c /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ > drivers/gpu/drm/i915/gem/i915_gem_stolen.c -o i915_gem_stolen.o > --- i915_gem_mman.o --- > /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ > drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to > undeclared function 'vm_page_next'; ISO C99 and later do not support > implicit function declarations [-Werror,-Wimplicit-function-declaration] >   171 |                         for (vm_page_t page = > vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { >       | >                                  ^ > /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ > drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible > integer to pointer conversion assigning to 'vm_page_t' (aka 'struct > vm_page *') from 'int' [-Wint-conversion] >   171 |                         for (vm_page_t page = > vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { >       | >                                ^ ~~~~~~~~~~~~~~~~~~ > 2 errors generated. > *** [i915_gem_mman.o] Error code 1 > > make[1]: stopped making "all" in /wrkdirs/usr/ports/graphics/drm-61- > kmod/work/drm-kmod-drm_v6.1.128_1/i915 > make[1]: 1 error > ``` > > Doug Moore > escreveu > (sexta, 18/04/2025 à(s) 20:28): > > The branch main has been updated by dougm: > > URL: https://cgit.FreeBSD.org/src/commit/? > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 cgit.FreeBSD.org/src/commit/? > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88> > > commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 > Author:     Doug Moore > AuthorDate: 2025-04-18 19:26:56 +0000 > Commit:     Doug Moore > CommitDate: 2025-04-18 19:26:56 +0000 > >     vm_page: drop prev and next > >     Functions vm_page_prev() and vm_page_next() are no longer >     invoked. Remove them. > >     Reviewed by:    kib >     Differential Revision: https://reviews.freebsd.org/D49892 > > --- >  sys/vm/vm_page.c | 40 ---------------------------------------- >  sys/vm/vm_page.h |  2 -- >  2 files changed, 42 deletions(-) > > diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c > index 65d278caf3fd..db91b7bab2ab 100644 > --- a/sys/vm/vm_page.c > +++ b/sys/vm/vm_page.c > @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, > vm_pindex_t pindex) >         return (m); >  } > > -/* > - * Returns the given page's successor (by pindex) within the object > if it is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_next(vm_page_t m) > -{ > -       vm_page_t next; > - > -       VM_OBJECT_ASSERT_LOCKED(m->object); > -       if ((next = TAILQ_NEXT(m, listq)) != NULL) { > -               MPASS(next->object == m->object); > -               if (next->pindex != m->pindex + 1) > -                       next = NULL; > -       } > -       return (next); > -} > - > -/* > - * Returns the given page's predecessor (by pindex) within the > object if it is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_prev(vm_page_t m) > -{ > -       vm_page_t prev; > - > -       VM_OBJECT_ASSERT_LOCKED(m->object); > -       if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) { > -               MPASS(prev->object == m->object); > -               if (prev->pindex != m->pindex - 1) > -                       prev = NULL; > -       } > -       return (prev); > -} > - >  /* >   * Uses the page mnew as a replacement for an existing page at index >   * pindex which must be already present in the object. > diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h > index 0a40b42ffb62..bf2e850612d7 100644 > --- a/sys/vm/vm_page.h > +++ b/sys/vm/vm_page.h > @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter > *old_pages, vm_page_t m, >  void vm_page_launder(vm_page_t m); >  vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t); >  vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t); > -vm_page_t vm_page_next(vm_page_t m); >  void vm_page_pqbatch_drain(void); >  void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue); >  bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old, >      vm_page_astate_t new); > -vm_page_t vm_page_prev(vm_page_t m); >  bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t > skip_m); >  void vm_page_putfake(vm_page_t m); >  void vm_page_readahead_finish(vm_page_t m); > > > > -- > Nuno Teixeira > FreeBSD UNIX:     Web: https://FreeBSD.org > FYI, emulators/virtualbox-ose-kmod, emulators/virtualbox-ose-kmod-70, and graphics/drm-66-kmod are also affected. Jung-uk Kim From nobody Sat Apr 19 05:10:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zffpl0qvTz5smB5; Sat, 19 Apr 2025 05:10: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 4Zffpk6VNRz3T95; Sat, 19 Apr 2025 05:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745039438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrgd+1ym71O74z+aUw4J6YVlD+iMIkrtcK765gJIVE4=; b=eK2Vx+hWkvOL2ejEu8hXnh8zrSRIiXypuJMWYLxocvXErqD+u3BIXSlGtAflJOV4vaQCbq lcH7lUxU9S07hOKjRgVCXvj20CsctEiOJdMTcO7eFxPMXTV/NtJaHe8ijKK6d8rONtv46i Llx0NS5b0J5RjVvQZq3bfnwu5xuSlCUfYQFTI6FvkStcEsTvEnEc8twZzJ814barte1Ofe gw4DQraJD4sg3BrVgNrHDnhwaXIn5MBdR1SjHdIdyYS9+P6oAc05uaCiigqVMIdbaLEjsQ koRRwzG8T0LeoQbjiiYWXwps6aLwhXHrrVRD3L0zJkqdHy//s4w637HziqBkGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745039438; a=rsa-sha256; cv=none; b=obrn/rR/KbhkZ2dWgZMQh6nsRTOQgF7sGnBpq1RgzLcT4h5Pz4iZ1COjn4XJUjsEhnlcNe x1YVOr5wr6yKgo2OTq26sSXjuwRMvhGtPLzjDz9uKFxmUS1e88Dxv/LwI6Th1+ajuyPor9 CCmVe8jh22X086tEdc+2GSbjUTaJtTpqp21LSdGuE/og04my49VU+VnHR5qScu335kGFbw +y9g1NiXo4w3IiNidbZnO5jlVwR9peJthgAh3LsghIlz/D7Cq1Thgdbz1JmwHOQ2VecZ4d Svr18J+srPpsB1gVrbsOJ9kO3DidivD1u6pY9bLBDm4wzpp0tLaZ96fMi3Fe+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745039438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrgd+1ym71O74z+aUw4J6YVlD+iMIkrtcK765gJIVE4=; b=bPjda1MOnCbVPOFvBIZdvfzK8roEt0OjoBtHWomx7UVQaw2vCt7VEBKu58KxlQ3c0lX9UH TXR/n+gxF65rx8IeE4GoWiIkLai6mMJcRWrsd28Eqtkn2cFw2gUFXu/T+eTRkascemSnrO YJO5PynBPddUTYQyzxyZV9hFh5eP/R7DtTUEuvuSzfoxblplxVVFzamheZ38RGEm7r12bv x8vVJ72bNB4/t67ND5gnS2KHdQ3NjIMAtf9fWmiiM2W62gkSdGJ4cNzQBVHyK69KnkgHLX 8Lwdm+qalkPt4Rf0VKhuMbDA1C6CEugFvkkAMZnFd7qpQ7BAa1ZdVBxoh9+pWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zffpk5SlDz14v5; Sat, 19 Apr 2025 05:10: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 53J5AcN0031250; Sat, 19 Apr 2025 05:10:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53J5Ac4I031247; Sat, 19 Apr 2025 05:10:38 GMT (envelope-from git) Date: Sat, 19 Apr 2025 05:10:38 GMT Message-Id: <202504190510.53J5Ac4I031247@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: ee7a874557f4 - stable/14 - 14.3: Update stable/14 to -PRERELEASE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ee7a874557f46e8a16b37e3fcaae3a9937ac7850 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ee7a874557f46e8a16b37e3fcaae3a9937ac7850 commit ee7a874557f46e8a16b37e3fcaae3a9937ac7850 Author: Colin Percival AuthorDate: 2025-04-19 05:09:46 +0000 Commit: Colin Percival CommitDate: 2025-04-19 05:09:46 +0000 14.3: Update stable/14 to -PRERELEASE This marks the start of the FreeBSD 14.3 release cycle; the stable/14 tree is now in "code slush". Developers are encouraged to prioritize fixing bugs (and/or merging bug fixes from HEAD) over new features at this time. Commit approval from re@ is not required but if new features introduce problems they may be removed from the release. Approved by: re (implicit) Sponsored by: Amazon --- sys/conf/newvers.sh | 4 ++-- usr.bin/yacc/config.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 3ff993bdd2ab..b7feacb90152 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -52,8 +52,8 @@ # TYPE="FreeBSD" -REVISION="14.2" -BRANCH="STABLE" +REVISION="14.3" +BRANCH="PRERELEASE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/usr.bin/yacc/config.h b/usr.bin/yacc/config.h index 04ead1f045c9..b9cc6d4df057 100644 --- a/usr.bin/yacc/config.h +++ b/usr.bin/yacc/config.h @@ -92,7 +92,7 @@ /* #undef STDC_NORETURN */ /* Define to the system name. */ -#define SYSTEM_NAME "freebsd14.2" +#define SYSTEM_NAME "freebsd14.3" /* "Define to 1 if you want to use dbmalloc for testing." */ /* #undef USE_DBMALLOC */ From nobody Sat Apr 19 13:56:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZftSy34bsz5swSc; Sat, 19 Apr 2025 13:56: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 4ZftSy2Mmtz3DS6; Sat, 19 Apr 2025 13:56:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745070962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i3Mb7W9KPrUf6vbG4vACO3wcw5pen8zKn+JMRtHbtuw=; b=uNnZuDWouDmDUKce2dxZYb1b1CwkXW/KZVxarTMi6jnwLTRkywBbokqQiz3m0W7aiguaf4 mKMlF0sZDniEn7eQkY1CoPs9ZxDJyrwETQyM8nXgQYkCjEkQOn6d+W9k+5bofVb9aZ4Ch8 ITFoRe2/UsDrPugZm059+AI9Jujth9vPBbgYmDN85bQWbaPJU2kbGrm4dZz1s/cYKLqrQQ uXwPES1GIfDT6LnCPxEojEjOYzboN62SwdeQxn0Nm7qfkPcLuImb22tP4rg58EfvifnGs2 BLmf8kYGzDE+iTFN5H9cbvqR1gqA8gDaagH1zbRwhWFVpWdrwdooorBfieciPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745070962; a=rsa-sha256; cv=none; b=EkQAk52IS247Nes1h7BvnfmLB6hGh9s/U0GZGtuEaL9ncYAEl0wRUw61u82XE4E9x6dCFk brM8GmUwS6c8XyzMo10OLoUla+kZEJQJHAf2bWCISBVYA8Faf+VYIMPhpnUdKcO+t0op5i LsFyyDK3t7NjVyXjieksZH6vHnhdBXOMeNDLaTwyVSHqVS4YQxPoHWFcEFm2s2Cp1olgwb J/SLzyWJUhV5cJbnQj5aHVXrJW6Eu9PJVg2uh6rXw6WLnhhezcF2KH3dJlkOfOnwJ+QR7I p0iP6Q55Hj4u0OsF8w8Jmziwb3pp/BjHF/XOUMD8OxjxcCoMge7HAbd6dScRKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745070962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i3Mb7W9KPrUf6vbG4vACO3wcw5pen8zKn+JMRtHbtuw=; b=FtL2C2ixwgJ7dVn0LerAOdtsZSML1PsciAW3VAIwcP5FtITF0qR1SCZbWVrSchGgPEut02 u+tLgXRfTwU3GLLwwhuxSgcNHFIByBRcgLhNefYzwh0ULwkCp3zzfyDnEdUCMhv2c01Nmc 476MX1/qZasIFqipLKOSUvjeN+BSIagTMmRMTNEpZybPZYkwzYFHA6++pDkiZkrt0vbgLK Rm88vx8DoJcFcUJ2YGfKXy68b3MhyFQPKRUZLkQ1RD0X7SSfv8icqgF9ZpOnPY2ZsElGau ii2dfmfVyMCUj0ugckSHC16jGvMPi8SCK4xYSI1fI2DHqBU6waWMy0T1xIyeYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZftSy1m94z6jt; Sat, 19 Apr 2025 13:56: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 53JDu2Vg011618; Sat, 19 Apr 2025 13:56:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JDu2Zc011615; Sat, 19 Apr 2025 13:56:02 GMT (envelope-from git) Date: Sat, 19 Apr 2025 13:56:02 GMT Message-Id: <202504191356.53JDu2Zc011615@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b7527823fdcc - main - vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7527823fdcc29f0da9c17152dbb062eeb18244d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b7527823fdcc29f0da9c17152dbb062eeb18244d commit b7527823fdcc29f0da9c17152dbb062eeb18244d Author: Mark Johnston AuthorDate: 2025-04-19 13:49:48 +0000 Commit: Mark Johnston CommitDate: 2025-04-19 13:55:37 +0000 vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev Out-of-tree code needs to be modified to use iterators after commit a3a88ed22cb1. Fixes: a3a88ed22cb1 ("vm_page: drop prev and next") --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 39f3535a136d..8dfd5a243165 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500037 +#define __FreeBSD_version 1500038 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sat Apr 19 14:09:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zftmq1x29z5sxgJ; Sat, 19 Apr 2025 14:09:47 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) (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 4Zftmp578Cz3MbR; Sat, 19 Apr 2025 14:09:46 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-6e8f254b875so26456886d6.1; Sat, 19 Apr 2025 07:09:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071785; x=1745676585; darn=freebsd.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=pw4ZfjNnT1f9ymJNwPYLFsYRmMGFWksEUPS5TvMMEoA=; b=OQLaSJSVM/CXhpX28GuKC+EiEN/cOlx+QPUiRTtiLJxyWKw+fcshy6OxM+nv8sDns5 SjSqU9AXDYgQftUDphB7rabhqElBee25Yk/cE89ucrsLr73qlCDFN34mgydXIvYOR2/m bqVJN5idc4I4CoHfTscBlt7fP79nxdditXGx2bbypsgzc/YJ9YM1kpd3oXDCJRykSReF RCCjys6V1DmQWS3FOaTg8c+yomYbn+jjUSg5Wfx1mZKMtTd4Gjl0mCqTXYVMEGTZPzai JnYnLOrbaDQ4Hxt/8K0LD0UEJws4MZvLW13RW3tE5Pys71LwpVEHk3ZUjXfQ1/WxDOpC B7IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071785; x=1745676585; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pw4ZfjNnT1f9ymJNwPYLFsYRmMGFWksEUPS5TvMMEoA=; b=BADEYxrUtqH5Iaq0fj8e7MXhodqp+q/0uuAUJYMXZwpVV6P75UbjAGdsrS0PYI/tnY oipYw1+0jrQr3xhcxnPsaivnjNC1Q30wr5Cr9OfMjdrcOO7YZqv/ahoulpUxALzW1yG2 li0P++6IkGVYYgx6Hjzid9OlnQWIlDH9E33UI/yB366aqkPVmI0qvWHTsGCJqlzcWXST 6Hm8YShzU2IidJTTRanc4X2GCnpcZYarsxP59l9V08QNJ4ekyDeP69ioSj2h8tpCvNMe izw3ok1mJZenyPmXmiT1bfRbGukxn+RKrshDXPL6rAzg0Tmf2wku/gj2lpOX3AbxGu0d VH3w== X-Forwarded-Encrypted: i=1; AJvYcCVLyxHijukdkCv5KYvuBJeuPx56zhfYCOSFLnnKtWZMSSk9RF+97hoTFa0st6BJU2awQ/Vd4XWGwaauPGd8lo2MdNIweNU=@freebsd.org, AJvYcCVoLHKyty19ibp6U8NGZZ3PSKWucpWIyKUhrVTIrSHLGwh1xQ9ArVytiP3dyXzF4nIucvqu5+upIPeEvUgf1JrcL7d7@freebsd.org, AJvYcCVxKFcaE1UPWjA61h7eu6DRa+qFeghnhGKz9M0Rxf7Udt51uZpZjiIbS7AuZ5Z6N52e9dCFY6VaqcNJCA88Ino=@freebsd.org, AJvYcCX1N2LHwKmp09/a+hAKpoQsaSrePKUmVKGq7wTULw56BmMa+wm9f4zTGA8cx8MEaCvQrnqJArw=@freebsd.org X-Gm-Message-State: AOJu0YyVTDfZ+y7droTofYqPMUb/h9FW+KG51jfmcd6RVsWRk6OHYUb3 UF01Gb7DFP5N5AUIyq7SMr8CnyPlYKmR1IHDdQoJt/8wsjrr8dsLeUd1suCCipA= X-Gm-Gg: ASbGncsdS65FaKbksxOMldLPYwlKb3z4N6/5aXBppOgjT8dgq+9d5UOrAROuvhh2Vb3 DIW8UF3umOTNOoHU+AOQOSMrNLtDuDwpSO6t7vQlDNdBAgePG++bwPunuiv7wfCGUBF3NQkTYhW LQljIEJWZwWlUUykbRkvSH6yicQAaCS1EHx6EQd49x4cyuqjyLYLyWOZwkYadVALBErBRFVGM86 m0ni6gD2ycWnjT0l46ja1vD4KhuBKEbAo++FXdw9xMvrZLAiRZ4SGRgpFxsJHbrnJzEHkrOXRWu J/Iakwj9brNtCTEkJ4uhL46dgr6svmQnSI9onplCAerWKRQngZCvTnM= X-Google-Smtp-Source: AGHT+IETUIDlbWXX794mlwZV3y1W5Z3TByIXstVnDYXroyUbcXwPcuZDU0ti+DBxwfsuuLYaYN4rFw== X-Received: by 2002:a05:6214:5007:b0:6e8:97d2:9999 with SMTP id 6a1803df08f44-6f2c4656825mr115810236d6.28.1745071784693; Sat, 19 Apr 2025 07:09:44 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af1717sm21891176d6.15.2025.04.19.07.09.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 07:09:44 -0700 (PDT) Date: Sat, 19 Apr 2025 10:09:41 -0400 From: Mark Johnston To: Jung-uk Kim Cc: Nuno Teixeira , Doug Moore , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next Message-ID: References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> <23fbc948-b64f-4105-af98-dabcea499934@FreeBSD.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <23fbc948-b64f-4105-af98-dabcea499934@FreeBSD.org> 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: 4Zftmp578Cz3MbR X-Spamd-Bar: ---- On Fri, Apr 18, 2025 at 11:28:59PM -0400, Jung-uk Kim wrote: > On 25. 4. 18., Nuno Teixeira wrote: > > Hello, > > > > graphics/drm-61-kmod is failing to build and maybe related to some of > > this commits. > > Could you take a look and check if it related? > > > > Doug Moore > escreveu > > (sexta, 18/04/2025 à(s) 20:28): > > > > The branch main has been updated by dougm: > > > > URL: https://cgit.FreeBSD.org/src/commit/? > > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 > cgit.FreeBSD.org/src/commit/? > > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88> > > > > commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 > > Author:     Doug Moore > > AuthorDate: 2025-04-18 19:26:56 +0000 > > Commit:     Doug Moore > > CommitDate: 2025-04-18 19:26:56 +0000 > > > >     vm_page: drop prev and next > > > >     Functions vm_page_prev() and vm_page_next() are no longer > >     invoked. Remove them. > > > >     Reviewed by:    kib > >     Differential Revision: https://reviews.freebsd.org/D49892 > > > > --- > > FYI, emulators/virtualbox-ose-kmod, emulators/virtualbox-ose-kmod-70, and > graphics/drm-66-kmod are also affected. I submitted https://github.com/freebsd/drm-kmod/pull/348 for drm-kmod's master branch. I believe the same change should apply to other branches without modification. From nobody Sat Apr 19 14:35:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfvL52MMnz5t0bd; Sat, 19 Apr 2025 14:35:09 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (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 4ZfvL44SVCz3bn8; Sat, 19 Apr 2025 14:35:08 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-47688ae873fso27711691cf.0; Sat, 19 Apr 2025 07:35:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745073307; x=1745678107; darn=freebsd.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=+qbaNawlvaxgPu6CbgxizMfVOj5BSHWjhn1VGfyfjtQ=; b=XPgK1TShJyrWJ41YgYW15RYrrEAJ5eCYIx8cHJyopxN2HczJqCOttYUeicWvfeiukg oudlFotVs/IJnoC9PG+rRbvk+92YjPv26UtKBJECxnsueicYFgGaJqnHFD3waIs7BlIf CjafYhg0JrbQeFphnt0mFozSlLXXFPDd3weUFWZaeFWZ8hjAOFZfE3tfEjRnBKp2hAIa cEyL5PC0ghltCzMPkg9UXUxym5nec2EatG/RjG88lwhcnpy/57EDerS0c5l5tm4bErcz 11kqg+3aqTPjSQLc2o2QyvfrnqKscclKYmK/K7Bd9SbhNrieaTO/ZKc1Zs93siNOEGyU glLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745073307; x=1745678107; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+qbaNawlvaxgPu6CbgxizMfVOj5BSHWjhn1VGfyfjtQ=; b=hLMfyh6L/EiL50fq98csvTSYaLwSH3mqQYIXuLfVFgAp5bxT9vtse9qXOsz0i70XME DMk7JUAdWnFrxG1QSTxDcyZQS+K20X+9B/UvNEMtXykfuiNEP15ECDl9qtmJQAIMMGys 7MazK4PpZfzy/+fKrzAtOs/Nv/bC/VvG33+zH9e6HyYEsxdckYwv1V5onlUnmIi+YC4u j675Jy3fApRj7hgpNNP1TwQ6fEGFRmdOqFmmrbo7yYiTFjs9RP7s811WpMgcxPhQNvFF ppOjizdQtnSDGvwhbK8BK0b4QkjDGnCZuYFX4CnXurZkT68c+xO8/B3zCg4DCfNIagk1 fVoQ== X-Forwarded-Encrypted: i=1; AJvYcCV8fdgyNj5/ZX5zayjj1MuWb5FcgHmKHKtQizUqHdn4HnIAcD9C03Upt4/cGJcEx0O95x2oAFRwkn9dXCeSfynjrsBTBHo=@freebsd.org, AJvYcCWLBamWNBkScIORU+n/RHdb2T3QLKXh0G5Nfk9Wx234XNOE4Kw1nX+dX6wQ0Fu5HXENCoLtejU=@freebsd.org, AJvYcCWsVeeUId2rT5DR7WLuQltVIlEQ2y/jDlAFZ71AN896uiTnQh24jG1Lvhr95qm7oUNCp+mRKJeoM0Zt+QpBfbf1qWdS@freebsd.org, AJvYcCXe49X3KVLdJsuiJqgJkP2xEDo2xwPKj957W6rNw6A723CRBVG0nr3C8pYWVhFSoX0lrBEpa0buna0FeJybq8g=@freebsd.org X-Gm-Message-State: AOJu0Yz8hybadvkqdbW70AH2+olwM9pQKVVUL+HNJXJGPLHYV7KdNhoZ EnFT0zRQ3z6AldTvXyUzaTyHJ9eDt/qGc/pBWxyOdEd3pOLpIblzy1LdeK2fMC4= X-Gm-Gg: ASbGncuTfyjxow5swX7Nmc5h8D60arU2x3cxI7DZ6QDWYARkrOY8ULWlMcLcNkc9m0i IHt7FUcCF+qwm4RY7emBmzlY5y0y8E5xJbKiu26qzUJmyja24WRbwY09YP9HoL/+5+t6UGE6ORq XIiwunA6o9PKoRyNO9aYmWhg/YueNhAAxSG6pMFFZ47KQbuwS0C9NDjq62gmp0416lsa/0aJazx 1Riov3r7YmZiOHDEjiHN8nyJIJGjjrPYXnJwiFXI1kZdVjHiQK4TKwmZ5a/gkPEPVdiNZIVYVYC ac47WzRElX5E4cWlWLqXCVGooxlMkszeSbyMc4TAzoeiNr/LEycZ08g= X-Google-Smtp-Source: AGHT+IGP08ceS0UQzoKt8pXUPj7Pr/85Ay4X1MhWZa0LEDsdAVeV28CyDhrfOTSe5IUovcHfMnrBkg== X-Received: by 2002:a05:622a:13cd:b0:477:6c0e:d5b4 with SMTP id d75a77b69052e-47aec35a43dmr116370961cf.2.1745073306860; Sat, 19 Apr 2025 07:35:06 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-47ae9c4c5f2sm21668221cf.39.2025.04.19.07.35.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 07:35:06 -0700 (PDT) Date: Sat, 19 Apr 2025 10:35:04 -0400 From: Mark Johnston To: Jung-uk Kim Cc: Nuno Teixeira , Doug Moore , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next Message-ID: References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> <23fbc948-b64f-4105-af98-dabcea499934@FreeBSD.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <23fbc948-b64f-4105-af98-dabcea499934@FreeBSD.org> 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: 4ZfvL44SVCz3bn8 X-Spamd-Bar: ---- On Fri, Apr 18, 2025 at 11:28:59PM -0400, Jung-uk Kim wrote: > On 25. 4. 18., Nuno Teixeira wrote: > > Hello, > > > > graphics/drm-61-kmod is failing to build and maybe related to some of > > this commits. > > Could you take a look and check if it related? > > > > Thanks > > > > Doug Moore > escreveu > > (sexta, 18/04/2025 à(s) 20:28): > > > > The branch main has been updated by dougm: > > > > URL: https://cgit.FreeBSD.org/src/commit/? > > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 > cgit.FreeBSD.org/src/commit/? > > id=a3a88ed22cb111da3336f64ec3ba5815a8278f88> > > > > commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 > > Author:     Doug Moore > > AuthorDate: 2025-04-18 19:26:56 +0000 > > Commit:     Doug Moore > > CommitDate: 2025-04-18 19:26:56 +0000 > > > >     vm_page: drop prev and next > > > >     Functions vm_page_prev() and vm_page_next() are no longer > >     invoked. Remove them. > > > >     Reviewed by:    kib > >     Differential Revision: https://reviews.freebsd.org/D49892 > > > > FYI, emulators/virtualbox-ose-kmod, emulators/virtualbox-ose-kmod-70, and > graphics/drm-66-kmod are also affected. I also submitted https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286206 for virtualbox. From nobody Sat Apr 19 16:25:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfxnC73Bzz5t7M8; Sat, 19 Apr 2025 16:25: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 4ZfxnC6ZCqz3bj7; Sat, 19 Apr 2025 16:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745079919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvzNxFWKQwHLNvNAWOUfBqoDWZl9iqo8EJFknCEQSzg=; b=RMUmQpHFO2vkw0Uzg658IGDgHKIcFccIdt3oas1vPMUAdvPL5Svgo927N08kw73Q0dL9hh HyN9CkCjA9Fc5FMv5LoeKf+kODh5IGxZCxy4GzeO6EvRgISUbjDFOh0ug/dt/K6Plcw7aG 5c8DAJBZSq5PSkDm7Efp++xKryISmhqBqqoZTbezqVs02HNrMh+ykYU7rD56Mq0AQmxlm9 NyrCuJJ6+/j+He1pPDMIDR+2N44fnv+PQ6LfGIwRnXqMBQ9/62UAVo7kc/Mda/XWxELpdv Vqu69ecchHP07yMlPK2IU0jDldg7YpCeOWMikc9kw/vK82OJCKg667zF3jUQeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745079919; a=rsa-sha256; cv=none; b=i7cIdRkfR/A/sAWjb7bcXiSrsqZhhvvVl30dzm8WUR9MElhQEHlzMf/y8Bzz57yHSpXocL zytXgF7j11Oh6PFcsW8voUCXmx1SFyGd3dxchi4MZp9BoY6CqdKZ1/CConXUb2OP33wsBp EYejhADNc6ebF2DnPtxNv1qHi/qgO1bcX9lHa5nyYIkXGa/J/oJDygpD339dbFMpE4fb8U Xf4aSkcuhn0s53k+m1nt1Y9rONDP6EWkJpqhktaEZWnPuN1rvPCp5vZ7QLbFcN5+r9htiF oyJjHUjBU3ogTnIQ6g0RoSF4aWyg/dKPXWXdTeTlQcaN3M0gtEjYce3V3MVtyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745079919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvzNxFWKQwHLNvNAWOUfBqoDWZl9iqo8EJFknCEQSzg=; b=uK1rQIU6lwRGPHcF7G5rX0sVutS+zsZyrBq+A5s3fm9prTkPLnHazkVXN/KxkQ5HA+9KWc Sen23cis/WDxf+RS05vjoxm9d+UOZsRzDWoO4kHMxwfH1gs8zMi9mEds7msc70Svm3jVrF Faph8lRMvkuPx7LQA0FHj98SG4sjwb8iivND5H80URqi4lJJ9mmEqajmz2D6A34Ph4chMz m6T1MMOwafgKJfAIAukEMyu3wugxZh85VTcW+hoBOtNirXBno3Ub406zfu4WUrSXh36i6/ XTCpq8Xw8p3cqtfMC4EH7lVMR4Y4JB4WdM8XgPAOaMri3MhumK05wE0kjGWbaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfxnC5zKQz9j2; Sat, 19 Apr 2025 16:25: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 53JGPJX5091150; Sat, 19 Apr 2025 16:25:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGPJvC091146; Sat, 19 Apr 2025 16:25:19 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:25:19 GMT Message-Id: <202504191625.53JGPJvC091146@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: d9bdf419b19f - main - isp.4: Improve HARDWARE for HW Relnotes + SPDX List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: d9bdf419b19f658a79a69168ad740cd95cdf3e5f Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=d9bdf419b19f658a79a69168ad740cd95cdf3e5f commit d9bdf419b19f658a79a69168ad740cd95cdf3e5f Author: Alexander Ziaee AuthorDate: 2025-04-14 06:29:08 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 16:23:23 +0000 isp.4: Improve HARDWARE for HW Relnotes + SPDX Convert the supported hardware into a descending column list to improve aesthetic, density, and utility on console and in the hardware release notes. Move the section into alignment for predictability, and tag spdx. MFC after: 3 days Reviewed by: carlavilla, imp, mav Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49721 --- share/man/man4/isp.4 | 48 +++++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/share/man/man4/isp.4 b/share/man/man4/isp.4 index 17c83a2e46d9..6fea63fdd5d5 100644 --- a/share/man/man4/isp.4 +++ b/share/man/man4/isp.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2009-2020 Alexander Motin .\" Copyright (c) 2006 Marcus Alves Grando .\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center @@ -24,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 10, 2024 +.Dd April 8, 2025 .Dt ISP 4 .Os .Sh NAME @@ -79,6 +82,23 @@ the tape drive. FC-Tape is automatically enabled when connecting controller that supports it to a target that supports it. It may be disabled using configuration and hint options described below. +.Sh HARDWARE +The +.Nm +driver supports the following optical Fibre Chanel adapters: +.Bl -column "Qlogic 2690/2692/2694 (2684/2692)" "Speed" "PCI-X" +.It Model: Ta Speed: Ta Bus: +.It Qlogic QLE2874 (2814) Ta 64Gb Ta PCIe +.It Qlogic QLE2870/QLE2872 (2812) Ta 64Gb Ta PCIe +.It Qlogic QLE2774 (2814) Ta 32Gb Ta PCIe +.It Qlogic QLE2770/QLE2772 (2812) Ta 32Gb Ta PCIe +.It Qlogic 2740/2742/2764 (2722/2714) Ta 32Gb Ta PCIe +.It Qlogic 2690/2692/2694 (2684/2692) Ta 16Gb Ta PCIe +.It Qlogic 267x/836x (2031/8031) FCoE Ta 16Gb Ta PCIe +.It Qlogic 256x (2532) Ta 8Gb Ta PCIe +.It Qlogic 246x (2432) Ta 4Gb Ta PCIe +.It Qlogic 2422 Ta 4Gb Ta PCI-X +.El .Sh FIRMWARE Firmware loading is supported and handled by .Xr firmware 9 . @@ -89,32 +109,6 @@ module. It is strongly recommended that you use the firmware available from .Xr ispfw 4 as it is the one that most likely has been tested with this driver. -.Sh HARDWARE -Cards supported by the -.Nm -driver include: -.Bl -tag -width xxxxxx -offset indent -.It Qlogic 2422 -Optical 4Gb Fibre Channel PCI-X cards. -.It Qlogic 246x (aka 2432) -Optical 4Gb Fibre Channel PCIe cards. -.It Qlogic 256x (aka 2532) -Optical 8Gb Fibre Channel PCIe cards. -.It Qlogic 267x/836x (aka 2031/8031) -Optical 16Gb FC/FCoE PCIe cards. -.It Qlogic 2690/2692/2694 (aka 2684/2692) -Optical 16Gb Fibre Channel PCIe cards. -.It Qlogic 2740/2742/2764 (aka 2722/2714) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2770/QLE2772 (aka 2812) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2774 (aka 2814) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2870/QLE2872 (aka 2812) -Optical 64Gb Fibre Channel PCIe cards. -.It Qlogic QLE2874 (aka 2814) -Optical 64Gb Fibre Channel PCIe cards. -.El .Sh CONFIGURATION OPTIONS Target mode support for Fibre Channel adapters may be enabled with the .Pp From nobody Sat Apr 19 16:35:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zfy123jKzz5t8SB; Sat, 19 Apr 2025 16:35: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 4Zfy122pj2z3hyd; Sat, 19 Apr 2025 16:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745080534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tK+6FlIlBfSxodCnGsDNXU34Op8/Q4pjyr653b6U9V4=; b=CkU39MqXwbAH/mn6nqeQyEWxshyIjmy9efO/QFo+xr41AuqsUsZ8ZuyK9ESFYRSz4/NLwh Rc/GmEgMTMDIVqVH7JMavfCghDOzYqaql64Guu3q7GtXBA8Tc4Mn4qxyaT592UytvXvNqc wg9jOtdtXmJFSZadqisT/VpEvdUmDiSOx6vgISjaN4hHX2HmFOGy5ZZ1FPvhQiwqnDgyBU VqIGaaJ7xi3BgfiS5LBS5xMrYDjnOW8kpWyeUN4j/CEoOP6A0rL/Palg6f7olv0a21i2yn PSVFQXv4qs6y1NTYuLGQgyXQmUbVHtFGWLMfHXrMwzDnWWPo8icadmDSdxckfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745080534; a=rsa-sha256; cv=none; b=yJNLgEMh+lTiEpZ6MB21DtyP380WE+ABrKoTgNBX4ne3tws3JHq86jQdS6UXyze8qYL1LG LEpacnteQDZy1JjgwWktoob2NXI6cL7lDqcnEnxjyy5yEsxKwamkOgrOLq6eH+uTFoNSb2 je8oKgWuR7aULLQFEhBMVF1GLaB8k79VmFKHTBUHLwYza/iyw4xv9qzpjYVnBBJP9VJ4DG tSPkq6GU1dCGoDkS8u2CVDVX3dYaj+9p+aI+h4br2A7dujS8kJzw+mZawHkArwL4eb9KK6 YZ9MqQ6Q6f9GvQO0W6+0JPhZeL18taiAf2NCEL6691TiTdj6JxXXOOjO3MPZpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745080534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tK+6FlIlBfSxodCnGsDNXU34Op8/Q4pjyr653b6U9V4=; b=CrqUKSJecVuf8K9LP9BfHQvMqUdcHmG8vadAt1PkAJRYIHuW7z1c4bhK24aVxPBFSufHnn N6ewyzFWTBmluRPH1Zode2r6jtu0S5N8bSJajejujYNQRjz5x7fExhYKpYuqSRO6iqoiQA xN+puGth6E8Ac/vxLpNR/RQybS0/wkmGWGMHOMS6DlagWBNMSyJvyyktvcptKGt0MG70KW BYBvaFnmIueRJaFqW5XNZcjjLvF1v4M6UQcjVqyFRdgYuQmrpm581nuhfaA4MeTAkOAKEC RgcWAurqrh4rABW0TRzG+In2gfkc8E/fQ3zagiF0mFsBfZUIX9l0jkJM1ydKXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zfy122QJFzBkw; Sat, 19 Apr 2025 16:35: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 53JGZYw5009878; Sat, 19 Apr 2025 16:35:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGZYh3009875; Sat, 19 Apr 2025 16:35:34 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:35:34 GMT Message-Id: <202504191635.53JGZYh3009875@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: bcd96c3180d6 - main - vm_object: reset iter in page_clean List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: bcd96c3180d640d57e7a7e372457b085d0c9862e Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=bcd96c3180d640d57e7a7e372457b085d0c9862e commit bcd96c3180d640d57e7a7e372457b085d0c9862e Author: Doug Moore AuthorDate: 2025-04-19 16:32:50 +0000 Commit: Doug Moore CommitDate: 2025-04-19 16:32:50 +0000 vm_object: reset iter in page_clean Reset the page iterator unconditionally after busy_acquire(WAITFAIL) fails. Reported by: pho Reported-by: syzbot+b5f9ebf4c2c63a5db681@syzkaller.appspotmail.com Fixes: 9cc73397534e ("vm_page: use iterators in page allocaction") Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49904 --- sys/vm/vm_object.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index c696408def20..a1cd01d9fec6 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1065,11 +1065,10 @@ rescan: continue; } if (!vm_page_busy_acquire(p, VM_ALLOC_WAITFAIL)) { + pctrie_iter_reset(&pages); if (object->generation != curgeneration && - (flags & OBJPC_SYNC) != 0) { - pctrie_iter_reset(&pages); + (flags & OBJPC_SYNC) != 0) goto rescan; - } np = vm_radix_iter_lookup_ge(&pages, pi); continue; } From nobody Sat Apr 19 16:43:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfyBL1SR0z5t8xN; Sat, 19 Apr 2025 16:43: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 4ZfyBL0YMtz3nD4; Sat, 19 Apr 2025 16:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=amd5EJzHhN8IVZjJUaqh6yDYB7Ar+s64fw6T4cJ662U=; b=n5cKx2RKTMESJAKu8ZfGwa99OoU3Oz8moEbk8H3wJ1o2B+n+ACkKnS4hd9/TwxkDGvStb1 dQSRu07IJAqYu5/yz9coli5zSc0Z9R5A5a9/Th0LPyKrcxKma4qNxz2/aI0OrxNDbH9Mia P0GqDu5KhvQLVu46/RZY57GStaU37SmOAmXaSb9wDN4XL0dtKidSxo2Q3mVoWcxztfu8uF 1obl8SE/J5IR9ILla5zszrh4Y5b2wuKHK7hGRKB5oVSZmOr+f+LGxAXHEJrutfM9snFk1C MAChwPO2M1yNeNzP3UG2m5oRsc9Zi3icO4mn7jqHQuMgDvOfuk4ZCDVtdB8pWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745081018; a=rsa-sha256; cv=none; b=vHMpa4KP8yeukbrEUD6sKqFL34Vzx7086/EzsF3bsxvYGSP1EN5yWBudqQtIsG6PxVXMaF teZ4xScEZqWEXtJRECdM99HLm6ROpkeT1ZAhSvl+dVAs0o2HEPl8jGnTHZloztNiYB6aR2 1vUZSJYghKD8TFctIO3GZsBK6fyX20DOMaJPSAT/dsUVHEeH7KSs6WJwQBk6iG7v0xnA6H iR51kP15wBUo7EXKOgsGHdoDVzBt2MpEMFnNKVH6yLiB9quImGEccX6haGoZNFjrKJQH4K csFX1dk790OLM8BicZ5kifmjSXTKvog9dybtRA4GkW3ZQc7Cl0fQtFr0Ca7aeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=amd5EJzHhN8IVZjJUaqh6yDYB7Ar+s64fw6T4cJ662U=; b=dYrHzizApGpXROhjW21dTStpBBcXWjGTd7kfOWEIdUzhDQ5LQAun74WjP3YABsFa+dZrXY /2ZwjwRbPgK1Eu87ZoiXi4QU3ZDKLazamY7BfBlPRTN9WY41pAJq3gbfJR/iCn9gbKJKDq L4y17Cl57BxCeGvC6c0APjaT19tjtXp4SOmLfh768v54DGme5IkLqTvFSLnhtnZ9CGvF3/ tPO3ht8LHeMGWDNpYcD/pDsfXxIXJU+1XREq2A1GuS46JLEx97wccvfIJizWy6unBp3JNM P8lYWvZMgXwScD9zXyu2VwW5TdRmLOEs8ErAEAakc8RSti31ODe2CyzPazliVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfyBK7360zBJ9; Sat, 19 Apr 2025 16:43: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 53JGhbhx027456; Sat, 19 Apr 2025 16:43:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGhbZI027453; Sat, 19 Apr 2025 16:43:37 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:43:37 GMT Message-Id: <202504191643.53JGhbZI027453@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: ec95b6a3c77b - main - examples/csh: Case insensitive search in pager List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: ec95b6a3c77b72aca1823f1b118a7983c130e4df Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ec95b6a3c77b72aca1823f1b118a7983c130e4df commit ec95b6a3c77b72aca1823f1b118a7983c130e4df Author: Alexander Ziaee AuthorDate: 2025-04-19 16:41:23 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 16:41:40 +0000 examples/csh: Case insensitive search in pager This is one of the most commonly requested configurations I'm asked to share or put in man(1). Currently I think this is the most appropriate and cannonical place for it. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49833 --- share/examples/csh/dot.cshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/examples/csh/dot.cshrc b/share/examples/csh/dot.cshrc index 5cda009dbd96..4408af31cda3 100644 --- a/share/examples/csh/dot.cshrc +++ b/share/examples/csh/dot.cshrc @@ -137,3 +137,6 @@ setenv CLICOLOR 1 # other autolist options set autolist = TAB + +# Case insensitive search in pager and man +setenv PAGER less -I From nobody Sat Apr 19 16:47:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfyH35lFsz5t9FM; Sat, 19 Apr 2025 16:47: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 4ZfyH33c34z3qMF; Sat, 19 Apr 2025 16:47:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=How6GBCqcFPYor2dmolowZNH3U4GdF2ye4SlGLE+5ws=; b=RNmcjBqpRPwkie8AG9qFYPga9byCiYJcM7gkEbgMnaSnSUykgC1rx6mVUTl/UgUhcSNJiO SA4uNa4AtGX9jSSvfmsMqImYJSZ3VEtdHxoqNAn4ptM0HXW1ixB4kQMzBv5F/TycLUpwua rmAuQ8+Ge+/VLe49SdJ4tmtun5hLA8/nRLhCKkKy8MrkzOIWI6i3YP0pt07ZoXXUdil8W6 cbsgerA0mXr2+j0S93org69MBvBz/hw66GF+kPIjhdDTDreZLashUCe5BBbHGEbIV7pfi7 u+CJ8ftApNawkIOx/woUJJb/NoDB79TcHA1aMDYoaAXKRjqYaBPEqU1HufWinQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745081263; a=rsa-sha256; cv=none; b=IoD5PBU4z6tkznSko46APWwyBuTcLFipzUWTPkESpeOVHV37inLw4UjOi1fFH9/oV0yeW0 YyF+iDZcA+WheTPeXdfQsSdet78Fsgwraijrctr5HQJFkBMfvCZLRxMp03rRMAJZ5or0lw ZYUM1sIi1Ls5GTaGuO2tFh3XhzWirY9CRs4ozbSuZ9au4JrQLtfpfYfi4u6oTAIGA5+Sy3 CKr2xwiFcH0lXYFfchUsdDJHAU4U69EUPyJtt5pffmIWgJug3B/X0F+31T88VWviQk7fLR J6fRQ9vNA4fDnAejtY+kyUm7W5+RkQ2/RhEoBWqjet16HW+1/s+avQ902bYHig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=How6GBCqcFPYor2dmolowZNH3U4GdF2ye4SlGLE+5ws=; b=eLRKHyI+/9uyQqDrfzGOpFMn3KAqe108De4VtkrTqFvBPdDWAP+vj4gyO/hG6GoDGe2P4D 7/HwGcqGo1T+LX3Bao75QEtqeDG1REGnWUq8J8ttC0Z+BKbNxBn19amB338IjStKCDm+Tz uhLu0IG6KwREebtqh7TmgZmPTBg6C4S+J4F2V0iUSYPLLOpdu465I12n0feqUkHlGuLBp1 8DZcMhIyZosPut8CA68mKmD0/TFmv3kyydh+mwwMgnmp1cruG9cutvNTrE1lto7Ccc6Gt3 gTtQ0xr/FD3aDu65ctqC2NRUcpthqkLrCY/dVgwAoas0xiXIS4nIHJWelgyopQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfyH32vtVzBJB; Sat, 19 Apr 2025 16:47: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 53JGlhUd028757; Sat, 19 Apr 2025 16:47:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGlhNm028754; Sat, 19 Apr 2025 16:47:43 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:47:43 GMT Message-Id: <202504191647.53JGlhNm028754@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: 992479b0f6b7 - main - OF_node_from_xref.9: Fix function name typo + spdx List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 992479b0f6b770ee6d6e52e75884b692eb4b75aa Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=992479b0f6b770ee6d6e52e75884b692eb4b75aa commit 992479b0f6b770ee6d6e52e75884b692eb4b75aa Author: Alexander Ziaee AuthorDate: 2025-04-19 16:46:46 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 16:46:53 +0000 OF_node_from_xref.9: Fix function name typo + spdx MFC after: 3 days Reported by: Setesh Strong on Community Discord Fixes: ac32b99c2b9 (Add documentation for OpenFirmware) Reviewed by: carlavilla, kevans Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49653 --- share/man/man9/OF_node_from_xref.9 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man9/OF_node_from_xref.9 b/share/man/man9/OF_node_from_xref.9 index bd5e2bcab68f..755c82951382 100644 --- a/share/man/man9/OF_node_from_xref.9 +++ b/share/man/man9/OF_node_from_xref.9 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2018 Oleksandr Tymoshenko .\" .\" All rights reserved. @@ -70,9 +72,9 @@ If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value. .Pp -.Fn OF_xref_from_xref +.Fn OF_xref_from_node returns the effective phandle for the kernel phandle -.Fa xref . +.Fa node . If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value. From nobody Sat Apr 19 16:51:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfyN00yR1z5t9TH; Sat, 19 Apr 2025 16:52:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfyMz6F9Sz3sC2; Sat, 19 Apr 2025 16:51:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9AfN3om8O0aG2xuqckBqJkj6pC6lA7dJRTcUGCRX9E=; b=v/Z74QEETQvfgmeQzRrbFuJTXzU0PdogZKRxWifBq5QvpWTYrwh+Q0Zb0HN4pw6XE+F5UK seAsMkh4Ruzy1DqoYK+Qt0TpL7s7ASIGrz935mc7/S3lZhGnFXKV6MVATYIK/hOm9PIFT7 SDIE9a4J++6HVy+bTmM9gt2j6x+YzkcGOn+9ssI2YKozmVRlu7NqJ9ef4pnMOUX76+pTPy 9H9sXUVlm2MNy4QVq7rKNNFdiu5cswOmnL0294K7q91Jm9LDsPAcFwrOmSNvGABA42EQXt O7JLHQqV9BPX3IsF+WJWBdTMvMzXz4+TNCfB+bow2XNjBTJym5eUAXqL0fXBvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745081519; a=rsa-sha256; cv=none; b=ArZSpCZHU/2YmFLEfQkf6zQQaHOx9+is9NICbCog8C2agRNQ2RLfJ96lOVbB+nqp+MZc+Z bOHIsWqm/SLXbw0LEvH18f7vw8DoYXTAHuhTmEhZz+0Q7aR71GjwJcDzPoW4zvaCXJHL4C W0+2aced0qjFXDBNNpdLqyAJBSyLGh0U8fJn/f9B1cAZ4JSFntufg7wNiXR9kABrp3MwbS GwQUzLqSHUxJ0e07sbpkPAGfR9M6Cg+pXs9MqgFU18XtrFnSq1kA2zYbW2HKovlzZvzsUQ fTa630ims8YOKRXedppNHYHcTinoPTxpyJuBA7GmJ3pRFze7YsjFthO9NEBxcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9AfN3om8O0aG2xuqckBqJkj6pC6lA7dJRTcUGCRX9E=; b=NciP6up9Y7rHVgw7mYaJVy+EL9iEuj8xtt/ENBEDCXAYiyzyCvvgJqp+xRrFjiFDvSt2pW eoMBnqx9VS90XexussGvlkucwSbWfn/W2qs5bXyzS1Zw0EqkFL6ayVMIQ7lsQO0VnZGnrA 7FWZgiO/P8jiuFUQcOnNbFlwJHxFGIqqtgvF9Py30+hHxPEcLdzdmXxWKwuFz4QMj3TwIA mWb9VegFnFXry6aT771DCxMoPoK74JZtnD+Ej444G3LXSU4kQPDLKdqujvbuTL8Q9qhBJx tMosJ6SauD/O+5He8JrXfzbJMoLCyI/pnUVUfQF5aCihVjUvdIbSD98vsXHF3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfyMz5qn6zCCW; Sat, 19 Apr 2025 16:51: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 53JGpxRT041815; Sat, 19 Apr 2025 16:51:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGpxpx041812; Sat, 19 Apr 2025 16:51:59 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:51:59 GMT Message-Id: <202504191651.53JGpxpx041812@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: 92e9e13f061f - main - top.1: top does not accept uids List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 92e9e13f061f9fc6411169768f5894f26fa80aaf Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=92e9e13f061f9fc6411169768f5894f26fa80aaf commit 92e9e13f061f9fc6411169768f5894f26fa80aaf Author: Alexander Ziaee AuthorDate: 2025-04-19 16:50:17 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 16:50:17 +0000 top.1: top does not accept uids MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49631 --- usr.bin/top/top.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/top/top.1 b/usr.bin/top/top.1 index 03f042acc744..fd30e33d9255 100644 --- a/usr.bin/top/top.1 +++ b/usr.bin/top/top.1 @@ -1,4 +1,4 @@ -.Dd March 25, 2025 +.Dd April 1, 2025 .Dt TOP 1 .Os .Sh NAME @@ -13,7 +13,7 @@ .Op Fl o Ar field .Op Fl p Ar pid .Op Fl s Ar time -.Op Fl U Ar uid +.Op Fl U Ar username .Op Ar number .Sh DESCRIPTION .Nm From nobody Sat Apr 19 16:55:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfySN5Pf7z5t9kd; Sat, 19 Apr 2025 16:55: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 4ZfySN2kGzz3tr2; Sat, 19 Apr 2025 16:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzdwLLUmiOfT/sxuogZe7eszsvZFhhYiAA+LoZ5klso=; b=bBxXgqAgINf/Mu1OuaShXF+p/Ao9xUCGDi1FVzi3oiq2pFengH7OnXV9lWGe6GLIbct7d0 UH67KtRCaVynE6eM0jDn29O/N5DCsCcjBAUjOfRU2QpEsyojxjQ7gGMeAfuTebQfaotkIV /v+8IHHWXeqniP+hqMtJyNAtUDMO0Czlkqcz5hy5IpuZYUnLMK+hfwV9qZStgZrmWfMq6b H5gLIDuhMptgH9GXtfOhmpjIp3ChPb872+bVIIcEk/wqkaxLMY4KdLwZFTcS6yErwGg16s q2bDCXkhxBpHE2ZQ9wumH5/dl+JiHEBFqeyjgg0Mja5uTF5mYxu9dCAL/8rsJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745081748; a=rsa-sha256; cv=none; b=PkswFdFZRaD3Soq7/zJLWa+T92B8BetjcidTpRy08H475Ycl8WypVDNv477XeyzeoGvI+R 5Xw6wH0NAzqSfmH2RQtqy18xD753bfgAHyokoRr5xjhmsfBidXDswlqxbJ62whIPV6d3VN bO1E0np5zrMqyesZDAUcIoUanxgxw/QO888VfHq9rxkY6bu6Ndd45hInXaYEFGQ5EoXtlQ NtlNP4QUrcaYd1JTYzUotHlQJeUvjOsTjozBRBaV9+QObX/Tl7B+tqqP452vPrHordWo+P T5XZrXFizD5HScZ5h/M9BITPdrie2VC7kvr69GpEf3kPJ1KLjG+4uVOEMhknrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745081748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzdwLLUmiOfT/sxuogZe7eszsvZFhhYiAA+LoZ5klso=; b=HlGWehwG4Bo3+S15mL+Y64CpBj6OViEKaci0Zq5UsaOmLyO/I93ssr52/hIKva50XXYlsh WChkM8yPu+2hclo64LgFC1rQwSUbUCtvf3yyDHwEI1QEAmaBQHCs7lRmqr7F48aGCevsDP ORQ6aozthlFb06NsQbyhzsHw3KnW97OlZb0COJyAAjeYvnqx+G/ktX4n0aHbnOr8pFtmGT suu6Z9TmNuijTKuDhtQmTiMFp8avdCeqg6GoOmk/585SUu4MF1l43sv9BpN4OAVkxG/L+n NHcwE/dQYftM64ykLtTVRxOzAXeVIomjypXv/gTSsrYy77cGCiLvavhXoRRXIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfySN2KVczCCg; Sat, 19 Apr 2025 16:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53JGtmKS047573; Sat, 19 Apr 2025 16:55:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JGtm8i047570; Sat, 19 Apr 2025 16:55:48 GMT (envelope-from git) Date: Sat, 19 Apr 2025 16:55:48 GMT Message-Id: <202504191655.53JGtm8i047570@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: 7d2b5f3d2a51 - main - ObsoleteFiles: Remove mount_fusefs.8 entry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 7d2b5f3d2a5127a584d2af912ea0e9fd00f417f0 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7d2b5f3d2a5127a584d2af912ea0e9fd00f417f0 commit 7d2b5f3d2a5127a584d2af912ea0e9fd00f417f0 Author: Alexander Ziaee AuthorDate: 2025-04-04 18:43:08 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 16:53:56 +0000 ObsoleteFiles: Remove mount_fusefs.8 entry This causes make delete-old to delete the manual for mount_fusefs(8) on (zfs) systems that do not (need) MANCOMPRESS. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49667 --- ObsoleteFiles.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 24455bb86141..58e0ba8f7963 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -15409,8 +15409,6 @@ OLD_FILES+=usr/share/man/man4/lindev.4.gz # 20140425 OLD_FILES+=usr/lib/libssp_p.a OLD_FILES+=usr/lib/libstand_p.a -# 20140413: Removed NO_MANCOMPRESS from mount_fusefs -OLD_FILES+=usr/share/man/man8/mount_fusefs.8 # 20140314: AppleTalk OLD_DIRS+=usr/include/netatalk OLD_FILES+=usr/include/netatalk/aarp.h From nobody Sat Apr 19 17:20:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zfz1771RXz5tC7t; Sat, 19 Apr 2025 17:20: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 4Zfz17600Vz47hT; Sat, 19 Apr 2025 17:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745083243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GBn5maB8ipUnoDRbVT9N9rfQlVAM5uQoVnc3nbWwM/w=; b=nDlHpESHLz9TMq3PHdNZwrfHojxFc9cRO0B1+WP+kqaKwLGF+kTx0UEZDdEHF247/xoIIh jrA9XNSowg/koIzA+f/hESqez428fs6o0uwl/x168zN3ZuD2ARuqhVegiEv80YIW1Z8hyF vqU05eUZLQ1+uyammUsf2HyV9nLRPNWEIB/+wWlvArX0TFth9ypYEFEhy/ayu02ws3F4sv x+pHUbhmJ+DQo3UJ7YEMVBFTPqCKGm6LRL4LDsn0Uap01P3zQ/reEDs4douwCNoERLdf/f bkA5njmDJ5h2hyjtWPbP9ArpScla3bBskVpN0F04uoL5dvlxo0KU1/XW0LHp0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745083243; a=rsa-sha256; cv=none; b=gZ32hlPorEebiyfUzWtKVuBw73d6uTmvJUIv9Ou5IYK+poFlfIJU3mIuiLKN8KGtX8Vd+t 28F8fhhIZ0LNhiccv4XycfFkMn63ik6qdhSC+1pl0HiE1O57hfL3pbFKDW4Z/5aV/84Mu/ Jb9hvdN+PPr9YmRuCKqfVbD8teIzcxMJTsyTKe6WZoFYh7xDcnpHchV9qaUqB41jjshln1 cqgly8KZUJ2CnPACFwOgiBgXBoPI+EU1SlT2fXvuSHTY1VP/lDbKabhns5fXXVdirkQjRV NdOOYUjs7wJRjqYX4FZXq0zhcEfqzSSjnRF4ie7owt9KxnCncS3qUK+i9A/61w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745083243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GBn5maB8ipUnoDRbVT9N9rfQlVAM5uQoVnc3nbWwM/w=; b=fOR/3N0OWWeopYMvL18RupwBI/0LTvodk22cgS1cHHnCI4JMXBSgD6GMXImWWejHj1C4ln +iv8zWKio1DY4ZWnEDcLQsNV79muaLySEkvapVlMVQtTvc+tN1ExMjxGohqZ8T16ZxFOV+ 52nTZLQW/d2Y0/tEwSnsotTZq538jRVl1p6GTOY7LRfkdk8U1U2IxlQOzOYltDJlxayfWD P8xxOW7o5p8wx56hBRp16PzGVIhNLAdS3aHXQH8ZSBYJNRvf/PLQZwjL1/bPH7bZ8cRWov mn96kfmfRNzn13mFjbTYQx6wt2JvELR4ZttRf4zAQMM3KmgdF3TC8y+pidl0Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zfz175b9qzCWH; Sat, 19 Apr 2025 17:20: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 53JHKh27095399; Sat, 19 Apr 2025 17:20:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JHKh9t095396; Sat, 19 Apr 2025 17:20:43 GMT (envelope-from git) Date: Sat, 19 Apr 2025 17:20:43 GMT Message-Id: <202504191720.53JHKh9t095396@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: bfe9be2253ef - main - style.mdoc.5: Improve description compatability List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: bfe9be2253ef85674b37ae7cf3d2689f96678151 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=bfe9be2253ef85674b37ae7cf3d2689f96678151 commit bfe9be2253ef85674b37ae7cf3d2689f96678151 Author: Alexander Ziaee AuthorDate: 2025-03-29 06:07:01 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 17:20:24 +0000 style.mdoc.5: Improve description compatability Use one line without child macros for document description, for optimal compatability with manual tooling. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1629 --- share/man/man5/style.mdoc.5 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index d96c9ff08bbb..1c3ec2012118 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -29,10 +29,7 @@ .Os .Sh NAME .Nm style.mdoc -.Nd -.Fx -.Xr mdoc 7 -manual page style guide +.Nd FreeBSD manual page style guide .Sh DESCRIPTION This file specifies the preferred style for manual pages in the .Fx From nobody Sat Apr 19 17:27:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zfz8l4Hy6z5tClV; Sat, 19 Apr 2025 17:27: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 4Zfz8l3NgTz3D8X; Sat, 19 Apr 2025 17:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745083639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tJFvNhZUm69Cm2cXvQwa63C9lG33F/ksNGsf4U2vMuc=; b=PJ7uWplyzq3HAo9FrO5HQnFvZbhIZltZ//VVplsl4tGdfrJJiPkV61IW4DNwyqTAeQcmch spKo77O1kd57gCkPjIRt3Clh2p4HP60MM9X14yWi1XV6N1VQ/A5qxoB0mUtH9GMMmGlFVt WwrsKMWPI6eugJXCSwHZdHwniOsuW+Qf666TRMEigshXDebNSAmc5DIazLjUORkPn0qjM4 QQhi+A0wyRJuCAjueMVlr8XznZHvB7vJLzLf6xtcZQhda7NSQNpjXnMwR4m4VdQ/wSfgco TN1IfOTR/fM0x7L4g7ADJn9iQ+atYNrYnCkn8i3c1b+iPh6JurIm8bLWCeUlWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745083639; a=rsa-sha256; cv=none; b=IP5wt0HVVdDIgfgBoBxYjApfHkdwxGe4XpIrTK/X+W0NYHyxQsfcwMEPnJtAlZOtPVu7fF MsOfCr3sicCZvkSm+L/s474jRYHAr5F3m43KkdvhTh6Z+6hcnX25xVqtbxx7FBGHkEU53j LSyLJPxZffO9XYg4/ntCV/s4N1VxVOU+yMBvXcGOYfZ6xr5WtOye92GnPgHr9MFZKFa7qk giQMNjP301m76WYVX/Bg8eaNBRNDpBB1VyGieRguj1P0TjRGHlBEPGt2uxzCLIn+Txc3Ee 0jsqNrzjefL+79en/UkirndXi5kM7/EYE21u8kI2/0RJQn9yzN1F39PQpvoVgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745083639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tJFvNhZUm69Cm2cXvQwa63C9lG33F/ksNGsf4U2vMuc=; b=SJ7uwtlaoQ+syY29msk43OhGQJj0fVzsm1dJxYKF7fUKtJyByYX9u4iv+cWMfwM80QE3as 0ZfFgSsYtCFmMxqxz98fs76kHEBDbK2NCoPErndTT46Oc1yz3xiInLtzzKbwpT0rJfO84g ldWWgZYYySENvTPxchO2/i44787LvBSTEsrrQFRZY0d3Bz3kj7XKFa6pvBam0nsnypQoTi FmGCkkPUcpknbMwvJqwqYOGzZdsi8tcxtRAjglx2sI5WdzZH8nOMweMgQiAqpmC7nDC88D HhtWjFRp1IsmV+lrOK28a27UZIcC4Xla4ncV9obUdmcJbXwJU425FNiS8CseeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zfz8l2pHBzCrs; Sat, 19 Apr 2025 17:27: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 53JHRJi8004454; Sat, 19 Apr 2025 17:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JHRJhZ004451; Sat, 19 Apr 2025 17:27:19 GMT (envelope-from git) Date: Sat, 19 Apr 2025 17:27:19 GMT Message-Id: <202504191727.53JHRJhZ004451@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 14783ce31437 - main - Remove references to rcp(1) since we no longer ship rcp. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14783ce31437709f9c5778af32f7661a52407b6d Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=14783ce31437709f9c5778af32f7661a52407b6d commit 14783ce31437709f9c5778af32f7661a52407b6d Author: Jens Schweikhardt AuthorDate: 2025-04-19 17:26:29 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-19 17:26:29 +0000 Remove references to rcp(1) since we no longer ship rcp. --- bin/cp/cp.1 | 1 - share/man/man5/hosts.equiv.5 | 1 - 2 files changed, 2 deletions(-) diff --git a/bin/cp/cp.1 b/bin/cp/cp.1 index d37776dda4d3..2856391a029e 100644 --- a/bin/cp/cp.1 +++ b/bin/cp/cp.1 @@ -320,7 +320,6 @@ and options are non-standard and their use in scripts is not recommended. .Sh SEE ALSO .Xr mv 1 , -.Xr rcp 1 , .Xr umask 2 , .Xr fts 3 , .Xr symlink 7 diff --git a/share/man/man5/hosts.equiv.5 b/share/man/man5/hosts.equiv.5 index 319d47718cbf..dbb3bb2f4205 100644 --- a/share/man/man5/hosts.equiv.5 +++ b/share/man/man5/hosts.equiv.5 @@ -124,7 +124,6 @@ and their users except users from netgroup .Dq dau . .Sh SEE ALSO -.Xr rcp 1 , .Xr gethostbyname 3 , .Xr inet 3 , .Xr innetgr 3 , From nobody Sat Apr 19 17:36:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfzM86j8Gz5tDGP; Sat, 19 Apr 2025 17:36: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 4ZfzM8619Nz3Gy8; Sat, 19 Apr 2025 17:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9/MH9OXRXNzG94rpRNW11b4WsEIgUMrtuD5xEm15Oc=; b=YyB9yPB9YIx7FmFZqpwx/2mh1R5LWkYy7Zgd09/w9DLuhqdkBB2E20PZKU8TNKmcpwx+Dq OlJf52y4Hu9M8RwB4SykVqbiZPZCcwcUikKSn0x6eUDOWk9gqXX9LHy9qlb04XH1MQGTzG b9YJIAJvUekjUCFygcGiewkCtCQcntNMxGaN8F/0zE7dIrg43y1OaW28Ov7ZWHhCwJh5Ux 5tqpFgosalGtbJL2ABEWVUS8+xRQSEsaAtN9oAgB2F71KF9llsBoFDzu6rBhuCsrDBFNRJ /vLlLTbJcFd4k+XCAG5qO2kvDK4o1HRQ4adW7YgBdK9aoTJfZ6yh0OJLy30z/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745084180; a=rsa-sha256; cv=none; b=uiaSSyBs2tZ0k34Lx1/YzXUXCuZeEfQEgFyAQRdkmW4t7GYZZot8AkoaL9GzNGVGKMVwrl Bi9AYG3HjkMoT1k0WbSaH0atQJ7ZfJUUCCUtiZGfa6jL0vzonMX+k7ah4U/AdMGz3FcWlJ wqJ7wOJT0qdc7I5A8//z0OthkKCovIHqHKx2/Y5WTITGSvngi5YSFrqkjgRKZuGjK4Shcl keHQ8xVT3PhZOyvO85BmEhWzHWg53bLkDhIiHQiuv5dDz7/5NLnxfxz5cDgpzqIZoSrHZ2 4t0BMdxukGAK3ff/05wFHsKy4vqtwUc5P3yvdXTUvQkmUD3wpnuquUBqpi60Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9/MH9OXRXNzG94rpRNW11b4WsEIgUMrtuD5xEm15Oc=; b=wW1MDLI2TypIfYI05TyFGKC60CWUsha1jVSExa5/z3rRnm6Th2ooXjHC8qIfYAOWzR2shR vmagw9CGv4dPV1Hx+O6F96PftR9MnXf14RlqreuxyTt4uEwlDkh2Biq5IOr3JiFgBSr5L2 jBb4oZJ1KMGhZUoky4fefpFQEMZu/FCxNiww9gPIek5+EdxOresbd4aKhwreDsvdCMiN3a TQS54WcYdwSBCIzHpzQOWFVC691vfTPThb0s+0doTr2GfzCMmSe3pwVHpsMG+ojLhiCUTP CR6ocdHhJIXsJkzvhaTVCT2uEEyHwEB+QwlwndFYGsEpdrgvy3aAYy1zdDBNpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfzM85bsdzD1y; Sat, 19 Apr 2025 17:36: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 53JHaK1c022894; Sat, 19 Apr 2025 17:36:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JHaKwr022891; Sat, 19 Apr 2025 17:36:20 GMT (envelope-from git) Date: Sat, 19 Apr 2025 17:36:20 GMT Message-Id: <202504191736.53JHaKwr022891@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: aae4bd0ea4b6 - main - vm_fault: use iterator in populate_cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: aae4bd0ea4b62e4a1361c2b08f11a517f6af7ac3 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=aae4bd0ea4b62e4a1361c2b08f11a517f6af7ac3 commit aae4bd0ea4b62e4a1361c2b08f11a517f6af7ac3 Author: Doug Moore AuthorDate: 2025-04-19 17:34:40 +0000 Commit: Doug Moore CommitDate: 2025-04-19 17:36:10 +0000 vm_fault: use iterator in populate_cleanup Change vm_fault_populate_cleanup() to use a page iterator, rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49900 --- sys/vm/vm_fault.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index e1db7ac8b524..1950ac4b41b3 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -108,6 +108,7 @@ #include #include #include +#include #define PFBAK 4 #define PFFOR 4 @@ -480,19 +481,18 @@ static void vm_fault_populate_cleanup(vm_object_t object, vm_pindex_t first, vm_pindex_t last) { + struct pctrie_iter pages; vm_page_t m; - vm_pindex_t pidx; VM_OBJECT_ASSERT_WLOCKED(object); MPASS(first <= last); - for (pidx = first, m = vm_page_lookup(object, pidx); - pidx <= last; pidx++, m = TAILQ_NEXT(m, listq)) { - KASSERT(m != NULL && m->pindex == pidx, - ("%s: pindex mismatch", __func__)); + vm_page_iter_limit_init(&pages, object, last + 1); + VM_RADIX_FORALL_FROM(m, &pages, first) { vm_fault_populate_check_page(m); vm_page_deactivate(m); vm_page_xunbusy(m); } + KASSERT(pages.index == last, ("%s: pindex mismatch", __func__)); } static enum fault_status From nobody Sat Apr 19 17:43:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfzW55Qnvz5tDm0; Sat, 19 Apr 2025 17:43: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 4ZfzW54yLPz3L4L; Sat, 19 Apr 2025 17:43:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q2tPCi9zHP8DLqZzebayfMxKWpS7rxnNKBrZqaYOw00=; b=pqaf8o+8HibrLNaKloblpDV4x0cowLrK+060cbL8dSkMy4TBHVFqM+4sMk6v+16WalcGhJ a8sstY5G2mmfHfWuTMteMEtKjw2huKnnJsDn9crEdUuSuiFEfiU2ad1z8D6pHA3aPcUDMy iera3Dfqzj4bdnVO2x2ZHJhKUW3Gi50aRItlu0qUTAPPOGm6bN1kh63OYojXIaSWJacp9j FzNkjmu/lWbPhKurfdMy6okykyR/PoH/XvThhjGGwvZ3tw7ME43bhTEdegPyCE4Hb9CsdC k0YzkEyQBGm1TL6birCRX7OBcdMFPWzH9Qj4XqRCLl6Beqss41FIRn/DTIOiDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745084593; a=rsa-sha256; cv=none; b=EkWwnrQ8S7g4+bIEArhpZ0E3T8dynP08NZFaest6xhbzRI4t0PX9oq7Z4LzWL8RFTqmrUt asooVA1UFm2W2vGop49o+wgbzoFKHCuwVDM+odT+y6SdF+c1mSZpBjpVO8ICW8jc+2OP8S CxG1a16V8JDKkMA1+aHRCJZcnj0Ya+IQwY3Yfa96GgbyRjK+ySZRaVqCDbg9UpAOjZDKo4 8vKj55/r+N/p3nLRrN9pk2Svr4DeFHIspXNhLIDxFM7knE7uaSSA8H1g2WiM1aQxsP6dfr aJNRuGdOe8tnCUKnSvUapIXP84K6cP64XepAlmnr57rzuYS4zPlU7ayzR4StDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q2tPCi9zHP8DLqZzebayfMxKWpS7rxnNKBrZqaYOw00=; b=Km369sh7HSRD9n4GObKdCOUg6J5nw6MzCm5js2g5mYX3f3R00TrbBNLCjv0lnyJvSXOSCo +8x6scWgMgYqX4ZsarjLbfwXXLEZrBypWgFdUiX6qJHDg1I+I16WSYQBlWccE1BdOenYlY wv/eApRev6Dav+g5zNqA7Mju2n+o0hcUWZ9jRWc82U6ZiOluTbM2U+iodzPM5nsMLddNK/ 8qWXUjYaVKfHKT5QCkZufoN/PYm9o3mrMMjoNfV5nWy/AH5ud4s1VPR/jrHQFBmUjfcp1d W4HeIS2FUuldckuO37vTYzLj1mW6aM4cX/60JAvSQUPCfWKSsH/hxpwL99xrnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfzW54KhRzDTY; Sat, 19 Apr 2025 17:43: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 53JHhDJc040650; Sat, 19 Apr 2025 17:43:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JHhDpb040647; Sat, 19 Apr 2025 17:43:13 GMT (envelope-from git) Date: Sat, 19 Apr 2025 17:43:13 GMT Message-Id: <202504191743.53JHhDpb040647@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: 0d615fe44595 - main - vm_fault: remove duplicate #include List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0d615fe445958d543a5acc743c39dac9bdeef9ab Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=0d615fe445958d543a5acc743c39dac9bdeef9ab commit 0d615fe445958d543a5acc743c39dac9bdeef9ab Author: Doug Moore AuthorDate: 2025-04-19 17:42:07 +0000 Commit: Doug Moore CommitDate: 2025-04-19 17:42:07 +0000 vm_fault: remove duplicate #include Reported by: alc Fixes: aae4bd0ea4b6 ("vm_fault: use iterator in populate_cleanup") --- sys/vm/vm_fault.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 1950ac4b41b3..5d21ad58f780 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -108,7 +108,6 @@ #include #include #include -#include #define PFBAK 4 #define PFFOR 4 From nobody Sat Apr 19 17:45:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfzYc03tjz5tDVm; Sat, 19 Apr 2025 17:45: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 4ZfzYb6Pc9z3MKX; Sat, 19 Apr 2025 17:45:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084723; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tVjyKmA/vn5mhbsdy2PsszblDBzwvZNAxwcq4mEkfy4=; b=amdSm/IysTJkfW1H8Vgz1+CPF1yrJ4QkpW6ZtevKdSOGSzq8eyLRhjIyPr3M7uVEbXUrGj EeZ6UvJ6MBzFDjevgarOUZDTP69cXEQUDj0jvmWvOk5Rf15VoWstoUiBoFj9ZorHcBtLEF 14oATrXK7VY1OLMwfvAdYeDASfj9zgPXiZyJ5KLgF0rT6Cak6GlaybgHfP7slB1V3HbytR PlKTtND2ToX9vEXhkq38tu3IMrRih2/NC4TWTaIWQ1mVadf6rOVQtgikmKUPqAjdlLBUAe 0m+xcjf7dWnSMD+A0uBVZg/IT3n6OWM6wEBmQxmUhwkuiZ7nsSv8Q7HzT2L4fQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745084723; a=rsa-sha256; cv=none; b=yJZq+qAtd8aY2Glgnltiy/oKM3lE39Ov7rvqwwQGg6tmL4hvTAqUewvuvn+i0+OxOIal50 I1HLLMVpSEUtRXpQ5HfoeAnVUnqtMp7pvsKS4C4fnwYx0cY2s5UYTI0832oaM8bJYMQWw2 l/1nzIusn/akuuAfith+X/JHTTEOBa5aqezvSItu+htAHhJ5i7ggJy0zFUZAbAicaYZcTn RrnXsCA709P2osUoFN1tu2sxTC6chbuKba695s2sVFkXw9HINTqj5QM3/lMy7t3z6Fjkx8 F6V2b/SbTuOvpucDa8+rAYFnYw1/SltFe4nXoab+2YBLaw+KuluJJXW9wEYoCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745084723; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tVjyKmA/vn5mhbsdy2PsszblDBzwvZNAxwcq4mEkfy4=; b=b/71etWUmK3m8083vdGi7TZQJ7QYywkBVji1n2/AZAPPiTtw8tCTQ02ONtq+SOkAYo/SPw lTbNSJtVD+6DUbb77Y0DqTGs/y4rygI6aSrDacQp3YTFv2JdEWn9k+XXc/o3fe6EowXuhK tD1lnCIeR/YC4nK+CuXirqgriAIUkWMwUyl2fXUQD7+6y9FzwZ1hkzgMJzoivKNerMGRcU +dAYXID7EQBhYqG/Di0Q9YZpG77GD0wFNiqnZd0PRg3MCTy4oyTVyb7wj9PN0L3+b6E08q 1k63uufrNG+JiRiY978+jEf4TXuusXpTcZSfNcOLEEQ8yN1JfRrMIBBafOI6aQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfzYb5z7TzDTZ; Sat, 19 Apr 2025 17:45: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 53JHjN1R041422; Sat, 19 Apr 2025 17:45:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JHjNJv041418; Sat, 19 Apr 2025 17:45:23 GMT (envelope-from git) Date: Sat, 19 Apr 2025 17:45:23 GMT Message-Id: <202504191745.53JHjNJv041418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 3467ce29b448 - main - There's no mkpasswd(8) man page any more. Replace Xr with plain name. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3467ce29b4485b5318e7efac187cfb7ec0c91aea Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=3467ce29b4485b5318e7efac187cfb7ec0c91aea commit 3467ce29b4485b5318e7efac187cfb7ec0c91aea Author: Jens Schweikhardt AuthorDate: 2025-04-19 17:43:53 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-19 17:45:16 +0000 There's no mkpasswd(8) man page any more. Replace Xr with plain name. --- usr.sbin/pwd_mkdb/pwd_mkdb.8 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.8 b/usr.sbin/pwd_mkdb/pwd_mkdb.8 index 262a07f4ef3c..c142a25a9d6c 100644 --- a/usr.sbin/pwd_mkdb/pwd_mkdb.8 +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 25, 2023 +.Dd April 19, 2025 .Dt PWD_MKDB 8 .Os .Sh NAME @@ -145,8 +145,7 @@ the password file: .Sh COMPATIBILITY Previous versions of the system had a program similar to .Nm , -.Xr mkpasswd 8 , -which built +mkpasswd, which built .Xr dbm 3 style databases for the password file but depended on the calling programs to install them. From nobody Sat Apr 19 18:13:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg0BQ0NkXz5tGTW; Sat, 19 Apr 2025 18:13: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 4Zg0BP6kcLz3bNR; Sat, 19 Apr 2025 18:13:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745086430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnC7nX6JuRXBMygeMhcFrfreZBAN3Rz/73NlOTa+R+0=; b=HGdSwwJTDN8rUxInmVMOcAfiygFfQKm7hi1msZhY/olgXr27do57y5oyW9oC2qjFy6YGSC lQaX+nSIIQ+yZfbLVwnZcW781+CebESV41CbixVA0c4ANyhnBIlnSdWq16h4dxeAU8jY7x 5dj4y0k3/s0g/wHPk76+RGlhRwV735HC7gzIzCD/qEuQjGXVqGk6Y1h19fkTDKx0XfI54D mdiBkWuhlcs2zZtgt1GSjaYsftJZBvZOa0+plprubYHpqo6DjiZjk8ZXtySJ5swEi+majY vDhQAZGOgj26T0USyq7NJ5W0KJKPx9n5Rz/XXmVLybQ1LSnKLYzV/JXa0jahUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745086430; a=rsa-sha256; cv=none; b=TOi6+0Cg57IX3AsA2C9nLhA9ke5jBm3doQo2WE1HhA43co4SXM9xxpLWRB0GMxDmkaaRB9 TSVn8/7d3/9b4aJ4kA+sG9zt+0yhGpgGll2WHuwovyTQMkxB9tkhMw8wNUOwqL2VYERFqq D2l4mnxCDIZbQ8RirVb6uSrJVe4CBP583FG0I4lhX+F8awd2xglcgSXsfEYYHopRk3vzaD piyfBnYju6I49dUtYgEpP93fbbkD+3K0yKyZaf6fVfAq/aZnM+a9azL3Uumu4eIcmpjWBf vuAfCCJJb10TL+czwoHh7GDaBXdRUCA2LJ/LRfH7RXkapWcqXVGGqMMoYr/gbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745086430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnC7nX6JuRXBMygeMhcFrfreZBAN3Rz/73NlOTa+R+0=; b=ItidZ97NWiFg+xFtTA6vsXzqS1pDvKF6CuFbFsGjxcEvBMY42MZU1jfHIrQo1hF3Ul4Ehl OFWHfogJXjadUk5BTE073RwaqqL2Q0gyiX8reA6qPC5Yytgr63RgTJYlsLpdOw1skd08bu 883WEJxvdpJjSAGNQimR7fCvPjy6OjgMH92xi8Ry5uPe31bRqxg1EobarRVvGQ551nKHgB FDtQZcS8Ehl+NfoJL0mSYb7+FzhhfkO8IwGHXyj/UBA4XO8phZsztnR2hkzu2rWoll6nOi mkghuYtVEvyZvqnH+vBXjL+1HnGhqxBk/I7XM5D3Ipw1QMgLuoOiDuOFueNbXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg0BP65bSzVL0; Sat, 19 Apr 2025 18:13: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 53JIDnr0097366; Sat, 19 Apr 2025 18:13:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JIDn2A097363; Sat, 19 Apr 2025 18:13:49 GMT (envelope-from git) Date: Sat, 19 Apr 2025 18:13:49 GMT Message-Id: <202504191813.53JIDn2A097363@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 7fbe9f370c31 - main - Note that bash(1) is from a port. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fbe9f370c319a71ac6adb0287389d419eb28ef4 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=7fbe9f370c319a71ac6adb0287389d419eb28ef4 commit 7fbe9f370c319a71ac6adb0287389d419eb28ef4 Author: Jens Schweikhardt AuthorDate: 2025-04-19 18:13:22 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-19 18:13:22 +0000 Note that bash(1) is from a port. --- cddl/usr.sbin/dwatch/dwatch.1 | 4 ++-- usr.sbin/service/service.8 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cddl/usr.sbin/dwatch/dwatch.1 b/cddl/usr.sbin/dwatch/dwatch.1 index 28b604d43c5d..81efb2c2c437 100644 --- a/cddl/usr.sbin/dwatch/dwatch.1 +++ b/cddl/usr.sbin/dwatch/dwatch.1 @@ -22,7 +22,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 9, 2018 +.Dd April 18, 2025 .Dt DWATCH 1 .Os .Sh NAME @@ -556,7 +556,7 @@ dwatch -X kill .Ed .Pp Watch signals being passed between -.Xr bash 1 +.Xr bash 1 Pq Pa ports/shells/bash and .Xr vi 1 . .Bd -literal -offset indent diff --git a/usr.sbin/service/service.8 b/usr.sbin/service/service.8 index 380fbc8c1269..1adff6a0de49 100644 --- a/usr.sbin/service/service.8 +++ b/usr.sbin/service/service.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 29, 2024 +.Dd April 19, 2025 .Dt SERVICE 8 .Os .Sh NAME @@ -187,7 +187,7 @@ complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' \e .Ed .Pp The following programmable completion entry can be used in -.Xr bash 1 +.Xr bash 1 Pq Pa ports/shells/bash for the names of the rc.d scripts: .Bd -literal -offset indent _service () { From nobody Sat Apr 19 18:37:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg0jZ1fmkz5tJDZ; Sat, 19 Apr 2025 18:37: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 4Zg0jZ16Jmz3mrs; Sat, 19 Apr 2025 18:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745087842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buZZ+5RTD0mM1KTa75m1K8hQz6QXz1MnF2z2rexLx8E=; b=WUI1qhLOouiaWh7WzmB8uv5yVqUyixmRqTvhat1el7RWiT3fY5uL8SskbXl+yIPUwMk5Mm EKekLIZe42AQXDbNh5bgoVe6UXGW2TWyxiT4UFeeRYluErWOAZUCo3snkEgLd/zewtoKg+ pjAzskHB6kFG7hlOpeL2KUVzrgBkwkQ6gOqA6nqaby7FS+xOVl16cAQJayqCjgOkTAVpOr PDtgOzQBJAjFA+JOML/FJ18JYFuqPyIviHAoTinvk9a1Q3L3OU8P5upeaSw8rrei6mlb9L ItRPZgjCVbrPK/4M31zRHlvZfRpWLV74aaVHcnTgE1jY+zvqADHEm5rAMT54WQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745087842; a=rsa-sha256; cv=none; b=dUcaJtIlx7KwyhEyWDkkNnAFouwe/OhOk07iRfPcB97wkPtOr1iL0JDutD7kioHvppzqcy +aDhQk+chSxJ0nH9/bQjYWyxPMk3a6LTlBlcLqBMsGtLgZRwfGTrVZGJSWlNLkvHe5mlnh KBOyKCVS6b7EfmOndaHFTdOic07N1iojhIcfKbxezS6HqpSXKok8AF5doylpMHueAN5VBv iXgLTCQALMXVPIDB8U1YZFMoIllwfKLzbRG/pyliGPTV8CIsaLyaryN3WfItVe2+9Q48YJ /JRmlOjZ3QE0VeMaoG0uyHFcNSuNwhvvIOIRLMRDM7jkZpiye+AO5wwzH8FhbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745087842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buZZ+5RTD0mM1KTa75m1K8hQz6QXz1MnF2z2rexLx8E=; b=F2u0VsoZb/mC337UlLjBK2mXv4RBxhCBxXxmq+Iubh4dA8MrFMITyiq6tnwJQbj7TmECla ZLQwinfvxaH7SfRpVkf476zfcrw+MIHYGGS1Bn5wN5K/iQ6UcNIGGYjEAFUhoyFiAw6f4J ki+1Bzl9aB00UZGWMebwPS0uJRhx5EL12vkV8pWS2aFHVaoKGahmAC+QNv8aW8wt7jHaz5 QbIcYB0ctQzcXYgs433MMhtfTQVxmGOFUbz+YSkcVkDhIJRpeu+WA7L8ikNaa6BTrEAynC bGlL52h1Z4VLNbHGIP0CBEZ6cM7FJl1JZJPSQobA8ISn4YgOJwiBRgPyzbweRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg0jZ0cq4zTvM; Sat, 19 Apr 2025 18:37: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 53JIbLbq035210; Sat, 19 Apr 2025 18:37:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JIbLt1035207; Sat, 19 Apr 2025 18:37:21 GMT (envelope-from git) Date: Sat, 19 Apr 2025 18:37:21 GMT Message-Id: <202504191837.53JIbLt1035207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 6c58229d12fe - main - The exec(2) man page does not exist; refer to execve(2) which does. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c58229d12fea51ae28a12116c3fdae5f422a141 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=6c58229d12fea51ae28a12116c3fdae5f422a141 commit 6c58229d12fea51ae28a12116c3fdae5f422a141 Author: Jens Schweikhardt AuthorDate: 2025-04-19 18:36:21 +0000 Commit: Jens Schweikhardt CommitDate: 2025-04-19 18:36:21 +0000 The exec(2) man page does not exist; refer to execve(2) which does. --- sbin/veriexec/veriexec.8 | 4 ++-- share/man/man4/filemon.4 | 4 ++-- usr.sbin/pmcstat/pmcstat.8 | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sbin/veriexec/veriexec.8 b/sbin/veriexec/veriexec.8 index 3c85957357f5..8e99f1d61faf 100644 --- a/sbin/veriexec/veriexec.8 +++ b/sbin/veriexec/veriexec.8 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE .\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 1, 2024 +.Dd April 19, 2025 .Dt VERIEXEC 8 .Os .Sh NAME @@ -109,7 +109,7 @@ state. .It Ar enforce .Xr mac_veriexec 4 will fail attempts to -.Xr exec 2 +.Xr execve 2 or .Xr open 2 files with diff --git a/share/man/man4/filemon.4 b/share/man/man4/filemon.4 index b6755494e432..34cb322dec90 100644 --- a/share/man/man4/filemon.4 +++ b/share/man/man4/filemon.4 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 30, 2024 +.Dd April 19, 2025 .Dt FILEMON 4 .Os .Sh NAME @@ -72,7 +72,7 @@ The next log entry may be lacking an absolute path or be inaccurate. .It Ql D .Xr unlink 2 .It Ql E -.Xr exec 2 +.Xr execve 2 .It Ql F .Xr fork 2 , .Xr vfork 2 diff --git a/usr.sbin/pmcstat/pmcstat.8 b/usr.sbin/pmcstat/pmcstat.8 index 02218a5cfa22..edb9ff106092 100644 --- a/usr.sbin/pmcstat/pmcstat.8 +++ b/usr.sbin/pmcstat/pmcstat.8 @@ -23,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.Dd May 31, 2023 +.Dd April 19, 2025 .Dt PMCSTAT 8 .Os .Sh NAME @@ -485,16 +485,16 @@ The number of callchain records that had an value for a return address. .It "#exec handling errors" The number of -.Xr exec 2 +.Xr execve 2 events in the log file that named executables that could not be analyzed. .It "#exec/elf" The number of -.Xr exec 2 +.Xr execve 2 events that named ELF executables. .It "#exec/unknown" The number of -.Xr exec 2 +.Xr execve 2 events that named executables with unrecognized formats. .It "#samples/total" The total number of samples in the log file. From nobody Sat Apr 19 19:27:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg1qM5JZJz5tMWP; Sat, 19 Apr 2025 19:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zg1qM4SRMz4HcK; Sat, 19 Apr 2025 19:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745090847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lEU2Tb7JLHXvsv95Vi679dmHzmz/A8VfiNPrYxJ+yhQ=; b=rERXH0Dsm5CVaxyGOai1AwTYk2MZCSZ+buGyisCnD+qqwgYmJfVPEdiT61S3b82yLdetRj siXRCOeFmBwTIxuKKbebJU8gwJl/Mkr7j/AxHanzVu+FWRI1pzKorQamAbJiJUbhx2M1yY bVmJfeN0oR+nA5QmCPuPio3Xy61qcUAzFLw2pMXqutPf8n+Qb6VeLzaYJivn6gJBeyqQNv gHz3mlmZOmz2zNpw6rE/Q1sE0s65x9nE0rPu0UXiKCDAiMzxmgzCIKPIVDMnfoNfa8wmZr +nMcyvPBfjCFtHe2DfeWZzMqk9hlvfZCSlTq6TYqR3OMTycPlNvdNzPAXbdhtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745090847; a=rsa-sha256; cv=none; b=VqIjgt0ncYjep4d3bfaqU5LQaj7ZtB8p0qQUhU0MHeBSTHpL1COuDQqwz6/LMPlPyZbuOX yBWKVjoBHKA0ls4MGIax4Wrq41cpPBcvrh5KKyJp5QY3daPtvlYLq51VHtGUPgf5Vf3l5D O5ASKtEajRdF0Prjnj/irWEfO5vtpGDm3J1t57cKxn5P8FX9zC+kav3BnezE8x3yZ5xjjv c697lptMbtqFlAEXryrB1w89GZwDgb0RD9fNKlINH7Y9Q0Owf1nqrotkGSi9zVhaWO2tF5 8B2NHv/QoB0zQr9AzRGRz7VEPtxUOFqhpkHLeDoDSKMTT+G84f1hEbDyTsq2Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745090847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lEU2Tb7JLHXvsv95Vi679dmHzmz/A8VfiNPrYxJ+yhQ=; b=DF9C0XFjVQKdP48clR2NsRsF+O3+ALCVagftyIwY3yI2eDNH7GA6UW1lmS5gAvpJR8QYwk EFcRLrmmUVS/rGbjGK+noI+Uiw+mAvg4YdZsHC5Z652KJ5QqgWp5U/nzsacRrJmOhjeFVt C6zyFiKQeMb2GQuSEn3HMnpvvGArfbO5YnDlBUK1ZxpqNfHctsjrIqkUt4Qm6Sqii60p7/ dX+WyEmluj5r7uC1QeilHsc9DZi1G0gA3qP4ORt8fJ/oZINb4eaQZJnxB/XDqVS35SxIqp xo1abOCa5aby98aEvDTMGiGr2uRyzzNx0fk5KTRkuLRMo+BHZ6XbH+1MOqdC1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg1qM41f2zXqX; Sat, 19 Apr 2025 19:27: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 53JJRRf9029686; Sat, 19 Apr 2025 19:27:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JJRRN6029683; Sat, 19 Apr 2025 19:27:27 GMT (envelope-from git) Date: Sat, 19 Apr 2025 19:27:27 GMT Message-Id: <202504191927.53JJRRN6029683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 160a2ba80497 - main - libllvm: remove duplicated SRCS_MIN line List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 160a2ba804973e4b258c24247fa7c0cdc230dfb4 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=160a2ba804973e4b258c24247fa7c0cdc230dfb4 commit 160a2ba804973e4b258c24247fa7c0cdc230dfb4 Author: Dimitry Andric AuthorDate: 2025-04-19 19:27:16 +0000 Commit: Dimitry Andric CommitDate: 2025-04-19 19:27:16 +0000 libllvm: remove duplicated SRCS_MIN line This is not harmful when making a static library apparently, but will result in duplicate symbol errors when making a dynamic library. MFC after: 3 days --- lib/clang/libllvm/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index 455d32b6f329..55bbc56eeb8f 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -139,7 +139,6 @@ SRCS_MIN+= Analysis/RegionPass.cpp SRCS_MIN+= Analysis/RegionPrinter.cpp SRCS_MIN+= Analysis/ReplayInlineAdvisor.cpp SRCS_MIN+= Analysis/ScalarEvolution.cpp -SRCS_MIN+= Analysis/ScalarEvolution.cpp SRCS_MIN+= Analysis/ScalarEvolutionAliasAnalysis.cpp SRCS_MIN+= Analysis/ScalarEvolutionDivision.cpp SRCS_MIN+= Analysis/ScalarEvolutionNormalization.cpp From nobody Sat Apr 19 19:29:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg1st3q0Yz5tM4Q; Sat, 19 Apr 2025 19:29: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 4Zg1ss6P3jz4Js9; Sat, 19 Apr 2025 19:29:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745090977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jD7YF5O/75gD2cpk7A1jJXBcTIiG/dYD4iQKB962Ap8=; b=p77kZ6VW+XGgE9pONkafPXTqlPS4r55o4whY4exLKlEneKScBbsBZRcmdDoE/FbR50N7gk Efit9qyDhdJLsybwoFm4mdn0Jre1ZQz1E+7hyk3opq+y/rb+IRGWyXYAHwIi+jBL4cXAqL hSZDrcdyNF5hn27EoAtPScAGBCrIhJ/v4PDse/6TpBNtIqhHkUIcNl4EK0eaSgxTkP7DKV UD3Htq1xKaO59SRpcyQioFhq+PZCX2xVgLPz/eZ7fj5jld35ftMuCDL7GCOWyv2J/zrFdn mDvfcN68xOWyq1wJXSbRhPqPLJLVwUXiNULlqiEHXMEYnjsIAh9DLVM9/+AfVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745090977; a=rsa-sha256; cv=none; b=j58cjecniqmj30yKH3r+umaTSRUoIrJCBvvouUyofDq5O8snT9go4S9SFbmtVnKjRlzS8E uahwgb8hdcaxdd/6egbAFfIUDYeQJH7rnl2/CQDC1OFvaftsJfL8zWU0Q1eC0X3Bqcomdu eTLW2N1G9AzFbJiQlHvOynDkwYCeUKQdBcUo7eDZw4GJlmxwc+hSYPuZR9JY/xa+lPL0jN xVFj4YCCCsjMmjlpTQc1sBQvgqobpxdjl8bYkCcwt/jePascEiqtOFBiyA7RpbGYe0SF5S 33lwj7k660MaYlj6u3XN+nQRoumc01Sz/Q41xxQ/8kXBtn+4SCHzP48Ecv/DvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745090977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jD7YF5O/75gD2cpk7A1jJXBcTIiG/dYD4iQKB962Ap8=; b=s+qEJeycVEqbPRM2f7VIamhEa5SiOSgnXcxnKh10jmLqsUSlzmxK5Gx2rltJlEVMQ24z9Y 6OGgHa/MOjia33qsZGq6840J3/vmso9Tf3S/eMsadf9PcMmVlvpScvti+BlmT8sqTPFISB jlnAJ0etpWkgvKfrcOoLJcq4Crso9IfRQ2QufJKzq9/h+0xofoPnHUpSV1VGEjIsa2C7UN N1MPxIMNntSCF+ptQdibi/R6L+C6oMNqDaieEfZ6v248zl97Uu7g0/CGWJN37idtT1APWy sywZsDYJuI8pBQ1bcpCS+2PFgKA0ptcWI7coexC1w+87y6fUx6sdWD2WqMSAEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg1ss4j03zXnr; Sat, 19 Apr 2025 19:29: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 53JJTbuF030423; Sat, 19 Apr 2025 19:29:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JJTbhV030420; Sat, 19 Apr 2025 19:29:37 GMT (envelope-from git) Date: Sat, 19 Apr 2025 19:29:37 GMT Message-Id: <202504191929.53JJTbhV030420@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 62671aa7d5fe - main - libsecureboot: avoid noise when looking for tust anchors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 62671aa7d5fe72e4bd6669902eead98004f650e9 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=62671aa7d5fe72e4bd6669902eead98004f650e9 commit 62671aa7d5fe72e4bd6669902eead98004f650e9 Author: Simon J. Gerraty AuthorDate: 2025-04-19 19:29:30 +0000 Commit: Simon J. Gerraty CommitDate: 2025-04-19 19:29:30 +0000 libsecureboot: avoid noise when looking for tust anchors PR: 286160 --- lib/libsecureboot/local.trust.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libsecureboot/local.trust.mk b/lib/libsecureboot/local.trust.mk index b009139a2f68..f2da3d3ac452 100644 --- a/lib/libsecureboot/local.trust.mk +++ b/lib/libsecureboot/local.trust.mk @@ -84,7 +84,7 @@ VE_SIGNATURE_LIST?= RSA # you need to provide t*.pem or t*.asc files for each trust anchor # below assumes they are named ta_${ext}.pem eg ta_esig.pem for ECDSA .if empty(TRUST_ANCHORS) -TRUST_ANCHORS!= cd ${.CURDIR} && 'ls' -1 *.pem t*.asc 2> /dev/null +TRUST_ANCHORS!= cd ${.CURDIR} && 'ls' -1 *.pem t*.asc 2> /dev/null || echo .endif .if empty(TRUST_ANCHORS) && ${MK_LOADER_EFI_SECUREBOOT} != "yes" .error Need TRUST_ANCHORS see ${.PARSEDIR}/README.rst From nobody Sat Apr 19 19:43:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg2BL10gfz5tNS3; Sat, 19 Apr 2025 19:43: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 4Zg2BL06rWz3DPh; Sat, 19 Apr 2025 19:43:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745091834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aag2tlXv9rZpdXuYPknpM7EXBvXjxJzQ69et9RUsWDk=; b=GZNlnlT3Oh/eU8W1PcqpCwiqy/qL9o9eWp2A6O6Bu4iv3mUCsrLaxlbsnjBQN7SjRLezEl Ym6shH9/bQj+krB87OPoRmZVWlk1WljYPFLsZek+sZql0yzr60d/4gbscQC4xl4QdZ4jUa Xzlo8yQBvQ+IxUZAYTUYX9mq5+8FMt4mnDFdJqCLvfYLeN68QttyMyFmmPzAJMh/OMFP4B H1FROwA7FY1Yui+qTSGqw0Zs/8jb2CmeCBlCNgCxsxK/Pmzf6CS3/RD0RLqCmq6BS+NOqC UIIDFuVzUiFbpEV+a8St2VXVZF5WbOz1bU1iWMtZd8mcZe0Q1sfWZrerFBIgvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745091834; a=rsa-sha256; cv=none; b=AZO3wXiOnbi5QEAU/A0celgRcPhykAEKpdCyUFNZhZyhd91X1OArIsBl80NWXDDa/C8kvs mCWgl2tvzBI/GmOb5mCeBRKf/LIG44/WWqwOaldVPpatXUI0uH3dj0+3IN69GVBeaYpACa ipnVq7bvkHhZkuZvwhFSH4/kcUk4DlPQcZAuikjblzGq83nPyeWuc5dHqzn9P+YIg5+cV7 nBKhFCX0as1p+pPJEBMemj5zROrvvO0EaY+qSdHpi7a4zWTxaLiVrHk0ofWxTHEOI1fnJU TlIAMWWVEnL1KdYVj3ha48IqaoN556IcD7Gg3CxuyxeBXCxFCir4zP1peyw+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=1745091834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aag2tlXv9rZpdXuYPknpM7EXBvXjxJzQ69et9RUsWDk=; b=lXKyfNUDShtQrJcQ2v9c6/4Zeme9jaK9//8cACIISpas9V8JOcwrR3bvkPSgDJAts70QiM 0pgRe+9RhAEf8EFLTDcEvRXKHICRQIRheLLi1NVF4xvHb8R+leeE+5xZKUMcqbifYZ2AEE QnG57+gZOtn1UjZ2emv+5WC8JjibO6A5NgVTUDeanWz7TSU16tPrFwPm9qpJrBc9cmcfP7 jzlluGPvffWjZITavaw1KJmTV4Q3HCW4GkFsS61j8EAaqzpmFoW3+jMPkjwnHoyw+hTVyB X0JYGd+k98aks9/oX1t+BDqBCsxso8IpZDwvq5+oyV8Z4e5Zq7v6A5YKuuQH3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg2BK6qFvzZ3c; Sat, 19 Apr 2025 19:43:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53JJhrqj065783; Sat, 19 Apr 2025 19:43:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JJhrit065780; Sat, 19 Apr 2025 19:43:53 GMT (envelope-from git) Date: Sat, 19 Apr 2025 19:43:53 GMT Message-Id: <202504191943.53JJhrit065780@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: a9f5dcf82941 - main - top.1: Add HISTORY List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a9f5dcf82941e7e211490432b93bd124e7c0a57d Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a9f5dcf82941e7e211490432b93bd124e7c0a57d commit a9f5dcf82941e7e211490432b93bd124e7c0a57d Author: Alexander Ziaee AuthorDate: 2025-04-19 19:39:37 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-19 19:39:37 +0000 top.1: Add HISTORY top was added in 511d9c656578 for FreeBSD 2.2.2. MFC after: 3 days Reviewed by: carlavilla, imp, joerg Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49591 --- usr.bin/top/top.1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/top/top.1 b/usr.bin/top/top.1 index fd30e33d9255..d8ef763e7a34 100644 --- a/usr.bin/top/top.1 +++ b/usr.bin/top/top.1 @@ -520,6 +520,10 @@ flag is specified. .Xr humanize_number 3 , .Xr mem 4 , .Xr renice 8 +.Sh HISTORY +.Nm +first appeared in +.Fx 2.2.2 . .Sh AUTHORS .An William LeFebvre, EECS Department, Northwestern University .Sh BUGS From nobody Sat Apr 19 19:58:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg2Vc4m3Pz5tNdS; Sat, 19 Apr 2025 19:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zg2Vc47vNz3M2H; Sat, 19 Apr 2025 19:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745092680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLJvuLX++swRvdc8bBv40GYZAPw0d3RtDJJ8a8glcOU=; b=nyNFZdMM+kYBPqj0JtASnSb4v2m4iRB+NKhrKobptOHWhdNxwFlirfHX0tcCjtwVkhij7Q nB5BzSxqVzplGlWdmt9/vFH5zm11mt01zaAGIfotVA46ryWwNv5iPXmucqUfmWGZCFXGkH v5mVDW/ILY570xObWQJ3aiDSkrSYcKbVT6isKiVlsXIlH+hxEcZqXV539y9tPHz/G3s8Dn HD3lFXdQB+JPhmZW/P4TU2akDpaG+mSs3kfjQWqt6inEM8gn7ZDBr6HtrouBmOjl6iV4LD GTFsQyMjE3U3sPGeFetdvYJvVhYiL3ECigDPc3IR1zKB16CMic5M1BH8n0U0cA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745092680; a=rsa-sha256; cv=none; b=sJEsMUBRgjIlwblf8KXpEFz5jy8sL63Z5wxT4Wa6Lkh8wP+ohAap0IF0VYMck7K5LqdoOG +H5Kp0u+eVVZ+YINLlJPupWc1bi4QDQy80tI5j58rwg2MuFHP1/Wz0SBEdx1EhPAv4A/sS Yzkjn/V9IkP82Zeu14eaPMCZG/7NK94vjqB02I7awtbG/S/WVX1ztY2bHw6/4Yq9x0z4oC 7rzjcdva1tKRjd2V+qfXrVcoaBDWIn6uxM6lyrewMSbxGD7nQCOT/xmLI3NVCHtayeRVsG dvlP1PuE8niYNKXtBpHkBpt05MbTuQ9ALOGvZAhgor8SjzEdgkq7gYGkyizXlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745092680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLJvuLX++swRvdc8bBv40GYZAPw0d3RtDJJ8a8glcOU=; b=ZZrNvaUcnbG8UQBUlLnarxOQHhIx3q2AxGBWpZfTQz1PP0BWhTQ9SKuovhOjsMid+UoVm2 zKh+v+VKYBDnUyF8xEErpvmD2/5SHIANghUe9V82oJUuPhJhdYp5HXTbY0LmypKKvHBH8+ 2lClhNM/zcAV6s9wBp/IpQC9k382ai6DuSuPfxxq6BjIw/tc4DSFVJt823krSVlxIH11Xp Z1WJbraflk2Na4NHivUe/Rfa+fQMF2z0i36JVDiTY8JqmMK7jcoo7ZxkFUVTnK/NKKHTFn exToLcXeKdHS6Vqkvkd9sLNOY6AYMDi4mXZpiXCedtadt0OEKexdzG/SdId49w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg2Vc3S4PzZ2f; Sat, 19 Apr 2025 19:58: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 53JJw0rZ085519; Sat, 19 Apr 2025 19:58:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JJw0QX085516; Sat, 19 Apr 2025 19:58:00 GMT (envelope-from git) Date: Sat, 19 Apr 2025 19:58:00 GMT Message-Id: <202504191958.53JJw0QX085516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: cf5f0744cd1d - main - Add .NOTMAIN to guard targets List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf5f0744cd1df70f92959710bdf2a88c9f9c7df7 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=cf5f0744cd1df70f92959710bdf2a88c9f9c7df7 commit cf5f0744cd1df70f92959710bdf2a88c9f9c7df7 Author: Simon J. Gerraty AuthorDate: 2025-04-19 19:57:41 +0000 Commit: Simon J. Gerraty CommitDate: 2025-04-19 19:57:41 +0000 Add .NOTMAIN to guard targets Avoid make mistaking a guard target for the .MAIN one. --- share/mk/bsd.clang-analyze.mk | 2 +- share/mk/bsd.compat.mk | 2 +- share/mk/bsd.compat.pre.mk | 2 +- share/mk/bsd.compiler.mk | 2 +- share/mk/bsd.confs.mk | 2 +- share/mk/bsd.dirs.mk | 2 +- share/mk/bsd.files.mk | 2 +- share/mk/bsd.init.mk | 2 +- share/mk/bsd.lib.mk | 2 +- share/mk/bsd.linker.mk | 2 +- share/mk/bsd.obj.mk | 2 +- share/mk/bsd.opts.mk | 2 +- share/mk/bsd.own.mk | 2 +- share/mk/bsd.subdir.mk | 2 +- share/mk/bsd.symver.mk | 2 +- share/mk/bsd.test.mk | 2 +- share/mk/local.dirdeps.mk | 2 +- share/mk/local.init.mk | 2 +- share/mk/netbsd-tests.test.mk | 2 +- share/mk/src.init.mk | 2 +- share/mk/src.libnames.mk | 2 +- share/mk/src.lua.mk | 2 +- share/mk/src.opts.mk | 2 +- share/mk/src.tools.mk | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/share/mk/bsd.clang-analyze.mk b/share/mk/bsd.clang-analyze.mk index 474d2d1e8166..8a49670df573 100644 --- a/share/mk/bsd.clang-analyze.mk +++ b/share/mk/bsd.clang-analyze.mk @@ -25,7 +25,7 @@ # output on stdout. .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk index c41cfda5f01c..6fa732fd730b 100644 --- a/share/mk/bsd.compat.mk +++ b/share/mk/bsd.compat.mk @@ -1,6 +1,6 @@ .if !targets(__<${_this:T}>__) -__<${_this:T}>__: +__<${_this:T}>__: .NOTMAIN .include diff --git a/share/mk/bsd.compat.pre.mk b/share/mk/bsd.compat.pre.mk index 05bdcb8a9f45..92ff6013c040 100644 --- a/share/mk/bsd.compat.pre.mk +++ b/share/mk/bsd.compat.pre.mk @@ -1,5 +1,5 @@ .if !targets(__<${_this:T}>__) -__<${_this:T}>__: +__<${_this:T}>__: .NOTMAIN _ALL_LIBCOMPATS:= 32 diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk index f93d3495b1aa..e8d48cf0b5bf 100644 --- a/share/mk/bsd.compiler.mk +++ b/share/mk/bsd.compiler.mk @@ -40,7 +40,7 @@ # .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/bsd.confs.mk b/share/mk/bsd.confs.mk index c4fb62782b75..ea702cece28d 100644 --- a/share/mk/bsd.confs.mk +++ b/share/mk/bsd.confs.mk @@ -8,7 +8,7 @@ . error bsd.dirs.mk must be included after bsd.confs.mk. . endif -____: +____: .NOTMAIN CONFGROUPS?= CONFS diff --git a/share/mk/bsd.dirs.mk b/share/mk/bsd.dirs.mk index 8e090d3f2cbd..317ff61cd604 100644 --- a/share/mk/bsd.dirs.mk +++ b/share/mk/bsd.dirs.mk @@ -2,7 +2,7 @@ # Directory permissions management. .if !target(____) -____: +____: .NOTMAIN # List of directory variable names to install. Each variable name's value # must be a full path. If non-default permissions are desired, _MODE, # _OWN, and _GRP may be specified. diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index a330a8dddbbd..aedc414d6a28 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -8,7 +8,7 @@ .error bsd.dirs.mk must be included after bsd.files.mk. .endif -____: +____: .NOTMAIN FILESGROUPS?= FILES diff --git a/share/mk/bsd.init.mk b/share/mk/bsd.init.mk index 64fdd23ce7ad..4d3acc3a1148 100644 --- a/share/mk/bsd.init.mk +++ b/share/mk/bsd.init.mk @@ -6,7 +6,7 @@ # MK_FOO variables. .if !target(____) -____: +____: .NOTMAIN .include .-include "local.init.mk" diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index d6e271ce0a06..b33366604b4c 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -4,7 +4,7 @@ .include .include -____: +____: .NOTMAIN .if defined(LIB_CXX) || defined(SHLIB_CXX) _LD= ${CXX} diff --git a/share/mk/bsd.linker.mk b/share/mk/bsd.linker.mk index cceeadd05b94..95d98231b641 100644 --- a/share/mk/bsd.linker.mk +++ b/share/mk/bsd.linker.mk @@ -25,7 +25,7 @@ # .if !target(____) -____: +____: .NOTMAIN _ld_vars=LD $${_empty_var_} .if !empty(_WANT_TOOLCHAIN_CROSS_VARS) diff --git a/share/mk/bsd.obj.mk b/share/mk/bsd.obj.mk index 578423914c6b..91dac6805b12 100644 --- a/share/mk/bsd.obj.mk +++ b/share/mk/bsd.obj.mk @@ -38,7 +38,7 @@ # .if !target(____) -____: +____: .NOTMAIN .include # This is also done in bsd.init.mk diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index f79c5bc61a20..a9400186f78a 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -30,7 +30,7 @@ # .if !target(____) -____: +____: .NOTMAIN .if !defined(_WITHOUT_SRCCONF) # diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index bc53f3679e77..0c47ba9af5c4 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -146,7 +146,7 @@ # SYMLINKMODE Symbolic link mode [755] .if !target(____) -____: +____: .NOTMAIN .include # options now here or src.opts.mk diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index 565af41602c0..cf19c9d66201 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -33,7 +33,7 @@ # .if !target(____) -____: +____: .NOTMAIN .if ${MK_AUTO_OBJ} == "no" _obj= obj diff --git a/share/mk/bsd.symver.mk b/share/mk/bsd.symver.mk index d0b63206d8fe..7a46f67e6774 100644 --- a/share/mk/bsd.symver.mk +++ b/share/mk/bsd.symver.mk @@ -1,6 +1,6 @@ .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/bsd.test.mk b/share/mk/bsd.test.mk index ea7bda0da559..b324ac173335 100644 --- a/share/mk/bsd.test.mk +++ b/share/mk/bsd.test.mk @@ -7,7 +7,7 @@ .include -____: +____: .NOTMAIN # Third-party software (kyua, etc) prefix. LOCALBASE?= /usr/local diff --git a/share/mk/local.dirdeps.mk b/share/mk/local.dirdeps.mk index 2a92eea7455e..f34a4542e534 100644 --- a/share/mk/local.dirdeps.mk +++ b/share/mk/local.dirdeps.mk @@ -40,7 +40,7 @@ DIRDEPS_FILTER.host = \ # since they are never installed. # Cheat for including src.libnames.mk -____: +____: .NOTMAIN # Pull in _INTERNALLIBS .include diff --git a/share/mk/local.init.mk b/share/mk/local.init.mk index 758a3604d73a..7ea513385f61 100644 --- a/share/mk/local.init.mk +++ b/share/mk/local.init.mk @@ -1,6 +1,6 @@ .if !target(__${_this}__) -__${_this}__: +__${_this}__: .NOTMAIN .if ${.MAKE.MODE:Mmeta*} != "" .if !empty(SUBDIR) && !defined(LIB) && !defined(PROG) && ${.MAKE.MAKEFILES:M*bsd.prog.mk} == "" diff --git a/share/mk/netbsd-tests.test.mk b/share/mk/netbsd-tests.test.mk index 4f222faca2ab..bed01156c5e5 100644 --- a/share/mk/netbsd-tests.test.mk +++ b/share/mk/netbsd-tests.test.mk @@ -1,6 +1,6 @@ .if !target(__netbsd_tests.test.mk__) -__netbsd_tests.test.mk__: +__netbsd_tests.test.mk__: .NOTMAIN TESTSRC?= ${SRCTOP}/contrib/netbsd-tests/${RELDIR:H} diff --git a/share/mk/src.init.mk b/share/mk/src.init.mk index e35d615d0e1a..01ea5437e5a7 100644 --- a/share/mk/src.init.mk +++ b/share/mk/src.init.mk @@ -1,6 +1,6 @@ .if !target(____) -____: +____: .NOTMAIN .if !target(buildenv) buildenv: .PHONY diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index be8db2dc1540..57b694ed5122 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -7,7 +7,7 @@ .endif .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/src.lua.mk b/share/mk/src.lua.mk index 7d8bc05fdfcf..063ca97ea7d2 100644 --- a/share/mk/src.lua.mk +++ b/share/mk/src.lua.mk @@ -5,7 +5,7 @@ # system. .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index ef8711db713f..956220be43b3 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -29,7 +29,7 @@ # .if !target(____) -____: +____: .NOTMAIN .include diff --git a/share/mk/src.tools.mk b/share/mk/src.tools.mk index 23012593222b..70053c9b4a32 100644 --- a/share/mk/src.tools.mk +++ b/share/mk/src.tools.mk @@ -21,5 +21,5 @@ SERVICES_MKDB_CMD?= services_mkdb CAP_MKDB_CMD?= cap_mkdb TIC_CMD?= tic -____: +____: .NOTMAIN .endif # !target(____) From nobody Sat Apr 19 20:54:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg3mC5MJfz5tSpq for ; Sat, 19 Apr 2025 20:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zg3mC2xcHz3rvc; Sat, 19 Apr 2025 20:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745096091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+dcxB8a0bMyle5PaRsS6IXYc2QzUG6NfKcGrSV0ojT4=; b=p8nUuekI2UItgPL5zWmKCcGtgJqkQHCi7Os9xZC7nsTETCzS0IL4ij6N4mjmokS47EJdeJ SixNoEp4hdgHWRcpaliSwFhdNzzCiF32CHyJAVJdzb5eth0nMjU2+DmSDRBa8dyvCexuHE qvaDQq6yX5qGaj+Z9LMdwWVc6PUl15es0DI0AXwJnQL/JTyPSTwLggo637Jk1XukC4sPoM rcxNfs7F5Q2kWGl1IFmUb/IyApcG2yXxMWOIiFH7C+8wgynNPf4kZq1jqGwILGmutHIgbp dxssO4VmWKzp1Jbc47a8poMlQ0YlwpPPO8TDyEaM6x58VcqDj0QD2BE2b2R2fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745096091; a=rsa-sha256; cv=none; b=uM5O2xBgYONj5Cs2Pstk5Qk8BHpn4QzmFArb2CtN32/jXb5vXDfoGYKIKuiOkRcHbuvwPp O/b8gaKUIuKnj+jiqVm/CpAqPIrc2aEwyRoesDiaLWByY0vd29u6ih3IFau2oMUVhkZ/MN TPMqmcLkwSyjXl+LjJfN7Qd4aMn1V/82dn4szQr6R7ZNJgfFCIYzeqoEJkbFA+4yW4+cxf Sl0x7F6PgqUsCqBzjvv/hlBSLBEW8pXGrYJznXVgacKlZsDmSSNAcPPjkw7+OVfJhv7leZ z+wWBOYvQtxGLl8Q9QlVC+KLb72B2ry9cAX9qzcTQ2QcDDULO9zZLBuvzWVVPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745096091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+dcxB8a0bMyle5PaRsS6IXYc2QzUG6NfKcGrSV0ojT4=; b=Fui4RumKjpW3wtgNPSAugKFNQmwTidzPQ9KXgIaMsMFBuvMKb2V7sD5M/OAEyMGQwSAJYB UgCcSGBtZ2x3Ks4B7K7OBO1+VswwAA2oG8WmN8kDoHUezJCpejyFEeKSQrhDtlu/ogyZvK fIGgqTIZE8DYjR9MU90Mf1WOEqbPNK/vhL47rxGraxdcEUjRPCkUwwF8uFWyEudxEhCljG f5mJyrgX1njVBncXA2AlQtr/z4wQjN7jo4eAD6y/KXYuCiA9aRqQ6nX1riUwunstETlmvS 3hYDsYPAOZnLVnCbevjnA5lxoL3KvXGLYC7DJ/tObgkXMivoKCK7CSc801b0eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg3mC1mKwzb8y; Sat, 19 Apr 2025 20:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53JKspxN096989; Sat, 19 Apr 2025 20:54:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JKspNU096988; Sat, 19 Apr 2025 20:54:51 GMT (envelope-from git) Date: Sat, 19 Apr 2025 20:54:51 GMT Message-Id: <202504192054.53JKspNU096988@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 397f57656d61..284d1f7d4968 - vendor/NetBSD/bmake - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/vendor/NetBSD/bmake X-Git-Reftype: branch X-Git-Commit: 284d1f7d496806b18558ab55e4654fd5e96d6a3e X-Git-Oldrev: 397f57656d61ec830291c670fb8e33b18bf36ce9 X-Git-Newrev: 284d1f7d496806b18558ab55e4654fd5e96d6a3e Auto-Submitted: auto-generated The branch vendor/NetBSD/bmake has been updated by sjg: URL: https://cgit.FreeBSD.org/src/log/?id=397f57656d61..284d1f7d4968 284d1f7d4968 Import bmake-20250414 From nobody Sat Apr 19 21:00:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg3td0S5dz5tTH9; Sat, 19 Apr 2025 21:00: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 4Zg3tc6l94z3vvf; Sat, 19 Apr 2025 21:00:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745096424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAn/GHO/H6ygqRi2cXpiSJLtcQe930oeNN/6/LNpy88=; b=OARF4+q+ik1JiHmWO7lD+JhPVc74ABTBpuGFiDKbNk8ztASKQEsz0EHhaiW3p0wW3Hcppj X0U1E5gyhGAQKhWqUiESfu+GwCLF0SDv0pByXO/6PvY7fqnJZpcEDEg2oc8rGlYmvWwkO4 X2ceDsJT+5HCfqOsvABjQyxxbW8im4djFCRdprXMgYkgC3wTvWmmJKWA0RvZveoDpcUkzw Ip/5ttQqGIbW7YZ5ZDDOjQDzL+rAtXoBBbZOZygPUfaKkueUyUwayCPlMSKkJ9t4W3/MSp bS1cZrP7x5WVVyM6etCyPn3zF+hVliy+X/fkSWEPYCc7T/ij30ImWqTPU54KrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745096424; a=rsa-sha256; cv=none; b=BubNcXcWstHBxb65MmfUSJ1ykbWg65c7y3r1Te8rWr+tUVQmW8hJ6IDZwCOqI/9kB03k5m /BsINlPTE/3+Uk5Kcsn9oW26sV4OAdzMGULRvXnHPgqyfzPCLRfNPkDHbYJVqSipLrUpjR VaD+61gVXYgDPtSu5UZlXHNSgcEPFTa4Ts1hNaU7A+xuUgEurqTC+sei9TgObFyU+6aTWQ x/AL96kr0ngLuRt7GuIsmviPbSzl1iS8Z1Diav6IjkG9tb+MxNebIiN82Se6SkH5/t4py0 s8awcKG9a8ekT4FID6sZRbfY8Vu5BQ00godofx3HAw0AeUBGjRTjVUpnV+K0nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745096424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAn/GHO/H6ygqRi2cXpiSJLtcQe930oeNN/6/LNpy88=; b=Oqsx5BoipLruVs7Z1755uWYwIhh8Zdgxdfq8dYOoit1wLS6IPwhx6li4OLwhbMqz7U58sU f7ACa7sjZn7+ORjOQ/vO1RpmnLCMF3qx9gx+498jcKLFTCT0fV0U3/6l5fv5WKho/Ykwuj Jcyilrxe1sKJXcNvUYZbjJArIsg9pf+FqB7sBaUMJsyPfTlh9gQFB7cOhF7/L1Bj6a5EZC HnC98v7jzny5yjBWplxrNcBBo69UHRJ9HpcbwUfNomMPYxVQz8SbD4SRWI8ldiNHSxiSts Tm38MbHlnh/G+oqEVbsGcANCiMDD5R8EWTLio0MgPfupIVFvC73DwFHXbDm04Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg3tc6L6Jzbqn; Sat, 19 Apr 2025 21:00: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 53JL0Osi008514; Sat, 19 Apr 2025 21:00:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JL0IU8008487; Sat, 19 Apr 2025 21:00:18 GMT (envelope-from git) Date: Sat, 19 Apr 2025 21:00:18 GMT Message-Id: <202504192100.53JL0IU8008487@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 759b177aecbf - main - Merge bmake-20250414 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 759b177aecbfc49ebc900739954ac56b1aa5fc53 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=759b177aecbfc49ebc900739954ac56b1aa5fc53 commit 759b177aecbfc49ebc900739954ac56b1aa5fc53 Merge: cf5f0744cd1d 284d1f7d4968 Author: Simon J. Gerraty AuthorDate: 2025-04-19 20:57:00 +0000 Commit: Simon J. Gerraty CommitDate: 2025-04-19 20:59:16 +0000 Merge bmake-20250414 Merge commit '284d1f7d496806b18558ab55e4654fd5e96d6a3e' contrib/bmake/ChangeLog | 49 ++++++ contrib/bmake/FILES | 6 + contrib/bmake/VERSION | 2 +- contrib/bmake/bmake.1 | 58 ++++++- contrib/bmake/bmake.cat1 | 41 ++++- contrib/bmake/cond.c | 32 ++-- contrib/bmake/dir.c | 6 +- contrib/bmake/for.c | 47 +++--- contrib/bmake/job.c | 38 ++--- contrib/bmake/main.c | 15 +- contrib/bmake/make.1 | 58 ++++++- contrib/bmake/make.h | 5 +- contrib/bmake/meta.c | 32 ++-- contrib/bmake/mk/ChangeLog | 22 +++ contrib/bmake/mk/auto.obj.mk | 13 +- contrib/bmake/mk/genfiles.mk | 5 +- contrib/bmake/mk/init.mk | 21 ++- contrib/bmake/mk/install-mk | 4 +- contrib/bmake/mk/rst2htm.mk | 6 +- contrib/bmake/parse.c | 22 +-- contrib/bmake/unit-tests/Makefile | 15 +- contrib/bmake/unit-tests/archive.exp | 4 +- contrib/bmake/unit-tests/cmd-errors-jobs.exp | 10 +- contrib/bmake/unit-tests/cmd-errors-jobs.mk | 9 +- contrib/bmake/unit-tests/cmd-errors-lint.exp | 5 +- contrib/bmake/unit-tests/cmd-errors-lint.mk | 4 +- contrib/bmake/unit-tests/cmd-errors.exp | 5 +- contrib/bmake/unit-tests/cmd-errors.mk | 4 +- contrib/bmake/unit-tests/cmdline-undefined.exp | 24 +-- contrib/bmake/unit-tests/cond-cmp-numeric-eq.exp | 4 +- contrib/bmake/unit-tests/cond-cmp-numeric.exp | 8 +- contrib/bmake/unit-tests/cond-cmp-string.exp | 16 +- contrib/bmake/unit-tests/cond-cmp-unary.exp | 2 +- contrib/bmake/unit-tests/cond-eof.exp | 6 +- contrib/bmake/unit-tests/cond-func-defined.exp | 4 +- contrib/bmake/unit-tests/cond-func-empty.exp | 2 +- contrib/bmake/unit-tests/cond-func-make.exp | 2 +- contrib/bmake/unit-tests/cond-func.exp | 20 +-- contrib/bmake/unit-tests/cond-late.exp | 2 +- contrib/bmake/unit-tests/cond-op-and-lint.exp | 2 +- contrib/bmake/unit-tests/cond-op-and.exp | 16 +- contrib/bmake/unit-tests/cond-op-not.exp | 12 +- contrib/bmake/unit-tests/cond-op-or-lint.exp | 2 +- contrib/bmake/unit-tests/cond-op-or.exp | 16 +- contrib/bmake/unit-tests/cond-op-parentheses.exp | 8 +- contrib/bmake/unit-tests/cond-op.exp | 36 ++--- contrib/bmake/unit-tests/cond-short.exp | 2 +- contrib/bmake/unit-tests/cond-token-number.exp | 8 +- contrib/bmake/unit-tests/cond-token-plain.exp | 30 ++-- contrib/bmake/unit-tests/cond-token-string.exp | 18 +-- contrib/bmake/unit-tests/cond-token-string.mk | 4 +- contrib/bmake/unit-tests/cond-token-var.exp | 26 +-- contrib/bmake/unit-tests/cond-token-var.mk | 29 +++- contrib/bmake/unit-tests/cond-undef-lint.exp | 6 +- .../bmake/unit-tests/dep-colon-bug-cross-file.exp | 4 +- contrib/bmake/unit-tests/dep-duplicate.exp | 4 +- contrib/bmake/unit-tests/dep-op-missing.exp | 2 +- contrib/bmake/unit-tests/dep.exp | 4 +- contrib/bmake/unit-tests/deptgt-begin.exp | 4 +- contrib/bmake/unit-tests/deptgt-path-suffix.exp | 2 +- contrib/bmake/unit-tests/deptgt.exp | 14 +- contrib/bmake/unit-tests/deptgt.mk | 6 +- contrib/bmake/unit-tests/directive-dinclude.exp | 2 +- contrib/bmake/unit-tests/directive-dinclude.mk | 4 +- contrib/bmake/unit-tests/directive-elif.exp | 36 ++--- contrib/bmake/unit-tests/directive-else.exp | 16 +- contrib/bmake/unit-tests/directive-endfor.exp | 2 +- contrib/bmake/unit-tests/directive-endif.exp | 10 +- contrib/bmake/unit-tests/directive-error.exp | 2 +- .../bmake/unit-tests/directive-export-gmake.exp | 6 +- contrib/bmake/unit-tests/directive-export.exp | 8 +- contrib/bmake/unit-tests/directive-for-break.exp | 4 +- contrib/bmake/unit-tests/directive-for-empty.exp | 2 +- contrib/bmake/unit-tests/directive-for-errors.exp | 25 ++- contrib/bmake/unit-tests/directive-for-errors.mk | 14 +- contrib/bmake/unit-tests/directive-for-escape.exp | 66 ++++---- .../unit-tests/directive-for-generating-endif.exp | 8 +- contrib/bmake/unit-tests/directive-for-if.exp | 6 +- contrib/bmake/unit-tests/directive-for-lines.exp | 12 +- contrib/bmake/unit-tests/directive-for-null.exp | 2 +- contrib/bmake/unit-tests/directive-for-null.mk | 4 +- contrib/bmake/unit-tests/directive-for.exp | 59 ++++--- contrib/bmake/unit-tests/directive-for.mk | 14 +- .../bmake/unit-tests/directive-hyphen-include.exp | 2 +- .../bmake/unit-tests/directive-hyphen-include.mk | 4 +- contrib/bmake/unit-tests/directive-if-nested.exp | 2 +- contrib/bmake/unit-tests/directive-if.exp | 30 ++-- contrib/bmake/unit-tests/directive-ifmake.exp | 14 +- contrib/bmake/unit-tests/directive-ifndef.exp | 2 +- .../bmake/unit-tests/directive-include-fatal.exp | 2 +- .../bmake/unit-tests/directive-include-guard.exp | 168 +++++++++---------- .../bmake/unit-tests/directive-include-guard.mk | 168 +++++++++---------- contrib/bmake/unit-tests/directive-include.exp | 12 +- contrib/bmake/unit-tests/directive-include.mk | 6 +- contrib/bmake/unit-tests/directive-info.exp | 24 +-- .../bmake/unit-tests/directive-misspellings.exp | 84 +++++----- contrib/bmake/unit-tests/directive-sinclude.exp | 2 +- contrib/bmake/unit-tests/directive-sinclude.mk | 4 +- contrib/bmake/unit-tests/directive-undef.exp | 6 +- contrib/bmake/unit-tests/directive-undef.mk | 4 +- .../bmake/unit-tests/directive-unexport-env.exp | 6 +- contrib/bmake/unit-tests/directive-unexport.exp | 8 +- contrib/bmake/unit-tests/directive-warning.exp | 16 +- contrib/bmake/unit-tests/directive.exp | 14 +- contrib/bmake/unit-tests/error.exp | 6 +- contrib/bmake/unit-tests/include-main.exp | 18 +-- contrib/bmake/unit-tests/lint.exp | 1 + contrib/bmake/unit-tests/meta-cmd-cmp.exp | 12 +- contrib/bmake/unit-tests/moderrs.exp | 117 +++++++++----- contrib/bmake/unit-tests/moderrs.mk | 69 ++++---- contrib/bmake/unit-tests/opt-debug-file.exp | 6 +- contrib/bmake/unit-tests/opt-debug-hash.exp | 2 +- contrib/bmake/unit-tests/opt-debug-lint.exp | 10 +- contrib/bmake/unit-tests/opt-debug-lint.mk | 8 +- contrib/bmake/unit-tests/opt-debug-parse.exp | 18 +-- contrib/bmake/unit-tests/opt-debug-var.exp | 4 +- contrib/bmake/unit-tests/opt-file.exp | 2 +- .../bmake/unit-tests/opt-warnings-as-errors.exp | 4 +- contrib/bmake/unit-tests/parse.exp | 6 +- contrib/bmake/unit-tests/posix-execution.exp | 24 +++ contrib/bmake/unit-tests/posix-execution.mk | 59 +++++++ contrib/bmake/unit-tests/posix-expansion.exp | 1 + contrib/bmake/unit-tests/posix-expansion.mk | 22 +++ contrib/bmake/unit-tests/posix-varassign.exp | 1 + contrib/bmake/unit-tests/posix-varassign.mk | 79 +++++++++ contrib/bmake/unit-tests/posix.exp | 28 +--- contrib/bmake/unit-tests/posix.mk | 36 ++--- contrib/bmake/unit-tests/recursive.exp | 4 +- contrib/bmake/unit-tests/var-eval-short.exp | 2 +- contrib/bmake/unit-tests/var-op-assign.exp | 4 +- contrib/bmake/unit-tests/var-op-expand.exp | 8 +- contrib/bmake/unit-tests/var-op-expand.mk | 6 +- contrib/bmake/unit-tests/var-op-shell.exp | 8 +- contrib/bmake/unit-tests/var-recursive.exp | 19 +-- contrib/bmake/unit-tests/var-recursive.mk | 8 +- contrib/bmake/unit-tests/var-scope-cmdline.exp | 4 +- contrib/bmake/unit-tests/vardebug.exp | 5 +- contrib/bmake/unit-tests/vardebug.mk | 7 +- contrib/bmake/unit-tests/varmisc.exp | 9 ++ contrib/bmake/unit-tests/varmod-assign-shell.exp | 4 +- contrib/bmake/unit-tests/varmod-assign.exp | 18 ++- contrib/bmake/unit-tests/varmod-assign.mk | 20 ++- contrib/bmake/unit-tests/varmod-edge.exp | 15 +- contrib/bmake/unit-tests/varmod-edge.mk | 13 +- contrib/bmake/unit-tests/varmod-gmtime.exp | 10 +- contrib/bmake/unit-tests/varmod-hash.exp | 9 +- contrib/bmake/unit-tests/varmod-ifelse.exp | 46 +++--- contrib/bmake/unit-tests/varmod-ifelse.mk | 16 +- contrib/bmake/unit-tests/varmod-indirect.exp | 36 ++--- contrib/bmake/unit-tests/varmod-indirect.mk | 23 ++- contrib/bmake/unit-tests/varmod-localtime.exp | 10 +- contrib/bmake/unit-tests/varmod-loop-delete.exp | 2 +- contrib/bmake/unit-tests/varmod-loop-varname.exp | 8 +- contrib/bmake/unit-tests/varmod-match-escape.exp | 8 +- contrib/bmake/unit-tests/varmod-match.exp | 20 +-- contrib/bmake/unit-tests/varmod-match.mk | 4 +- contrib/bmake/unit-tests/varmod-mtime.exp | 12 +- contrib/bmake/unit-tests/varmod-mtime.mk | 4 +- contrib/bmake/unit-tests/varmod-order.exp | 26 ++- contrib/bmake/unit-tests/varmod-order.mk | 28 ++-- contrib/bmake/unit-tests/varmod-range.exp | 13 +- contrib/bmake/unit-tests/varmod-range.mk | 12 +- contrib/bmake/unit-tests/varmod-select-words.exp | 36 +++-- contrib/bmake/unit-tests/varmod-select-words.mk | 26 +-- contrib/bmake/unit-tests/varmod-shell.exp | 6 +- contrib/bmake/unit-tests/varmod-subst-regex.exp | 17 +- contrib/bmake/unit-tests/varmod-subst.exp | 3 +- contrib/bmake/unit-tests/varmod-subst.mk | 4 +- contrib/bmake/unit-tests/varmod-sun-shell.exp | 4 +- contrib/bmake/unit-tests/varmod-sysv.exp | 4 +- contrib/bmake/unit-tests/varmod-sysv.mk | 29 +++- contrib/bmake/unit-tests/varmod-to-abs.exp | 6 +- contrib/bmake/unit-tests/varmod-to-separator.exp | 26 +-- contrib/bmake/unit-tests/varmod-to-separator.mk | 80 ++++----- contrib/bmake/unit-tests/varmod.exp | 47 +++--- contrib/bmake/unit-tests/varmod.mk | 91 ++++++----- contrib/bmake/unit-tests/varname-dollar.exp | 8 +- .../bmake/unit-tests/varname-dot-make-level.exp | 13 +- contrib/bmake/unit-tests/varname-dot-make-level.mk | 42 ++++- .../varname-dot-make-meta-ignore_filter.exp | 2 +- .../varname-dot-make-meta-ignore_paths.exp | 2 +- .../varname-dot-make-meta-ignore_patterns.exp | 2 +- contrib/bmake/unit-tests/varname-dot-makeflags.exp | 12 +- contrib/bmake/unit-tests/varname-dot-newline.exp | 6 +- contrib/bmake/unit-tests/varname-dot-parsedir.exp | 6 +- contrib/bmake/unit-tests/varname-dot-parsefile.exp | 6 +- contrib/bmake/unit-tests/varname.exp | 6 +- contrib/bmake/unit-tests/varparse-dynamic.exp | 4 +- contrib/bmake/unit-tests/varparse-errors.exp | 47 +++--- contrib/bmake/unit-tests/varparse-errors.mk | 34 +++- contrib/bmake/var.c | 178 ++++++++++----------- usr.bin/bmake/Makefile.config | 2 +- usr.bin/bmake/unit-tests/Makefile | 15 +- 193 files changed, 2032 insertions(+), 1469 deletions(-) diff --cc contrib/bmake/mk/install-mk index d765fbba2251,de5056a37042..de5056a37042 mode 100644,100755..100755 --- a/contrib/bmake/mk/install-mk +++ b/contrib/bmake/mk/install-mk diff --cc contrib/bmake/unit-tests/posix-execution.exp index 000000000000,e455adaf98d7..e455adaf98d7 mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-execution.exp +++ b/contrib/bmake/unit-tests/posix-execution.exp diff --cc contrib/bmake/unit-tests/posix-execution.mk index 000000000000,ef4a66d84102..ef4a66d84102 mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-execution.mk +++ b/contrib/bmake/unit-tests/posix-execution.mk diff --cc contrib/bmake/unit-tests/posix-expansion.exp index 000000000000,39a9383953dd..39a9383953dd mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-expansion.exp +++ b/contrib/bmake/unit-tests/posix-expansion.exp diff --cc contrib/bmake/unit-tests/posix-expansion.mk index 000000000000,59082d567b37..59082d567b37 mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-expansion.mk +++ b/contrib/bmake/unit-tests/posix-expansion.mk diff --cc contrib/bmake/unit-tests/posix-varassign.exp index 000000000000,39a9383953dd..39a9383953dd mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-varassign.exp +++ b/contrib/bmake/unit-tests/posix-varassign.exp diff --cc contrib/bmake/unit-tests/posix-varassign.mk index 000000000000,6b9b2f083e3e..6b9b2f083e3e mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/posix-varassign.mk +++ b/contrib/bmake/unit-tests/posix-varassign.mk diff --cc usr.bin/bmake/Makefile.config index a5e81a13cd0a,000000000000..5a71b607ca30 mode 100644,000000..100644 --- a/usr.bin/bmake/Makefile.config +++ b/usr.bin/bmake/Makefile.config @@@ -1,28 -1,0 +1,28 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# + +SRCTOP?= ${.CURDIR:H:H} + +# things set by configure + - _MAKE_VERSION?=20250308 ++_MAKE_VERSION?=20250414 + +prefix?= /usr +srcdir= ${SRCTOP}/contrib/bmake +CC?= cc +MAKE_OS?= +DEFAULT_SYS_PATH?= .../share/mk:/usr/share/mk + +EGREP= egrep +CPPFLAGS+= +CFLAGS+= ${CPPFLAGS} -DHAVE_CONFIG_H +LDFLAGS+= +LIBOBJS+= ${LIBOBJDIR}stresep$U.o +LDADD+= +USE_META?= yes +USE_FILEMON?= dev +FILEMON_H?= /usr/include/dev/filemon/filemon.h +BMAKE_PATH_MAX?= 1024 +# used if MAXPATHLEN not defined +CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX} diff --cc usr.bin/bmake/unit-tests/Makefile index cdf252d5e474,000000000000..95cb31d01990 mode 100644,000000..100644 --- a/usr.bin/bmake/unit-tests/Makefile +++ b/usr.bin/bmake/unit-tests/Makefile @@@ -1,918 -1,0 +1,923 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# - # $Id: Makefile,v 1.230 2025/01/30 18:04:20 sjg Exp $ ++# $Id: Makefile,v 1.233 2025/04/14 16:02:33 sjg Exp $ +# - # $NetBSD: Makefile,v 1.355 2025/01/25 22:46:30 sjg Exp $ ++# $NetBSD: Makefile,v 1.358 2025/04/13 09:29:32 rillig Exp $ +# +# Unit tests for make(1) +# +# The main targets are: +# +# all: +# run all the tests +# test: +# run 'all', and compare to expected results +# accept: +# move generated output to expected results +# +# Settable variables +# +# TEST_MAKE +# The make program to be tested. +# +# +# Adding a test case +# +# Each feature should get its own set of tests in its own suitably +# named makefile (*.mk), with its own set of expected results (*.exp), +# and it should be added to the TESTS list. +# + +.MAIN: all + +# we use these below but we might be an older make +.MAKE.OS?= ${uname -s:L:sh} +.MAKE.UID?= ${id -u:L:sh} + +# for many tests we need a TMPDIR that will not collide +# with other users. +.if ${.OBJDIR} != ${.CURDIR} +# easy +TMPDIR:= ${.OBJDIR}/tmp +.elif defined(TMPDIR) +TMPDIR:= ${TMPDIR}/uid${.MAKE.UID} +.else +TMPDIR:= /tmp/uid${.MAKE.UID} +.endif +# make sure it exists +.if !exist(${TMPDIR}) +_!= mkdir -p ${TMPDIR} +.endif +# and clean it up - outside the context of +# any target that might be using it. +.END: rm-tmpdir +rm-tmpdir: .NOMETA + @rm -rf ${TMPDIR} + +# Each test is in a sub-makefile. +# Keep the list sorted. +# Any test that is commented out must be ignored in +# src/tests/usr.bin/make/t_make.sh as well. +#TESTS+= archive +#TESTS+= archive-suffix +TESTS+= cmd-errors +TESTS+= cmd-errors-jobs +TESTS+= cmd-errors-lint +TESTS+= cmd-interrupt +TESTS+= cmdline +TESTS+= cmdline-redirect-stdin +TESTS+= cmdline-undefined +TESTS+= comment +TESTS+= compat-error +TESTS+= cond-cmp-numeric +TESTS+= cond-cmp-numeric-eq +TESTS+= cond-cmp-numeric-ge +TESTS+= cond-cmp-numeric-gt +TESTS+= cond-cmp-numeric-le +TESTS+= cond-cmp-numeric-lt +TESTS+= cond-cmp-numeric-ne +TESTS+= cond-cmp-string +TESTS+= cond-cmp-unary +TESTS+= cond-eof +TESTS+= cond-func +TESTS+= cond-func-commands +TESTS+= cond-func-defined +TESTS+= cond-func-empty +TESTS+= cond-func-exists +TESTS+= cond-func-make +TESTS+= cond-func-make-main +TESTS+= cond-func-target +TESTS+= cond-late +TESTS+= cond-op +TESTS+= cond-op-and +TESTS+= cond-op-and-lint +TESTS+= cond-op-not +TESTS+= cond-op-or +TESTS+= cond-op-or-lint +TESTS+= cond-op-parentheses +TESTS+= cond-short +TESTS+= cond-token-number +TESTS+= cond-token-plain +TESTS+= cond-token-string +TESTS+= cond-token-var +TESTS+= cond-undef-lint +TESTS+= counter +TESTS+= counter-append +TESTS+= dep +TESTS+= dep-colon +TESTS+= dep-colon-bug-cross-file +TESTS+= dep-double-colon +TESTS+= dep-double-colon-indep +TESTS+= dep-duplicate +TESTS+= dep-exclam +TESTS+= dep-none +TESTS+= dep-op-missing +TESTS+= dep-percent +TESTS+= dep-var +TESTS+= dep-wildcards +TESTS+= depsrc +TESTS+= depsrc-end +TESTS+= depsrc-exec +TESTS+= depsrc-ignore +TESTS+= depsrc-made +TESTS+= depsrc-make +TESTS+= depsrc-meta +TESTS+= depsrc-nometa +TESTS+= depsrc-nometa_cmp +TESTS+= depsrc-nopath +TESTS+= depsrc-notmain +TESTS+= depsrc-optional +TESTS+= depsrc-phony +TESTS+= depsrc-precious +TESTS+= depsrc-recursive +TESTS+= depsrc-silent +TESTS+= depsrc-use +TESTS+= depsrc-usebefore +TESTS+= depsrc-usebefore-double-colon +TESTS+= depsrc-wait +TESTS+= deptgt +TESTS+= deptgt-begin +TESTS+= deptgt-begin-fail +TESTS+= deptgt-begin-fail-indirect +TESTS+= deptgt-default +TESTS+= deptgt-delete_on_error +TESTS+= deptgt-end +TESTS+= deptgt-end-fail +TESTS+= deptgt-end-fail-all +TESTS+= deptgt-end-fail-indirect +TESTS+= deptgt-end-jobs +TESTS+= deptgt-error +TESTS+= deptgt-ignore +TESTS+= deptgt-interrupt +TESTS+= deptgt-main +TESTS+= deptgt-makeflags +TESTS+= deptgt-no_parallel +TESTS+= deptgt-nopath +TESTS+= deptgt-notparallel +TESTS+= deptgt-objdir +TESTS+= deptgt-order +TESTS+= deptgt-path +TESTS+= deptgt-path-suffix +TESTS+= deptgt-phony +TESTS+= deptgt-posix +TESTS+= deptgt-precious +TESTS+= deptgt-shell +TESTS+= deptgt-silent +TESTS+= deptgt-silent-jobs +TESTS+= deptgt-stale +TESTS+= deptgt-suffixes +TESTS+= dir +TESTS+= dir-expand-path +TESTS+= directive +TESTS+= directive-dinclude +TESTS+= directive-elif +TESTS+= directive-elifdef +TESTS+= directive-elifmake +TESTS+= directive-elifndef +TESTS+= directive-elifnmake +TESTS+= directive-else +TESTS+= directive-endfor +TESTS+= directive-endif +TESTS+= directive-error +TESTS+= directive-export +TESTS+= directive-export-env +TESTS+= directive-export-impl +TESTS+= directive-export-gmake +TESTS+= directive-export-literal +TESTS+= directive-for +TESTS+= directive-for-break +TESTS+= directive-for-empty +TESTS+= directive-for-errors +TESTS+= directive-for-escape +TESTS+= directive-for-generating-endif +TESTS+= directive-for-if +TESTS+= directive-for-lines +TESTS+= directive-for-null +TESTS+= directive-hyphen-include +TESTS+= directive-if +TESTS+= directive-if-nested +TESTS+= directive-ifdef +TESTS+= directive-ifmake +TESTS+= directive-ifndef +TESTS+= directive-ifnmake +TESTS+= directive-include +TESTS+= directive-include-fatal +TESTS+= directive-include-guard +TESTS+= directive-info +TESTS+= directive-misspellings +TESTS+= directive-sinclude +TESTS+= directive-undef +TESTS+= directive-unexport +TESTS+= directive-unexport-env +TESTS+= directive-warning +TESTS+= dollar +TESTS+= doterror +TESTS+= dotwait +TESTS+= error +TESTS+= # escape # broken by reverting POSIX changes +TESTS+= export +TESTS+= export-all +TESTS+= export-env +TESTS+= export-variants +TESTS+= gnode-submake +TESTS+= hanoi-include +TESTS+= impsrc +TESTS+= include-main +TESTS+= job-flags +TESTS+= job-output-long-lines +TESTS+= job-output-null +TESTS+= jobs-empty-commands +TESTS+= jobs-empty-commands-error +TESTS+= jobs-error-indirect +TESTS+= jobs-error-nested +TESTS+= jobs-error-nested-make +TESTS+= lint +TESTS+= make-exported +TESTS+= meta-cmd-cmp +TESTS+= moderrs +TESTS+= modmisc +.if ${.MAKE.UID} > 0 +TESTS+= objdir-writable +.endif +TESTS+= opt +TESTS+= opt-backwards +TESTS+= opt-chdir +TESTS+= opt-debug +TESTS+= opt-debug-all +TESTS+= opt-debug-archive +TESTS+= opt-debug-curdir +TESTS+= opt-debug-cond +TESTS+= opt-debug-dir +TESTS+= opt-debug-errors +TESTS+= opt-debug-errors-jobs +TESTS+= opt-debug-file +TESTS+= opt-debug-for +TESTS+= opt-debug-graph1 +TESTS+= opt-debug-graph2 +TESTS+= opt-debug-graph3 +TESTS+= opt-debug-hash +TESTS+= opt-debug-jobs +TESTS+= opt-debug-lint +TESTS+= opt-debug-loud +TESTS+= opt-debug-meta +TESTS+= opt-debug-making +TESTS+= opt-debug-no-rm +TESTS+= opt-debug-parse +TESTS+= opt-debug-suff +TESTS+= opt-debug-targets +TESTS+= opt-debug-varraw +TESTS+= opt-debug-var +TESTS+= opt-debug-x-trace +TESTS+= opt-define +TESTS+= opt-env +TESTS+= opt-file +TESTS+= opt-ignore +TESTS+= opt-include-dir +TESTS+= opt-jobs +TESTS+= opt-jobs-internal +TESTS+= opt-jobs-no-action +TESTS+= opt-keep-going +TESTS+= opt-keep-going-indirect +TESTS+= opt-keep-going-multiple +TESTS+= opt-m-include-dir +TESTS+= opt-no-action +TESTS+= opt-no-action-at-all +TESTS+= opt-no-action-runflags +TESTS+= opt-no-action-touch +TESTS+= opt-query +TESTS+= opt-raw +TESTS+= opt-silent +TESTS+= opt-touch +TESTS+= opt-touch-jobs +TESTS+= opt-tracefile +TESTS+= opt-var-expanded +TESTS+= opt-var-literal +TESTS+= opt-version +TESTS+= opt-warnings-as-errors +TESTS+= opt-where-am-i +TESTS+= opt-x-reduce-exported +TESTS+= order +TESTS+= parse +TESTS+= parse-var +TESTS+= phony-end +TESTS+= posix ++TESTS+= posix-execution ++TESTS+= posix-expansion ++TESTS+= posix-varassign +TESTS+= # posix1 # broken by reverting POSIX changes +TESTS+= recursive +TESTS+= sh +TESTS+= sh-dots +TESTS+= sh-errctl +TESTS+= sh-flags +TESTS+= sh-jobs +TESTS+= sh-jobs-error +TESTS+= sh-leading-at +TESTS+= sh-leading-hyphen +TESTS+= sh-leading-plus +TESTS+= sh-meta-chars +TESTS+= sh-multi-line +TESTS+= sh-single-line +TESTS+= shell-csh +TESTS+= shell-custom +.if exists(/bin/ksh) +TESTS+= shell-ksh +.endif +TESTS+= shell-sh +TESTS+= suff +TESTS+= suff-add-later +TESTS+= suff-clear-regular +TESTS+= suff-clear-single +TESTS+= suff-incomplete +TESTS+= suff-lookup +TESTS+= suff-main +TESTS+= suff-main-several +TESTS+= suff-phony +TESTS+= suff-rebuild +TESTS+= suff-self +TESTS+= suff-transform-debug +TESTS+= suff-transform-endless +TESTS+= suff-transform-expand +TESTS+= suff-transform-select +TESTS+= suff-use +TESTS+= sunshcmd +TESTS+= ternary +TESTS+= unexport +TESTS+= unexport-env +TESTS+= use-inference +TESTS+= var-readonly +TESTS+= var-scope +TESTS+= var-scope-cmdline +TESTS+= var-scope-env +TESTS+= var-scope-global +TESTS+= var-scope-local +TESTS+= var-scope-local-legacy +TESTS+= var-eval-short +TESTS+= var-op +TESTS+= var-op-append +TESTS+= var-op-assign +TESTS+= var-op-default +TESTS+= var-op-expand +TESTS+= var-op-shell +TESTS+= var-op-sunsh +TESTS+= var-recursive +TESTS+= varcmd +TESTS+= vardebug +TESTS+= varfind +TESTS+= varmisc +TESTS+= varmod +TESTS+= varmod-assign +TESTS+= varmod-assign-shell +TESTS+= varmod-defined +TESTS+= varmod-edge +TESTS+= varmod-exclam-shell +TESTS+= varmod-extension +TESTS+= varmod-gmtime +TESTS+= varmod-hash +TESTS+= varmod-head +TESTS+= varmod-ifelse +TESTS+= varmod-indirect +TESTS+= varmod-l-name-to-value +TESTS+= varmod-localtime +TESTS+= varmod-loop +TESTS+= varmod-loop-delete +TESTS+= varmod-loop-varname +TESTS+= varmod-match +TESTS+= varmod-match-escape +TESTS+= varmod-mtime +TESTS+= varmod-no-match +TESTS+= varmod-order +TESTS+= varmod-order-numeric +TESTS+= varmod-order-reverse +TESTS+= varmod-order-shuffle +TESTS+= varmod-order-string +TESTS+= varmod-path +TESTS+= varmod-quote +TESTS+= varmod-quote-dollar +TESTS+= varmod-range +TESTS+= varmod-remember +TESTS+= varmod-root +TESTS+= varmod-select-words +TESTS+= varmod-shell +TESTS+= varmod-subst +TESTS+= varmod-subst-regex +TESTS+= varmod-sun-shell +TESTS+= varmod-sysv +TESTS+= varmod-tail +TESTS+= varmod-to-abs +TESTS+= varmod-to-lower +TESTS+= varmod-to-many-words +TESTS+= varmod-to-one-word +TESTS+= varmod-to-separator +TESTS+= varmod-to-title +TESTS+= varmod-to-upper +TESTS+= varmod-undefined +TESTS+= varmod-unique +TESTS+= varname +TESTS+= varname-dollar +TESTS+= varname-dot-alltargets +TESTS+= varname-dot-curdir +TESTS+= varname-dot-includes +TESTS+= varname-dot-includedfromdir +TESTS+= varname-dot-includedfromfile +TESTS+= varname-dot-libs +TESTS+= varname-dot-make-dependfile +TESTS+= varname-dot-make-expand_variables +TESTS+= varname-dot-make-exported +TESTS+= varname-dot-make-jobs +TESTS+= varname-dot-make-jobs-prefix +TESTS+= varname-dot-make-level +TESTS+= varname-dot-make-makefile_preference +TESTS+= varname-dot-make-makefiles +TESTS+= varname-dot-make-meta-bailiwick +TESTS+= varname-dot-make-meta-created +TESTS+= varname-dot-make-meta-files +.if ${.MAKE.PATH_FILEMON:Uno:Nktrace:N/dev*} == "" && ${TMPDIR:N/tmp*:N/var/tmp*} != "" +# these tests will not work if TMPDIR is or is a subdir of +# /tmp or /var/tmp +.if ${.MAKE.PATH_FILEMON:N/dev/*} != "" || exists(${.MAKE.PATH_FILEMON}) +TESTS+= varname-dot-make-meta-ignore_filter +TESTS+= varname-dot-make-meta-ignore_paths +TESTS+= varname-dot-make-meta-ignore_patterns +TESTS+= varname-dot-make-path_filemon +.else +.warning Skipping tests that require ${.MAKE.PATH_FILEMON} +.endif +.endif +TESTS+= varname-dot-make-meta-prefix +TESTS+= varname-dot-make-mode +TESTS+= varname-dot-make-pid +TESTS+= varname-dot-make-ppid +TESTS+= varname-dot-make-save_dollars +TESTS+= varname-dot-makeflags +TESTS+= varname-dot-makeoverrides +TESTS+= varname-dot-newline +TESTS+= varname-dot-objdir +TESTS+= varname-dot-parsedir +TESTS+= varname-dot-parsefile +TESTS+= varname-dot-path +TESTS+= varname-dot-shell +TESTS+= varname-dot-suffixes +TESTS+= varname-dot-targets +TESTS+= varname-empty +TESTS+= varname-make +TESTS+= varname-make_print_var_on_error +TESTS+= varname-make_print_var_on_error-jobs +TESTS+= varname-makefile +TESTS+= varname-makeflags +TESTS+= varname-pwd +TESTS+= varname-vpath +TESTS+= varparse-dynamic +TESTS+= varparse-errors +TESTS+= varparse-mod +TESTS+= varparse-undef-partial + +# some shells have quirks +_shell:= ${.SHELL:tA:T} +.if ${_shell} == "dash" +# dash fails -x output +BROKEN_TESTS+= opt-debug-x-trace +.elif ${_shell:N*ksh*} == "" +BROKEN_TESTS+= \ + deptgt-silent-jobs \ + job-flags \ + job-output-long-lines \ + opt-debug-x-trace \ + sh-flags \ + var-op-shell \ + +.if ${_shell:Nmksh} == "" +# more broken that pdksh +BROKEN_TESTS+= \ + opt-jobs-no-action \ + sh-errctl \ + sh-leading-hyphen \ + +.endif +.endif + +.if ${UTC_1:Uno} == "" +# this will not work if UTC_1 is set empty +BROKEN_TESTS+= varmod-localtime +.endif + +.if ${.MAKE.OS:NDarwin} == "" +BROKEN_TESTS+= shell-ksh +.endif + +.if ${.MAKE.OS:NIRIX*} == "" +BROKEN_TESTS+= \ + cmd-interrupt \ + deptgt-interrupt \ + job-output-null \ + opt-chdir \ + opt-debug-x-trace \ + sh-leading-hyphen \ + +.endif + +.if ${.MAKE.OS} == "SCO_SV" +BROKEN_TESTS+= \ + opt-debug-graph[23] \ + varmod-localtime \ + varmod-to-separator \ + +.if ${_shell} == "bash" +BROKEN_TESTS+= job-output-null +.else +BROKEN_TESTS+= \ + cmd-interrupt \ + job-flags \ + +.endif +.endif + +# Some tests just do not work on some platforms or environments +# so allow for some filtering. +.if !empty(BROKEN_TESTS) +.warning Skipping broken tests: ${BROKEN_TESTS:O:u} +TESTS:= ${TESTS:${BROKEN_TESTS:S,^,N,:ts:}} +.endif + +# Ideas for more tests: +# char-0020-space.mk +# char-005C-backslash.mk +# escape-cond-str.mk +# escape-cond-func-arg.mk +# escape-varmod.mk +# escape-varmod-define.mk +# escape-varmod-match.mk +# escape-varname.mk +# escape-varassign-varname.mk +# escape-varassign-varname-cmdline.mk +# escape-varassign-value.mk +# escape-varassign-value-cmdline.mk +# escape-dependency-source.mk +# escape-dependency-target.mk +# escape-for-varname.mk +# escape-for-item.mk +# posix-*.mk (see posix.mk and posix1.mk) + +# Additional environment variables for some of the tests. +# The base environment is -i PATH="$PATH". +ENV.depsrc-optional+= TZ=UTC +ENV.deptgt-phony+= MAKESYSPATH=. +ENV.directive-undef= ENV_VAR=env-value +ENV.opt-env= FROM_ENV=value-from-env +ENV.opt-m-include-dir= ${MAKEOBJDIR:DMAKEOBJDIR=${MAKEOBJDIR}} +ENV.varmisc= FROM_ENV=env +ENV.varmisc+= FROM_ENV_BEFORE=env +ENV.varmisc+= FROM_ENV_AFTER=env +ENV.varmod-localtime+= TZ=${UTC_1:UEurope/Berlin} +ENV.varname-vpath+= VPATH=varname-vpath.dir:varname-vpath.dir2 + +# Override make flags for some of the tests; default is -k. +# If possible, write ".MAKEFLAGS: -dv" in the test .mk file instead of +# settings FLAGS.test=-dv here, since that is closer to the test code. +FLAGS.cond-func-make= via-cmdline +FLAGS.doterror= # none, especially not -k +FLAGS.jobs-error-indirect= # none, especially not -k +FLAGS.jobs-error-nested= # none, especially not -k +FLAGS.jobs-error-nested-make= # none, especially not -k +FLAGS.varname-empty= -dv '$${:U}=cmdline-u' '=cmdline-plain' + +# Some tests need extra postprocessing. +SED_CMDS.deptgt-phony= ${STD_SED_CMDS.dd} +SED_CMDS.dir= ${STD_SED_CMDS.dd} +SED_CMDS.directive-include-guard= \ + -e '/\.MAKEFLAGS/d' \ + -e '/^Parsing .*:[1-9][0-9]*:/d' \ + -e '/^SetFilenameVars:/d' \ + -e '/^ParseDependency/d' \ + -e '/^ParseEOF:/d' +SED_CMDS.export= -e '/^[^=_A-Za-z0-9]*=/d' +.if ${.MAKE.OS:NCygwin} == "" +SED_CMDS.export+= -e '/^WINDIR=/d' -e '/^SYSTEMROOT=/d' +.endif +SED_CMDS.export-all= ${SED_CMDS.export} +SED_CMDS.export-env= ${SED_CMDS.export} +SED_CMDS.cmdline= -e 's,uid${.MAKE.UID}/,,' +SED_CMDS.job-output-long-lines= \ + ${:D Job separators on their own line are ok. } \ + -e '/^--- job-[ab] ---$$/d' \ + ${:D Plain output lines are ok as well. } \ + ${:D They may come in multiples of 1024 or as 10000. } \ + -e '/^aa*$$/d' \ + -e '/^bb*$$/d' \ + ${:D The following lines should rather not occur since the job } \ + ${:D marker should always be at the beginning of the line. } \ + -e '/^aa*--- job-b ---$$/d' \ + -e '/^bb*--- job-a ---$$/d' +SED_CMDS.opt-chdir= -e 's,\(nonexistent\).[1-9][0-9]*,\1,' \ + -e '/name/s,file,File,' \ + -e 's,no such,No such,' \ + -e 's,Filename,File name,' + +# meta line numbers can vary based on filemon implementation - SED_CMDS.meta-ignore= -e 's,\(\.meta:\) [1-9][0-9]*:,\1 :,' ++SED_CMDS.meta-ignore= -e 's,\(\.meta:\)[1-9][0-9]*:,\1:,' ++ ++SED_CMDS.opt-chdir= -e 's,\(nonexistent\).[1-9][0-9]*,\1,' +SED_CMDS.opt-debug-graph1= ${STD_SED_CMDS.dg1} +SED_CMDS.opt-debug-graph2= ${STD_SED_CMDS.dg2} +SED_CMDS.opt-debug-graph3= ${STD_SED_CMDS.dg3} +SED_CMDS.opt-debug-hash= -e 's,\(entries\)=[1-9][0-9],\1=,' +SED_CMDS.opt-debug-jobs= -e 's,([0-9][0-9]*),(),' +SED_CMDS.opt-debug-jobs+= -e 's,pid [0-9][0-9]*,pid ,' +SED_CMDS.opt-debug-jobs+= -e 's,Process [0-9][0-9]*,Process ,' +SED_CMDS.opt-debug-jobs+= -e 's,JobFinish: [0-9][0-9]*,JobFinish: ,' +SED_CMDS.opt-debug-jobs+= -e 's,Command: ${.SHELL:T},Command: ,' +# The "-q" may be there or not, see jobs.c, variable shells. +SED_CMDS.opt-debug-jobs+= -e 's,^\(.Command: \) -q,\1,' +SED_CMDS.opt-debug-lint+= ${STD_SED_CMDS.regex} +SED_CMDS.opt-jobs-no-action= ${STD_SED_CMDS.hide-from-output} +SED_CMDS.opt-no-action-runflags= ${STD_SED_CMDS.hide-from-output} +SED_CMDS.opt-where-am-i= -e '/usr.obj/d' +# For Compat_RunCommand, useShell == false. +SED_CMDS.sh-dots= -e 's,^.*\.\.\.:.*,,' +# For Compat_RunCommand, useShell == true. +SED_CMDS.sh-dots+= -e 's,^make: exec(\(.*\)) failed (.*)$$,,' +SED_CMDS.sh-dots+= -e 's,^\(\*\*\* Error code \)[1-9][0-9]*,\1,' +SED_CMDS.sh-errctl= ${STD_SED_CMDS.dj} +SED_CMDS.sh-flags= ${STD_SED_CMDS.hide-from-output} +SED_CMDS.shell-csh= ${STD_SED_CMDS.white-space} +SED_CMDS.sh-leading-hyphen= ${STD_SED_CMDS.shell} +SED_CMDS.suff-main+= ${STD_SED_CMDS.dg1} +SED_CMDS.suff-main-several+= ${STD_SED_CMDS.dg1} +SED_CMDS.suff-transform-debug+= ${STD_SED_CMDS.dg1} +SED_CMDS.var-op-shell+= ${STD_SED_CMDS.shell} +SED_CMDS.var-op-shell+= -e '/command/s,No such.*,not found,' +SED_CMDS.var-op-shell+= ${STD_SED_CMDS.white-space} +SED_CMDS.vardebug+= -e 's,${.SHELL},,' +SED_CMDS.varmod-mtime+= -e "s,\(.*\)': .*,\1': ," +SED_CMDS.varmod-subst-regex+= ${STD_SED_CMDS.regex} +SED_CMDS.varparse-errors+= ${STD_SED_CMDS.timestamp} +SED_CMDS.varname-dot-make-meta-ignore_filter+= ${SED_CMDS.meta-ignore} +SED_CMDS.varname-dot-make-meta-ignore_paths+= ${SED_CMDS.meta-ignore} +SED_CMDS.varname-dot-make-meta-ignore_patterns+= ${SED_CMDS.meta-ignore} - SED_CMDS.varname-dot-parsedir= -e '/in some cases/ s,^make: "[^"]*,make: ",' - SED_CMDS.varname-dot-parsefile= -e '/in some cases/ s,^make: "[^"]*,make: ",' ++SED_CMDS.varname-dot-parsedir= -e '/in some cases/ s,^make: [^:]*:,make: :,' ++SED_CMDS.varname-dot-parsefile= -e '/in some cases/ s,^make: [^:]*:,make: :,' +SED_CMDS.varname-dot-shell= -e 's, = /[^ ]*, = (details omitted),g' +SED_CMDS.varname-dot-shell+= -e 's,"/[^" ]*","(details omitted)",g' +SED_CMDS.varname-dot-shell+= -e 's,\[/[^] ]*\],[(details omitted)],g' +SED_CMDS.varname-empty= ${.OBJDIR .PARSEDIR .PATH .SHELL .SYSPATH:L:@v@-e '/\\$v/d'@} + +# Some tests need an additional round of postprocessing. +POSTPROC.depsrc-wait= sed -e '/^---/d' -e 's,^\(: Making 3[abc]\)[123]$$,\1,' +POSTPROC.deptgt-suffixes= awk '/^\#\*\*\* Suffixes/,/^never-stop/' +POSTPROC.gnode-submake= awk '/Input graph/, /^$$/' +POSTPROC.varname-dot-make-mode= sed 's,^\(: Making [abc]\)[123]$$,\1,' + +# Some tests reuse other tests, which makes them unnecessarily fragile. +export-all.rawout: export.mk +unexport.rawout: export.mk +unexport-env.rawout: export.mk + +# End of the configuration section. + +# Some standard sed commands, to be used in the SED_CMDS above. + +# In tests that use the debugging option -dd, ignore debugging output that is +# only logged in -DCLEANUP mode. +STD_SED_CMDS.dd= -e '/^OpenDirs_Done:/d' +STD_SED_CMDS.dd+= -e '/^CachedDir /d' +STD_SED_CMDS.dd+= -e 's, ${DEFSYSPATH:U/usr/share/mk} , ,' + +# Omit details such as process IDs from the output of the -dg1 option. +STD_SED_CMDS.dg1= -e '/\#.* \.$$/d' +STD_SED_CMDS.dg1+= -e '/\.MAKE.PATH_FILEMON/d' +STD_SED_CMDS.dg1+= -e '/^\#.*\/mk/d' +STD_SED_CMDS.dg1+= -e 's, ${DEFSYSPATH:U/usr/share/mk}$$, ,' +STD_SED_CMDS.dg1+= -e 's,^\(\.MAKE *=\) .*,\1
,' +STD_SED_CMDS.dg1+= -e 's,^\(\.MAKE\.[A-Z_]* *=\) .*,\1
,' +STD_SED_CMDS.dg1+= -e 's,^\(\.MAKE\.JOBS\.C *=\) .*,\1
,' +STD_SED_CMDS.dg1+= -e 's,^\(MACHINE[_ARCH]* *=\) .*,\1
,' +STD_SED_CMDS.dg1+= -e 's,^\(MAKE *=\) .*,\1
,' +STD_SED_CMDS.dg1+= -e 's,^\(\.SHELL *=\) .*,\1
,' *** 227 LINES SKIPPED *** From nobody Sat Apr 19 22:16:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg5Zw2hckz5tYbk; Sat, 19 Apr 2025 22:16: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 4Zg5Zw20wQz3dHK; Sat, 19 Apr 2025 22:16:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEtAXSB3wbCB//Cd6JKThGppyYHKLAdxp7UZAvBAz0U=; b=gyQmRS2zgcAc1pTsPR+UgVd43dplh9XgQtF/shBongsdJuvEHUSYSgRMlO4whj8CLRm01H ZocgARdUw2ZmPKA3aBBplyi9MhE+3yRGlUBKAwnM68b2EkyMTpYGu9A1LoODkPQ8sAajwc oV1CtIPtprHsrZK2VNunLpZefqxGQ9gHrCDSNBfQaTCbLs0EPk8akAP9AYI7OKKpHLgW/X iTsLN+/q871fZvzIgcaGlwDCMy3N7x/CTIvQMdzXuOmAIPUtkseshUKkCxysP9ohRtGwym DS2kBGO3sr1G5d5YmxGvSOIwGibF9Z+oHi8h2Fizu37AGmINxK59zL+Js7HVPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745101016; a=rsa-sha256; cv=none; b=JugJ804enr+zK23GBO2cWsKPE57XmSWnr76GaIyG+tgzJ8fWB11B95QvBIF6pVC9g6vFic 4wPtr3rJx+sGww7y2IwGiOyA9ca1dBvRRDLd2fUXhgSP7q14qkpuvIDzH/Q4u5UPOK0L0Y v/HjfB7DS0k8FRioA1tgfbnZz8JvMq7DmIbRqfjSVWMp0Anc4/TayMga1+HuBgXGzE+Ze4 SBahLnEexem1O2PyqVwS8skKlNCgVv3k/BH6c4P0w7SB2N0xz4xECMgGNuHLCD1t4xH9uh 28b2zYoioVJjJXfYhfUOpKUjrCEzOkjRyqTcHxDft15F4ElSlwIdLYYDQXT3vQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEtAXSB3wbCB//Cd6JKThGppyYHKLAdxp7UZAvBAz0U=; b=rzopCMSwfhRqbhsZBLaNe3tOGLqnMlDGLvUdn1O0LDVR4CeyqhFTg8j9nlWdL4iSnrRdug R5qf0iMflt2dpuiDdEs0m+vC0OFz0jKUULpuYralRzIASnpRf4uuSAOSLfHjBc2H7BLqNg vWZDPwuaUHY+AWsC16JxntuZIPsgFqS0VM3yx9pPobUHS/BwY1InleMJRLQ8/cX9aEC7Y/ eB4Is4ed9lgYHmtROPooswl3CKk4KvxxVyuTGPx74Imyhv56xhmN1ZyG8xIjXzDO3wFMuE u2L89dP0rmeV3T5CvBxUiN5hKnZQxXBYu5SFPMYm6ZvOZvkBAvIUOwyy/Z6aMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg5Zw1KxGzdr4; Sat, 19 Apr 2025 22:16: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 53JMGuIo048280; Sat, 19 Apr 2025 22:16:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMGuj5048277; Sat, 19 Apr 2025 22:16:56 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:16:56 GMT Message-Id: <202504192216.53JMGuj5048277@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: a9fc7ce30366 - main - device_pager: use VM_RADIX_FOREACH List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a9fc7ce30366974bc8bfe2941af1e0a081026df8 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=a9fc7ce30366974bc8bfe2941af1e0a081026df8 commit a9fc7ce30366974bc8bfe2941af1e0a081026df8 Author: Doug Moore AuthorDate: 2025-04-19 22:13:30 +0000 Commit: Doug Moore CommitDate: 2025-04-19 22:16:45 +0000 device_pager: use VM_RADIX_FOREACH In cdev_mgtdev_pager_free_pages, use VM_RADIX_FOREACH instead of a loop header that does the same thing, in the same way, with more words. No functional change. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49916 --- sys/vm/device_pager.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 96c3e97d97a6..221969307ba4 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -307,8 +307,7 @@ cdev_mgtdev_pager_free_pages(vm_object_t 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)) { + VM_RADIX_FOREACH(m, &pages) { if (!vm_page_busy_acquire(m, VM_ALLOC_WAITFAIL)) { pctrie_iter_reset(&pages); goto retry; From nobody Sat Apr 19 22:16:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg5Zx5FYKz5tYfh; Sat, 19 Apr 2025 22:16: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 4Zg5Zx3r0jz3dSZ; Sat, 19 Apr 2025 22:16:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7xttWex17BnwN/l21CPTrGgiVPiGRR5pRRw/qW3y0M=; b=pPuK806NQbU8Uc6ByXKR6gy9B0RRyHVBRw/aX/G3GivNAW8mw4qiCYpwd1PghxM5Z3eCFq m+I2IjPQ/Ufre7Z34TqS7ptMbnTeM2JI17mxfOgj2dZcTpMK4d4tgEgjJtxXI4Bpyi0XVT 5kLkWjkRquyVIE57nO9q3HHme7oz1JUWwfaE6Tl2HT8JtTT/X+4F3CnPEQwi9tk+TErzw/ cvsYfgIqDMVcnR+jf63Vs+RiBY2ADgyXm4FVk0Likrntm8GU+CLIBre8TptNQkAtH9/BHx kcoUD92ApQONRpgs/9xMSIKQxv6+SSeTnvYtlovvX305nSPJ57fN7XzDz8Ppyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745101017; a=rsa-sha256; cv=none; b=YUV6QF3HRdbMhWNfQrWyq/g0mTVf+QSRYlOzId1O2jAlIMX5801GxJmslgcnv85rBK40iB uMH2ZT3U2UAmBI44SWVEJpdGAy3KVIq563+bAbEeY1HyA/ln0Ds6PonpMg4dXpAryNxVIh THJDLiysSpRpjzSRFNGaNvAM/ZppMtd75lA85XsR9GjMGYbEEEwC0bNZEcQSrHVPVOVgvW kJTbdqBrb0ADCwD4A4jBHPx4Tcgr8MP4zGeCGU08FgXo8KTUsWgW2jPGQr2siFiXtekR/u 9wmOf93vjUayql7kms+duhFjFwBPxzSJCNuxHvggD5pRqpzpIb21G1Ed7ZejaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7xttWex17BnwN/l21CPTrGgiVPiGRR5pRRw/qW3y0M=; b=q/6MDLKnynCTCWF/Shspu8ZiOzlsSZJuWFwUpc4bgpwdAYlWn2ON963vXOrPKPr+J5U1Tc cvh5WQUlLKo7yo48FfLQawn1kJH3slgP69TbI/SS8S3tb9gSJBI+3Zt3pvjO6JHCYfwd/q elw97VuYpH7bBpWCtPKUhIzP11iIVlbHofBMXUCyj2DUHQWmacLOmp6JuGcR47+sVZN41M rDQNp1B+XdRdJG3O0O5hcLGBy6ddPLiGz4ey2/xbJcU2LJ86hapE084nU/6xIMfkvTbWaJ KqhCbZdrvcyHqRPrAdCF2XHKyD6W4mjyJsgYJYAgRGBqd2yVsVFdtCdxIEs7qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg5Zx2FXSzdBm; Sat, 19 Apr 2025 22:16: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 53JMGvse048323; Sat, 19 Apr 2025 22:16:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMGvBs048320; Sat, 19 Apr 2025 22:16:57 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:16:57 GMT Message-Id: <202504192216.53JMGvBs048320@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: 60c4869ed58d - main - sgx: replace tailq pointers with iterators List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 60c4869ed58d98c27b0f4a35713963cda46e6a46 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=60c4869ed58d98c27b0f4a35713963cda46e6a46 commit 60c4869ed58d98c27b0f4a35713963cda46e6a46 Author: Doug Moore AuthorDate: 2025-04-19 22:15:20 +0000 Commit: Doug Moore CommitDate: 2025-04-19 22:16:46 +0000 sgx: replace tailq pointers with iterators In sgx code, use iterators to replace tailq pointers for page manipulation. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49919 --- sys/amd64/sgx/sgx.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sys/amd64/sgx/sgx.c b/sys/amd64/sgx/sgx.c index 1cc268102b1f..af8adb763214 100644 --- a/sys/amd64/sgx/sgx.c +++ b/sys/amd64/sgx/sgx.c @@ -346,13 +346,17 @@ sgx_epc_page_remove(struct sgx_softc *sc, } static void -sgx_page_remove(struct sgx_softc *sc, vm_page_t p) +sgx_page_remove(struct sgx_softc *sc, vm_page_t p, + struct pctrie_iter *pages) { struct epc_page *epc; vm_paddr_t pa; uint64_t offs; - (void)vm_page_remove(p); + if (pages != NULL) + (void)vm_page_iter_remove(pages, p); + else + (void) vm_page_remove(p); dprintf("%s: p->pidx %ld\n", __func__, p->pindex); @@ -369,8 +373,9 @@ static void sgx_enclave_remove(struct sgx_softc *sc, struct sgx_enclave *enclave) { + struct pctrie_iter pages; vm_object_t object; - vm_page_t p, p_secs, p_next; + vm_page_t p, p_secs; mtx_lock(&sc->mtx); TAILQ_REMOVE(&sc->enclaves, enclave, next); @@ -378,6 +383,7 @@ sgx_enclave_remove(struct sgx_softc *sc, object = enclave->object; + vm_page_iter_init(&pages, object); VM_OBJECT_WLOCK(object); /* @@ -385,20 +391,21 @@ sgx_enclave_remove(struct sgx_softc *sc, * then remove SECS page. */ restart: - TAILQ_FOREACH_SAFE(p, &object->memq, listq, p_next) { + VM_RADIX_FOREACH(p, &pages) { if (p->pindex == SGX_SECS_VM_OBJECT_INDEX) continue; - if (vm_page_busy_acquire(p, VM_ALLOC_WAITFAIL) == 0) + if (vm_page_busy_acquire(p, VM_ALLOC_WAITFAIL) == 0) { + pctrie_iter_reset(&pages); goto restart; - sgx_page_remove(sc, p); + } + sgx_page_remove(sc, p, &pages); } p_secs = vm_page_grab(object, SGX_SECS_VM_OBJECT_INDEX, VM_ALLOC_NOCREAT); /* Now remove SECS page */ if (p_secs != NULL) - sgx_page_remove(sc, p_secs); + sgx_page_remove(sc, p_secs, NULL); - KASSERT(TAILQ_EMPTY(&object->memq) == 1, ("not empty")); KASSERT(object->resident_page_count == 0, ("count")); VM_OBJECT_WUNLOCK(object); @@ -729,7 +736,7 @@ sgx_ioctl_create(struct sgx_softc *sc, struct sgx_enclave_create *param) p = vm_page_grab(enclave->object, - SGX_VA_PAGES_OFFS - SGX_SECS_VM_OBJECT_INDEX, VM_ALLOC_NOCREAT); - sgx_page_remove(sc, p); + sgx_page_remove(sc, p, NULL); VM_OBJECT_WUNLOCK(object); goto error; } @@ -743,7 +750,7 @@ sgx_ioctl_create(struct sgx_softc *sc, struct sgx_enclave_create *param) p = vm_page_grab(enclave->object, - SGX_VA_PAGES_OFFS - SGX_SECS_VM_OBJECT_INDEX, VM_ALLOC_NOCREAT); - sgx_page_remove(sc, p); + sgx_page_remove(sc, p, NULL); VM_OBJECT_WUNLOCK(object); goto error; } From nobody Sat Apr 19 22:32:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg5xJ6TRrz5tZMT; Sat, 19 Apr 2025 22:32: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 4Zg5xJ5ts4z3nyM; Sat, 19 Apr 2025 22:32:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PX62b4q3B9L1D7dE0Uo1MWt9Z8dWLzhj1Fe2g9WHWxE=; b=IDJpCTwMC880EBU/QrL8DQHBzcWNEGOp4EqQbIEnvd7rYRpuw75ZExAcJu9OMaRkRvrS+I FFgWAIq4IFi5WBTHOUmkKwqLpeBCxHkOQ4tMY1Tf3Og1m2rbwFhD8EeSJuTCe1WfIAjD7S i4a4R98+7T0Xrhqz80YA1s6FAdocbIkuLyaYgLsJjwk0JMCla3acoEHBAMj/ZPYDO91mNV sDWfJTYdgPuVTy4gvnCYYkwwBV5pY9XJxNPq+XZxf8u8wWzREk4oVvArGySnUVpaQ1FJ9B OrXmDIzdgyB4E2Fvf6+ekcPk6C/dXOy9rnyJq0FOodvaQMScABZoQ1dLUl27Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745101972; a=rsa-sha256; cv=none; b=KtHrz5OtbCFNvUIr+iK7S1Pp/Y7ysz5O4ej0Ay547Mx73mqq52bU3PDU9LJ1JFiTVdW+rl U1Gy46DjYy7RNL6UE+ETthH3e1vvuyxX7iLXhbr0aI/DZhSoz9InrTygMSlR6tXrnsUk1f IM2Emviq5pODWfwHQ/0acXieAaY4ShaFiMqGcJsvN4ZG0oL4cvWN7cDtDRGeIs7HOyfSGA 8JMWg0/2QImh8wWDCSIYSCrGW2G//oNIwPQq/2cQiTtJcr8QfRz5IqW7QWHn4rMlYToVmr x9MAtVTnzgUhw3jaAM9yssqcmT3NQWrgsZvTiO5Nz1UdhYK01ZZUVokvst1jqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PX62b4q3B9L1D7dE0Uo1MWt9Z8dWLzhj1Fe2g9WHWxE=; b=RIjBurd/dvqhGzmnoOGww80Vu/t89cU+iH3G/ZhHpuR2j5OKBDwLwcetzHfOS8ntx+SYcv B59f6FMJbVbriEHL2XEv+t5sfxkUb99MyPO8NtkUov0tRUnlFeTFkW9LEUHun3rt+AuNkI 3U/Qr0hd/AoMz25DUyiLnpNUyKcFbQHGACloHWKBptolDog8OS4EicRqQdMFPlGVWE/iUE R6YJAig0HpiV3mNIsVjkyXOpdHyHY4R47uQYfRHAuMSqyZ5WeoEl18R3rVwYA8AhDJ1kkS kemGeOhxU+gWfqEbGGIqyRxYxa/YkFbWHGeLfNUvYjUl55Zy2w4KixMioBGSzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg5xJ4rvXzfNW; Sat, 19 Apr 2025 22:32: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 53JMWqxE084359; Sat, 19 Apr 2025 22:32:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMWqSY084356; Sat, 19 Apr 2025 22:32:52 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:32:52 GMT Message-Id: <202504192232.53JMWqSY084356@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: e1f3f15192c1 - main - agp: use iterators to speed up lookups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: e1f3f15192c135817aff96a19161e946ba9eb9f3 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=e1f3f15192c135817aff96a19161e946ba9eb9f3 commit e1f3f15192c135817aff96a19161e946ba9eb9f3 Author: Doug Moore AuthorDate: 2025-04-19 22:29:47 +0000 Commit: Doug Moore CommitDate: 2025-04-19 22:29:47 +0000 agp: use iterators to speed up lookups agp_generic_bind_memory and agp_generic_unbind_memory do pctrie lookups for ranges of consecutive pages. Use iterators to improved the expected performance of those searches. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49917 --- sys/dev/agp/agp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c index 8db1e13f08de..b4fe186e4903 100644 --- a/sys/dev/agp/agp.c +++ b/sys/dev/agp/agp.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -539,6 +540,7 @@ int agp_generic_bind_memory(device_t dev, struct agp_memory *mem, vm_offset_t offset) { + struct pctrie_iter pages; struct agp_softc *sc = device_get_softc(dev); vm_offset_t i, j, k; vm_page_t m; @@ -571,7 +573,7 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, AGP_DPF("found page pa=%#jx\n", (uintmax_t)VM_PAGE_TO_PHYS(m)); } VM_OBJECT_WUNLOCK(mem->am_obj); - + vm_page_iter_init(&pages, mem->am_obj); mtx_lock(&sc->as_lock); if (mem->am_is_bound) { @@ -588,7 +590,7 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, */ VM_OBJECT_WLOCK(mem->am_obj); for (i = 0; i < mem->am_size; i += PAGE_SIZE) { - m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(i)); + m = vm_radix_iter_lookup(&pages, OFF_TO_IDX(i)); /* * Install entries in the GATT, making sure that if @@ -609,6 +611,7 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, */ for (k = 0; k < i + j; k += AGP_PAGE_SIZE) AGP_UNBIND_PAGE(dev, offset + k); + pctrie_iter_reset(&pages); goto bad; } } @@ -631,7 +634,7 @@ bad: mtx_unlock(&sc->as_lock); VM_OBJECT_ASSERT_WLOCKED(mem->am_obj); for (k = 0; k < mem->am_size; k += PAGE_SIZE) { - m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(k)); + m = vm_radix_iter_lookup(&pages, OFF_TO_IDX(k)); if (k >= i) vm_page_xunbusy(m); vm_page_unwire(m, PQ_INACTIVE); @@ -644,6 +647,7 @@ bad: int agp_generic_unbind_memory(device_t dev, struct agp_memory *mem) { + struct pctrie_iter pages; struct agp_softc *sc = device_get_softc(dev); vm_page_t m; int i; @@ -665,9 +669,10 @@ agp_generic_unbind_memory(device_t dev, struct agp_memory *mem) AGP_FLUSH_TLB(dev); + vm_page_iter_init(&pages, mem->am_obj); VM_OBJECT_WLOCK(mem->am_obj); for (i = 0; i < mem->am_size; i += PAGE_SIZE) { - m = vm_page_lookup(mem->am_obj, atop(i)); + m = vm_radix_iter_lookup(&pages, atop(i)); vm_page_unwire(m, PQ_INACTIVE); } VM_OBJECT_WUNLOCK(mem->am_obj); From nobody Sat Apr 19 22:32:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg5xK6krMz5tZJp; Sat, 19 Apr 2025 22:32: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 4Zg5xK5wnzz3nky; Sat, 19 Apr 2025 22:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBMb0tg36AgRCArXeLBVjPzPSg+rSUb6Kx0LvdS0KB8=; b=rEzpAzlxfrQOkMWq/9ATDgyFibkRC6FLrcI2rARHpc56E4BJ3vf/kiXStBuiNUHnwY1prt VInNiMoXXGPBqyzkEXtYd0a9cyrdU3xPFNlEeLtNvaE8XozfTAVJykK9XFQqecMhhKGwxN /3EZgj7FEp1UGzn9m0xSsSyFY//CXa2s7En3I4AbWWfvs5XWXBcpwyEzEK6E2z/DtH4CYc UrhkLbn0GX2/sj6acM12+A3hew/PuyWOj85aC/Tgu4kZei2S+27Gs7eFUs/7FYsrAgj1pK PdaIUuUbKjYoZRz0R57JDhVPBHU8Yptyat14IsLwZbyWLtgMzbTdkS8tbrcfnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745101973; a=rsa-sha256; cv=none; b=xv0vcyMzW57bUbn71YOcXgDHMEuP/J5WT5D0VRtiVZSel9B5zalC9jeeVm9aR8CvmKgA89 EeWrjtuB4/pGvIz8tNSQV+rARQuZL9IvFWI/Nkwgr8cviuUYK1xraNYZ7TU3d/9nvOHSdS Q9dGr1ANX+BLZm3y5a5EETnc0walRJgId8MwAaysWe+ATBntjj/oZj+K6MczE/j4ErUmrm OSveZIyX2Snos+UC6SlFMiSnVW/OJVHrfvwsiI2c0RCEIEd7mlk+5k57/7DqBFWCSNCjR2 kukz4rli3lsDgi3mA5pFHBN8cFmVCKuIyz3+XrwQS05kz4zAYSegl+xHmKqeEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745101973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBMb0tg36AgRCArXeLBVjPzPSg+rSUb6Kx0LvdS0KB8=; b=B/WKa0kT3H9touF72jmeY2EvM1GrQoluMfzVqpXqJBPnE1nqq4rGBlzLkc5nB/FNsJUiuX Pr7bUxOjjX83V6mHF+gorPz3NF/F3UFrJvICRv/4jKxuS4mrcPB36w5rCW/qT1aN5P/TR3 EEbjUSSHJhuWy+M3XL7Rd7tVn7VGky+r192oZv5wg63rfmtRrnjHC2QKBKdF755KfrBQkr HKMKXowlK/yyv4b8C6ZZ3DkA0VrWvvD7iLYUj3p8E43KfmV57zaUogeyAVjeSoaHpat4I1 RH7JL2TVsbWWH6O4O1CEImZIm9OL0+WfjT3GCEfZ7iMPWmQ7xtEx9O+4GQAluQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg5xK5JgfzfJg; Sat, 19 Apr 2025 22:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53JMWr8G084401; Sat, 19 Apr 2025 22:32:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMWrL4084398; Sat, 19 Apr 2025 22:32:53 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:32:53 GMT Message-Id: <202504192232.53JMWrL4084398@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: 97f3a1565d88 - main - linuxkpi: use iterator in zap_vma_ptes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 97f3a1565d88b2d9f01ac571e016184935dd6a08 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=97f3a1565d88b2d9f01ac571e016184935dd6a08 commit 97f3a1565d88b2d9f01ac571e016184935dd6a08 Author: Doug Moore AuthorDate: 2025-04-19 22:31:29 +0000 Commit: Doug Moore CommitDate: 2025-04-19 22:31:29 +0000 linuxkpi: use iterator in zap_vma_ptes Change zap_vma_ptes() to use iterators, rather than TAILQ pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49918 --- sys/compat/linuxkpi/common/src/linux_compat.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 30acd1b54e9c..e061504868fd 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -59,6 +59,7 @@ #include #include #include +#include #include @@ -647,6 +648,7 @@ int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, unsigned long size) { + struct pctrie_iter pages; vm_object_t obj; vm_page_t m; @@ -654,9 +656,8 @@ zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, if (obj == NULL || (obj->flags & OBJ_UNMANAGED) != 0) return (-ENOTSUP); VM_OBJECT_RLOCK(obj); - for (m = vm_page_find_least(obj, OFF_TO_IDX(address)); - m != NULL && m->pindex < OFF_TO_IDX(address + size); - m = TAILQ_NEXT(m, listq)) + vm_page_iter_limit_init(&pages, obj, OFF_TO_IDX(address + size)); + VM_RADIX_FOREACH_FROM(m, &pages, OFF_TO_IDX(address)) pmap_remove_all(m); VM_OBJECT_RUNLOCK(obj); return (0); From nobody Sat Apr 19 22:42:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg6820bHyz5tZvN; Sat, 19 Apr 2025 22:42: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 4Zg6816vhLz3tYl; Sat, 19 Apr 2025 22:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745102530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P8ChdLiGISmZ7MhoTQrHbh3anGT/4F8D7TrBzgxQuDQ=; b=MxYAx04sO7I6AGgLYZLOQXECy9wAaO45xNWv4wjEKsMI9bDEnlkNwCJLMqlF/Pue9qRKcn isglREs4RSAbB0oTqIUQjXOzlubpl/bHVWw17NFabSYV22ejcBc39mYUwwek5mu7TqwZQa 59kf6oQ9B6yrwrRdMmQ0fTIQweepV6oxbTJjD+I7bfJZ+omr2VN3LKpY6fnRHoOvhOZefQ srPRtIgv3SbWcPX1ya1ix2j4ZrCATK4FeekLLAwkWzwDmJ5ZZFq6+dKSRJPFLlhImxU8LA dybxfKWQv2tY5wcdbGYHMle9KNyagrZIbBDOE1oyHjAlgp2j3vAhs22XtRvLKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745102530; a=rsa-sha256; cv=none; b=tUcJ6d0hD+vuUG9oX2a95z7fMl88eCRdmsQLp/61c1/5Gd4XjIvO2Rx1CrEXfLvUzUQLFY 6GLf+OofwKC8OleM7cBcy9SkGO7Kkm/FFeBn3jCY4BrBv9fYfzQEn8hjM8V+vIpxEQRloR jmUZPp81KRBsUMQrG8FwLH4c9U0zMzhmqlB2lv0Y8Gluv+gPQRoygQwky0Pujh3BDRlqBQ MJdmTnJfRcSJKUWLFDp2SMQ/YS48mmiilHFkgv70/w//UMM+eSrGeCL2eicYCnfO0wBApV wwncSgKlUF1NIJqJ83bPrzUmGhbZxco8r28ndYD8/w9T5nwpx7Il8ZlXI0D8QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745102530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P8ChdLiGISmZ7MhoTQrHbh3anGT/4F8D7TrBzgxQuDQ=; b=vx7YmH/ZnXWbudSzyXCxVVWKyDjPs7ZspbApy1BN3+nFuJKyabVduly3x5IpNLT/7icm8C hKa7B/zlrqj+dhV+qC5VvMgYWWO+UOdPpIUv44E6wLfJ4cxUIMLYjrO0cpnBjShAA62JLp Q1lbaogiq0XG3cnCS+qVCwO2xwqfYhXZt0rxMl2sFXsqaTGrNtLjhF9A4Bq3xIyH8msPKL /hmI7ZljSxBfrkNA9G6N/gdymcge4lVvdkA3wEz8RtOufhjRjp5tq21Q7gXMwNFSuudai1 hUx6tUzcJiTu8lTpbbb53MKnwLPqCHhIH8TAUfAaQTxMlCyT29iopKatX0Yjag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg6816SVGzf49; Sat, 19 Apr 2025 22:42: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 53JMg9eQ000847; Sat, 19 Apr 2025 22:42:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMg9VQ000843; Sat, 19 Apr 2025 22:42:09 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:42:09 GMT Message-Id: <202504192242.53JMg9VQ000843@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b66e75bffc22 - main - kcov: Fix the build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b66e75bffc227b7f649ce9f7c38bdc2511bca048 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b66e75bffc227b7f649ce9f7c38bdc2511bca048 commit b66e75bffc227b7f649ce9f7c38bdc2511bca048 Author: Mark Johnston AuthorDate: 2025-04-19 22:36:36 +0000 Commit: Mark Johnston CommitDate: 2025-04-19 22:36:36 +0000 kcov: Fix the build Fixes: 4568f5a286a2 ("kern_kcov: replace vm_page_next() with iterator") Reported by: syzbot+b41aad31e5897b2f3401@syzkaller.appspotmail.com --- sys/kern/kern_kcov.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_kcov.c b/sys/kern/kern_kcov.c index 1c1d924b8b79..c0f3d9dca6c6 100644 --- a/sys/kern/kern_kcov.c +++ b/sys/kern/kern_kcov.c @@ -60,6 +60,7 @@ #include #include #include +#include MALLOC_DEFINE(M_KCOV_INFO, "kcovinfo", "KCOV info type"); From nobody Sat Apr 19 22:42:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg6832NxZz5tb84; Sat, 19 Apr 2025 22:42: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 4Zg6830jj0z3tdy; Sat, 19 Apr 2025 22:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745102531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9UI5m/gOgUNkoC1TMzIt/NqiHRsq0VPVoHK4CugYlow=; b=l1L7RQw1vyN0Taswo2JNysWPMKyqKzdnzo2eKfKBtTvWgXdUXcHfXSMC8k1j+9bfTqNuFB sPdPWAWB1GUEqohMW0DxVy7/w9vdfm67GIED54GlCpKWSx+7SkobWDeT1Bok7K+tiZWIZS H1rJwGG/Ex6xaDWjXJyojdtNhT+YiOMbYGiOXAOoQJofLy/OL7SSo/y4pVWrblZDGqs+/4 XhNi170sgY0CbCo4C1y3u+IPrhZvm4WvyzPiBjpSG0tLJjQWE5CxNa7owHpRP4zGgi1QoC W5x4ioWXkIE8nfxhR1tCyjOc1sAfEIHRd9dXYjDXN75jVcKfMdlEV9/p894q8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745102531; a=rsa-sha256; cv=none; b=cLxTwWHxIDj4dq1Jhs73zLP9aK1f/QiWpJCXzgGYEJWEdEbV+QPbrEEj3gRuygHl8mqmzh 1bfiQ4P4pVyRu5cyhICTb0/e5OEu84DIg0GngqVFTRdBqH2/7J1OwY8dwdo2FekcJdxCwe JDaTNFYUmJP43396AuTMmVT5tkQBrNd/cyy+qYNfqh05/aLwI4TdA5WiC5MWTlpfDG4gQV vqKazqhj0TJ69/KKsKQ5MK8UsA+Nd/UDplwmruFvYF4Iylc/J8wsv3S0T1JLTiVfxzbRFO 1fkDKJN1OxQ3IFSVpg4lLJIxEi/KEkxEq7JdMkbq38uViVp/D51KTT421WFYDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745102531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9UI5m/gOgUNkoC1TMzIt/NqiHRsq0VPVoHK4CugYlow=; b=grvou5Ik0KY+lr1ElW5eLzOxw1/dZmPykDn7B0a5ea97unPHf4Tnstnzl3R4yEZESPIFBz PPkgB8HnqihSKHnNpoVSZhH2GZBKwVoCdGKBshxBtdqquidpuUYRx2dguOnsGRcKdMCRvf SvHr2sRjK22SRPQMhlRLHsZapift+6CyJosLrJSBLfyQp5AoH/upUS88WP/ImTHmQdMvuo Wyk5DsVt3D7EP3frauOeaEbB5wa6yHFpSThFDY7u0thz8j+cv0aDRAoLj5Ob4RP13CK6xS SiS7nXE6R/hwxrznycEbUy08M3M64Nn7KCLnUBtLt0agBH4dsKanPRj1ne8BSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg6830HB4zf4B; Sat, 19 Apr 2025 22:42: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 53JMgA2B000881; Sat, 19 Apr 2025 22:42:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53JMgAcF000878; Sat, 19 Apr 2025 22:42:10 GMT (envelope-from git) Date: Sat, 19 Apr 2025 22:42:10 GMT Message-Id: <202504192242.53JMgAcF000878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0ca5e3dd1ad0 - main - riscv: Fix handling of interrupts during kernel page faults List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ca5e3dd1ad006a5251a391676e90ec4dc94df20 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0ca5e3dd1ad006a5251a391676e90ec4dc94df20 commit 0ca5e3dd1ad006a5251a391676e90ec4dc94df20 Author: Mark Johnston AuthorDate: 2025-04-19 22:41:07 +0000 Commit: Mark Johnston CommitDate: 2025-04-19 22:41:07 +0000 riscv: Fix handling of interrupts during kernel page faults We were checking the wrong status bit when deciding whether to enable interrupts. Reviewed by: jrtc27 Fixes: c226f193515c ("riscv: Permit spurious faults in kernel mode") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49897 --- sys/riscv/riscv/trap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/riscv/riscv/trap.c b/sys/riscv/riscv/trap.c index a1a30eb58220..d6df1245a24e 100644 --- a/sys/riscv/riscv/trap.c +++ b/sys/riscv/riscv/trap.c @@ -239,7 +239,7 @@ page_fault_handler(struct trapframe *frame, int usermode) * Enable interrupts for the duration of the page fault. For * user faults this was done already in do_trap_user(). */ - if ((frame->tf_sstatus & SSTATUS_SIE) != 0) + if ((frame->tf_sstatus & SSTATUS_SPIE) != 0) intr_enable(); if (stval >= VM_MIN_KERNEL_ADDRESS) { From nobody Sun Apr 20 00:44:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zg8sk6JXtz5tjZ7; Sun, 20 Apr 2025 00:44: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 4Zg8sk4tDPz43D9; Sun, 20 Apr 2025 00:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745109898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sl5JwcW6miF5GegqGWK3pfKWGxTv8gc4d7KnD1uzvf4=; b=ffoHOV/dtAEnwgwbUaj0frKHiXTJiqKJ9qzgZmgrYyEpuuImzme7c3mEMlAmSoa6bCnlpZ FS8Fc8y9scQaRWtKJqlVE8lyNNWkNhEpadWnk4/2VhgUNCk1+kBGtsIs4KIx/PiaIl3vzY jFvjFTYMMFepeRUZdAmp0ynr6BcMNuz0dEtAGguUu2T5K2W0+GeCehAg668ae+oT84XHdR eSEiR6hA/14uFrcbqh9yOhUE+3VHuYRfUhK5h0XBRTr8Xopa+//SW/uv7G8X0pE/hSkvX8 hcCFSk7VtgfPI02cQqps+tiUYPaOQN+eTkz+rC9EMyClL1mQqkXLHTDXRjyWkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745109898; a=rsa-sha256; cv=none; b=UmP/tMpXMYl1YnfqMr7j2nZbjqMCuFR4VWeqr90oR2IDtlYjx/gvRLTbzSBHrgMhQY6muY GYXj1CZQMms/N+pFmQ9jSi/eRJ8eQjQCee7u8b2QlknxjhuIAvlBAtVdZyVLCLsIK3MT1A h4o1tz/k9U/cy+7gEgovwUQOlgJ3Cm2Cj1nrI2IegNap/a2glbJDI3GVFVUeN/1zLGZ6Pk kV1JO5DWYg/ENax6uLxWum+7JfMSYV6SqDRq5P/nncM9szm5ks3O/yWasGGJ4l/PrTBOyv ogH0SEghxM7mCx0z3NfvWF3RT1sYhkj+LTatbXxVUAYjfdpY6d3srRX49k3QuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745109898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sl5JwcW6miF5GegqGWK3pfKWGxTv8gc4d7KnD1uzvf4=; b=PmwYXwUGrRgATdEKCCYB1p6hBBsfkuIlfBBCZkWW7+3ssuUBskRd40sltoZzxiiHfUnJxW UCoZ+/J9p3Ju92gmY9cDNhzehH2JwSrJAGQz6dff4cfwT13HYDxJSzeZ0tk5pcLMbAjTuD ZrksoFfDAMr0YUEPT4aIdw/Gga5Hdl9aI+SE6bihbm0HK+rLTDptSFzXK1/QBcYED4X5T+ ePnGruku0np0YhlytI8RkbwpQrP5nWD6N44na1wtGSc8mquSG4T2ca9y1Et2g24i/qFVlQ tVKuXrVbJE2KYFYqRPdpHJXuXoOr5yiTUD/6WsfmwGD6dgFGZqD1UvHupa7YRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zg8sk45WqzhTb; Sun, 20 Apr 2025 00:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53K0iwGN028257; Sun, 20 Apr 2025 00:44:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53K0iwb5028253; Sun, 20 Apr 2025 00:44:58 GMT (envelope-from git) Date: Sun, 20 Apr 2025 00:44:58 GMT Message-Id: <202504200044.53K0iwb5028253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: a516440afdd3 - stable/14 - msdosfs manuals: Improve visibility and linking List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: a516440afdd342fef9925680d890117d6d9024ed Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a516440afdd342fef9925680d890117d6d9024ed commit a516440afdd342fef9925680d890117d6d9024ed Author: Alexander Ziaee AuthorDate: 2024-12-18 18:06:41 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-20 00:44:27 +0000 msdosfs manuals: Improve visibility and linking + add `(FAT)` to all descriptions to enable `apropos fat` + xref all msdosfs(4) utilities in base to msdosfs(4) + xref msdosfs(4) to all msdosfs(4) utilities + remove unrelated fsck_ffs(8) from fsck_msdos(8) MFC after: 3 days Reviewed by: mhorne Approved by: mhorne (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1557 (cherry picked from commit 93f4377caba08e4a47fb9f1878bf609bd4181564) --- sbin/fsck_msdosfs/fsck_msdosfs.8 | 5 ++--- sbin/mount_msdosfs/mount_msdosfs.8 | 2 +- sbin/newfs_msdos/newfs_msdos.8 | 1 + share/man/man5/msdosfs.5 | 4 +++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sbin/fsck_msdosfs/fsck_msdosfs.8 b/sbin/fsck_msdosfs/fsck_msdosfs.8 index 963818ea8bd7..6f2d6516d0e2 100644 --- a/sbin/fsck_msdosfs/fsck_msdosfs.8 +++ b/sbin/fsck_msdosfs/fsck_msdosfs.8 @@ -121,9 +121,8 @@ to assume as the answer to all operator questions. .El .Sh SEE ALSO -.Xr fsck 8 , -.Xr fsck_ffs 8 , -.Xr mount_msdosfs 8 +.Xr msdosfs 4 , +.Xr fsck 8 .Sh HISTORY The .Nm diff --git a/sbin/mount_msdosfs/mount_msdosfs.8 b/sbin/mount_msdosfs/mount_msdosfs.8 index 94532cafb543..eb9bc9799614 100644 --- a/sbin/mount_msdosfs/mount_msdosfs.8 +++ b/sbin/mount_msdosfs/mount_msdosfs.8 @@ -33,7 +33,7 @@ .Os .Sh NAME .Nm mount_msdosfs -.Nd mount an MS-DOS file system +.Nd mount an MS-DOS (FAT) file system .Sh SYNOPSIS .Nm .Op Fl 9ls diff --git a/sbin/newfs_msdos/newfs_msdos.8 b/sbin/newfs_msdos/newfs_msdos.8 index efa69c058453..c3b50d6266ff 100644 --- a/sbin/newfs_msdos/newfs_msdos.8 +++ b/sbin/newfs_msdos/newfs_msdos.8 @@ -244,6 +244,7 @@ Create a 30MB image file, with the FAT partition starting newfs_msdos -C 30M -@63s ./somefile .Ed .Sh SEE ALSO +.Xr msdosfs 4 , .Xr gpart 8 , .Xr newfs 8 .Sh HISTORY diff --git a/share/man/man5/msdosfs.5 b/share/man/man5/msdosfs.5 index 2856b4b5cc82..470f8861aa6a 100644 --- a/share/man/man5/msdosfs.5 +++ b/share/man/man5/msdosfs.5 @@ -6,7 +6,7 @@ .Os .Sh NAME .Nm msdosfs -.Nd MS-DOS file system +.Nd MS-DOS (FAT) file system .Sh SYNOPSIS .Cd "options MSDOSFS" .Sh DESCRIPTION @@ -65,8 +65,10 @@ may also be used to extract this information. .Sh SEE ALSO .Xr mount 2 , .Xr unmount 2 , +.Xr fsck_msdosfs 8 , .Xr mount 8 , .Xr mount_msdosfs 8 , +.Xr newfs_msdos 8 , .Xr umount 8 .Sh AUTHORS This manual page was written by From nobody Sun Apr 20 07:02:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgKF7380Mz5sd64; Sun, 20 Apr 2025 07:02: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 4ZgKF72djwz3qb8; Sun, 20 Apr 2025 07:02:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745132539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XdyouObrzX9iNeRNTj/US478k1ToYZxncq0sbjz1alo=; b=JaRqQpG0T9swofadlBIKcflZX3rDuWPSQ5l/Dw8a/2Rl77AgF7AtUicTB0WXv8/8DzQ/g5 RY49WMPB6eKCIqwcn5ZbYbymFg4iF+Vnzpg2yGRPXR+Hzl4YQA2owUL9J/icYNmzYMyQrB 1Ti5ALsnPo/lbgAW/0371Dr4Dwwvw1Gu9yYIn7MHYtMbpml8OYZM8nOilyEabn6u1zeIj/ t9Pay+7KpsKAk7HYqfhrLgufsrXrmAquXC807dQE8tuFjjqxQbWKLKJ0Q2AfnYF6XVfyIa QcUa9bKsSWkw4TX9Ot+vO/wPxCl4ZTgBgl2CS8BF2SBmGCMTmgOACwUPv/XldQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745132539; a=rsa-sha256; cv=none; b=ejx32LIZ03Uog2B02h5puivbitPvmSdBoWhA0AhZaZOWbiDzUgPyXjXMY2b8lPoqYIXCC6 iBxMgOYj5wYYnZybae5oJpKKrTpgFdEqK5r2CUMRNySOSiujNyCU4LdBB8iD0qYV36lMbF HcugONfANfyAJxrgvAAkKEfzQGjJTmDdYL/JsGwftQGCfkvvIZsMswfHhB1EHU2mA670Ut Fl447ESO+OP1vybl7ypPeBPYGAprvYTo28660v2ZtgRShmXUXykyfFuzIqh+/oulxrdBoH Nl6TUHObvQGDcHmn9pv8PZRUonfPsq3yaCEOoVkB9ZRcGQpAEwgubcgTrzfzfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745132539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XdyouObrzX9iNeRNTj/US478k1ToYZxncq0sbjz1alo=; b=WP7nXiqpNpOLZQLvgVzUZLZeGEJJ30ZxEj+0G1pex351nUuvEs1lheYWW3bK8wMQwX57v2 mYZ5z1kTu9voHP89WB0DPuIE1foMU1y17CQlev9zMBhpjiiOVkbO1ObX1L4aPgLiZ0BKd5 vKCQ1WrcOP/gil7w4oyLrZp6zaQBlh4znkV1iXOP9blmsKm41QNEmEUSalkuJlRhAoJyyB wykTT5LuQ+vkYzzVIaYvNzUQgqJKRAdSt7knypMI2KqQ6gfxwxZBqBw53Cwg916WlogsS6 OEFI/+0wu1OPSTpDGtJmuIDlTue/PwWSxkNR29AZZF12FxlSi+5w+zvF4ZTyRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgKF724DFzvGk; Sun, 20 Apr 2025 07:02: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 53K72J2T037562; Sun, 20 Apr 2025 07:02:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53K72JIt037559; Sun, 20 Apr 2025 07:02:19 GMT (envelope-from git) Date: Sun, 20 Apr 2025 07:02:19 GMT Message-Id: <202504200702.53K72JIt037559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ravi Pokala Subject: git: b337e9fd1171 - stable/14 - loader: Add the CPU identification string to the data which is visible in the bootloader. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rpokala X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b337e9fd11711a7dff6a35f211c2b4f3210b29c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by rpokala: URL: https://cgit.FreeBSD.org/src/commit/?id=b337e9fd11711a7dff6a35f211c2b4f3210b29c4 commit b337e9fd11711a7dff6a35f211c2b4f3210b29c4 Author: Ravi Pokala AuthorDate: 2025-04-08 06:04:31 +0000 Commit: Ravi Pokala CommitDate: 2025-04-20 07:01:18 +0000 loader: Add the CPU identification string to the data which is visible in the bootloader. Reviewed by: imp MFC after: 1 week Sponsored by: Vdura Differential Revision: https://reviews.freebsd.org/D49708 (cherry picked from commit 3adae4f27d600f0be7904eb1bb30e79d90386793) --- stand/libsa/smbios.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 618c8a1052ec..32cd198a9537 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -461,6 +461,7 @@ smbios_parse_table(const caddr_t addr) break; case 4: /* 3.3.5 Processor Information (Type 4) */ + smbios_setenv("smbios.processor.version", addr, 0x10); /* * Offset 18h: Processor Status * From nobody Sun Apr 20 16:35:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgYyp2tNfz5tKfV; Sun, 20 Apr 2025 16:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgYyp1lBHz4D4Z; Sun, 20 Apr 2025 16:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lao7U7HdnhYnIln4JT1bngqEboFokcrf4GbR7QUapHM=; b=v+dKRFIyUp27IQea4Fd5+kfl5KZXpGhs8/nwIk4H1YNgRX0XcKOcvg1efxnLgjz6ZeAsFL 0q0hZnlkmmCBuZ6+qmQsWrHzZkzbORGDq9cxW3ArssPUM1+lGQJFzCTLtKV4remHBCZ7gR 3VXTnIjfS7bDl6DNL/1ClIO6RatnxvGBG7pYqhVUGSk6HmlHQ8531HFuWx47HQ77NPHJTS 6uUaggoziTVyLeEuxzbX2Qe6X/b/rs5lXIcK9nxhg3ohwzzFyCIASDjBaxQsiMGTfz1r+F rqUtMevO42xxJTyJHxzN+uy9nrticPkzl+fGIJKsYVEm1rkGidf5P45xvAsUAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745166946; a=rsa-sha256; cv=none; b=N65VJzBDaED4cEh306uugwLQz4bCvFAbtrFPPB16SE9+d/KIYUsFhYF9Qwt+KyBjRNX7cW gBub0O614A2RddnalQlZljsiA9iOAi5GHiZGI3NfnlrSwNrrGHqr0/Hit/DO3YUxWU6lps rRvue1qzbiqXwlf2d6iY3W3f4BwtgdTwELDfwWMBp3qRaYqCio0GTHAjn2r6K2k7gk1zJX cYF968fQhe46Gvk5rinFZpWq+kQjbZu4BbIP492k8tzY3CK1wr87Juki4zvYM8NVeD5Cp6 vglDN4QqzBnNdLThG7UxaZ8pTVV6NlOx8XBhtOq4oRnNVRxPtBB1cOIxyUINfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lao7U7HdnhYnIln4JT1bngqEboFokcrf4GbR7QUapHM=; b=ECWTYaaZVj3mpZpCqBNfM/6rNlmiyor+7neH/c88Rfxvmv8WbWDicYAXkc/z4eg09fVZ2p H3RmiRpXSJZSXrwd7oQ6ZXDUKokC0BZsbZlBj6xE9OBXhCl8JA6EThLgMJ6K5sJ0Kbd+5g Vgj9qQ5il92UHot4RGaPecf4Zk3rIAbzTB3sYe1r3ed4TyDRQMSVK3OcGGzYbOtJ3S/1hq 9o7l9jUDeiGXLDKlPuiVBYOwPzIKdLIieLDDnRC3swtPk7Y2/RPTJHXpl5qTr/L/m0oQs4 uvphwQzEXfHtTGmF4qs9cBgzTuTyAhPumhC69LhkQas9XbkYsPqSX/vtvPLWbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgYyp1HVyz1B2j; Sun, 20 Apr 2025 16:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KGZk6r004691; Sun, 20 Apr 2025 16:35:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KGZkAj004688; Sun, 20 Apr 2025 16:35:46 GMT (envelope-from git) Date: Sun, 20 Apr 2025 16:35:46 GMT Message-Id: <202504201635.53KGZkAj004688@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: 85ff0b08ee69 - main - tee: add some basic tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 85ff0b08ee699ff323404727998993275b4d2e2a Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=85ff0b08ee699ff323404727998993275b4d2e2a commit 85ff0b08ee699ff323404727998993275b4d2e2a Author: Kyle Evans AuthorDate: 2025-04-20 16:34:50 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 16:35:32 +0000 tee: add some basic tests The cases are ordered in such a way that we naturally progress through the functionality, with the earliest failures perhaps shedding light on any later failures. sysutils/porch is used for one test if it's available, just to cleanly check that SIGINT is being ignored properly. Reviewed by: des, emaste Differential Revision: https://reviews.freebsd.org/D48195 --- etc/mtree/BSD.tests.dist | 2 ++ usr.bin/tee/Makefile | 5 +++ usr.bin/tee/tests/Makefile | 6 ++++ usr.bin/tee/tests/sigint.orch | 14 ++++++++ usr.bin/tee/tests/tee_test.sh | 74 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index f197021bd4e9..20744e7b944a 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1207,6 +1207,8 @@ .. tar .. + tee + .. tftp .. touch diff --git a/usr.bin/tee/Makefile b/usr.bin/tee/Makefile index ab7b93575967..1e5781bef4da 100644 --- a/usr.bin/tee/Makefile +++ b/usr.bin/tee/Makefile @@ -1,3 +1,8 @@ +.include + PROG= tee +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include diff --git a/usr.bin/tee/tests/Makefile b/usr.bin/tee/tests/Makefile new file mode 100644 index 000000000000..acb78e671a8c --- /dev/null +++ b/usr.bin/tee/tests/Makefile @@ -0,0 +1,6 @@ +PACKAGE= tests + +ATF_TESTS_SH+= tee_test +${PACKAGE}FILES+= sigint.orch + +.include diff --git a/usr.bin/tee/tests/sigint.orch b/usr.bin/tee/tests/sigint.orch new file mode 100644 index 000000000000..2fc0b32c61fb --- /dev/null +++ b/usr.bin/tee/tests/sigint.orch @@ -0,0 +1,14 @@ +-- We expect the caller to have spawned the appropriate application +write "text\r" +match "text" + +write "^C" + +-- If SIGINT isn't being ignored, we'll bail out somewhere in the process of +-- writing to the pty or trying to read from it to perform the following match. +write "text\r" +match "text" + +-- Finally, just close it out cleanly. +write "^D" +eof() diff --git a/usr.bin/tee/tests/tee_test.sh b/usr.bin/tee/tests/tee_test.sh new file mode 100644 index 000000000000..6ac733f2e58f --- /dev/null +++ b/usr.bin/tee/tests/tee_test.sh @@ -0,0 +1,74 @@ +# +# Copyright (c) 2024 Kyle Evans +# +# SPDX-License-Identifier: BSD-2-Clause +# + +atf_test_case single_file +single_file_body() +{ + atf_check -o inline:"text\n" -x "echo text | tee file" + atf_check -o inline:"text\n" cat file +} + +atf_test_case device +device_body() +{ + atf_check -e inline:"text\n" -o inline:"text\n" -x \ + "echo text | tee /dev/stderr" +} + +atf_test_case multiple_file +multiple_file_body() +{ + atf_check -o inline:"text\n" -x "echo text | tee file1 file2" + atf_check -o inline:"text\n" cat file1 + atf_check -o inline:"text\n" cat file2 +} + +atf_test_case append +append_body() +{ + atf_check -o ignore -x "echo text | tee file" + atf_check -o inline:"text\n" cat file + + # Should overwrite if done again + atf_check -o ignore -x "echo text | tee file" + atf_check -o inline:"text\n" cat file + + # Should duplicate if we use -a + atf_check -o ignore -x "echo text | tee -a file" + atf_check -o inline:"text\ntext\n" cat file +} + +atf_test_case sigint_ignored +sigint_ignored_head() +{ + # This is most cleanly tested with interactive input, to avoid adding + # a lot of complexity in trying to manage an input and signal delivery + # dance purely in shell. + atf_set "require.progs" "porch" +} +sigint_ignored_body() +{ + + # sigint.orch will write "text" to the file twice if we're properly + # ignoring SIGINT, so we'll do one test to confirm that SIGINT is not + # being ignored by porch(1), then another to confirm that tee(1) will + # ignore SIGINT when instructed to. + atf_check -s exit:1 -e ignore \ + porch -f $(atf_get_srcdir)/sigint.orch tee file + atf_check -o inline:"text\n" cat file + + atf_check porch -f $(atf_get_srcdir)/sigint.orch tee -i file + atf_check -o inline:"text\ntext\n" cat file +} + +atf_init_test_cases() +{ + atf_add_test_case single_file + atf_add_test_case device + atf_add_test_case multiple_file + atf_add_test_case append + atf_add_test_case sigint_ignored +} From nobody Sun Apr 20 16:35:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgYys1CYJz5tKcJ; Sun, 20 Apr 2025 16:35: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 4ZgYyr3Tgkz4Cps; Sun, 20 Apr 2025 16:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFSoruseJUk2upyQj5IQf6HN5H5Ao14yakIHKg0lxP0=; b=ji3Hpim+b0YvNq5198G5XO0Kkdw0eDyaqbzFRmo07dWC+xviV0uwd4k/9SykVboxN/+c1G yjVNwmDws4V67QvtDu1/rOyp/MdDP4xaeTIYau8oQyMpoI0Zn3ck26BNBgySCnTghLjNfm 4QK+0+BsPPlc8fuB2ZuqKn3THnmd57bTv7WbBMt9aD/ieeuZcRg9PEl2cKhFfbFsFcq8iE PG8jOPEmy0IST4mLAZks3YXfeVLw+7jgB2pUe4DgMfN5MtVITQhd1STnoxZ6CJFUrLSa9e KdcPiBEGwtjAiXxMghvvoeHd/HcvPKtqF0Kqw8H7juQ+ea7ApcGNM3WU+FuQjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745166948; a=rsa-sha256; cv=none; b=Zh+iNHPzg5ylDW2i2wbw1n8S/tTBZ7Uzt/EdvmcWnTdHB2hRmhIAil2ROmz0P29N8Itlkz X70upI0q+y2XxpD/ipa1Fth8ARO78Il71GFlFatCS9zNYzS1VR1yY6+YYlYFokaXWve/AP NCBj38SMRUy7ZVqH8mj9Q1yVEUszZWJphkbRBOLPnlx3CjL4sanqYo2TKXBoV5L47a/nN3 b1mCgdRBJfTuz4uYSSusxIXaZpU65d9th7O+ek5lzHGEiGOQWZOE7t4mce03YIgTGslKOm dZwez6TGBVOExDKAv2xinm0y2EX0eSXCaW3DGGoVc+q2gC+S0xXh0uSd0rtwzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFSoruseJUk2upyQj5IQf6HN5H5Ao14yakIHKg0lxP0=; b=pRRHdx5WgQoK0FEpl3UcA2Wdy3kGgy+rKZrr+9HSyMEm/zdkttxtgPIVJiAcASGBvBuCCi L22mS28J7m8k1560ekXkVLzt0uGfAimcRR9DwaEaMll+57RfdnAv2ZDNGLqgCF1tFDcyfU T7JvbgDc9+IsyXvoOOaDI0+AqIsA6P8O9ZRRiBK7Qm/dapKWZkDGqzEfWEBtnNTMqItG6G t27OsOtcAxGDfDVg0acm8hPyfWZN2443dh793kRT0dULb2NB8pqES0C59FQ4G8tDsKn+Ew 6ReCZF8L7RibIHT7ZRPsXyTZQPcgnNkOhBLxCB0LWAldQMJQnlsbKIf/t3ezfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgYyr34bwz1BDY; Sun, 20 Apr 2025 16:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KGZmWK004757; Sun, 20 Apr 2025 16:35:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KGZmVQ004754; Sun, 20 Apr 2025 16:35:48 GMT (envelope-from git) Date: Sun, 20 Apr 2025 16:35:48 GMT Message-Id: <202504201635.53KGZmVQ004754@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: 1b3748977f28 - main - tee: try opening as a UNIX socket if open(2) fails List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 1b3748977f28c70e0b161fb476bf4e075bcc5940 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1b3748977f28c70e0b161fb476bf4e075bcc5940 commit 1b3748977f28c70e0b161fb476bf4e075bcc5940 Author: Kyle Evans AuthorDate: 2025-04-20 16:34:52 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 16:35:34 +0000 tee: try opening as a UNIX socket if open(2) fails If we get EOPNOTSUPP from open() failing, then it may just be that we're looking at a unix(4) socket instead of a normal file/device or whatnot. Fallback to trying to open it as a unix(4) socket, which is a useful feature that doesn't add much complexity. Reviewed by: des, emaste, markj Differential Revision: https://reviews.freebsd.org/D48197 --- usr.bin/tee/tee.1 | 8 +++++++- usr.bin/tee/tee.c | 46 +++++++++++++++++++++++++++++++++++++++++-- usr.bin/tee/tests/tee_test.sh | 32 ++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/usr.bin/tee/tee.1 b/usr.bin/tee/tee.1 index 9497a2aa921e..9884dcf37919 100644 --- a/usr.bin/tee/tee.1 +++ b/usr.bin/tee/tee.1 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 30, 2022 +.Dd December 25, 2024 .Dt TEE 1 .Os .Sh NAME @@ -69,6 +69,12 @@ utility takes the default action for all signals, except in the event of the .Fl i option. +.Pp +This implementation of the +.Nm +utility may also write to +.Xr unix 4 +sockets. .Sh EXIT STATUS .Ex -std .Sh EXAMPLES diff --git a/usr.bin/tee/tee.c b/usr.bin/tee/tee.c index f1d192ff315f..fb73b311a31b 100644 --- a/usr.bin/tee/tee.c +++ b/usr.bin/tee/tee.c @@ -29,10 +29,12 @@ * SUCH DAMAGE. */ +#include #include #include +#include #include -#include +#include #include #include @@ -52,6 +54,7 @@ struct entry { static STAILQ_HEAD(, entry) head = STAILQ_HEAD_INITIALIZER(head); static void add(int, const char *); +static int tee_open(const char *, int); static void usage(void) __dead2; int @@ -93,7 +96,7 @@ main(int argc, char *argv[]) oflags |= O_TRUNC; for (exitval = 0; *argv; ++argv) { - if ((fd = open(*argv, oflags, DEFFILEMODE)) < 0) { + if ((fd = tee_open(*argv, oflags)) < 0) { warn("%s", *argv); exitval = 1; } else { @@ -149,3 +152,42 @@ add(int fd, const char *name) p->name = name; STAILQ_INSERT_HEAD(&head, p, entries); } + +static int +tee_open(const char *path, int oflags) +{ + struct sockaddr_un sun = { .sun_family = AF_UNIX }; + size_t pathlen; + int fd; + + if ((fd = open(path, oflags, DEFFILEMODE)) >= 0) + return (fd); + + if (errno != EOPNOTSUPP) + return (-1); + + pathlen = strnlen(path, sizeof(sun.sun_path)); + if (pathlen >= sizeof(sun.sun_path)) + goto failed; + + /* + * For EOPNOTSUPP, we'll try again as a unix(4) socket. Any errors here + * we'll just surface as the original EOPNOTSUPP since they may not have + * intended for this. + */ + fd = socket(PF_UNIX, SOCK_STREAM, 0); + if (fd < 0) + goto failed; + + (void)strlcpy(&sun.sun_path[0], path, sizeof(sun.sun_path)); + sun.sun_len = SUN_LEN(&sun); + + if (connect(fd, (const struct sockaddr *)&sun, sun.sun_len) == 0) + return (fd); + +failed: + if (fd >= 0) + close(fd); + errno = EOPNOTSUPP; + return (-1); +} diff --git a/usr.bin/tee/tests/tee_test.sh b/usr.bin/tee/tests/tee_test.sh index 6ac733f2e58f..cf8e74dd47e7 100644 --- a/usr.bin/tee/tests/tee_test.sh +++ b/usr.bin/tee/tests/tee_test.sh @@ -64,6 +64,37 @@ sigint_ignored_body() atf_check -o inline:"text\ntext\n" cat file } +atf_test_case unixsock "cleanup" +unixsock_pidfile="nc.pid" + +unixsock_body() +{ + outfile=out.log + + nc -lU logger.sock > "$outfile" & + npid=$! + + atf_check -o save:"$unixsock_pidfile" echo "$npid" + + # Wait for the socket to come online, just in case. + while [ ! -S logger.sock ]; do + sleep 0.1 + done + + atf_check -o inline:"text over socket\n" -x \ + 'echo "text over socket" | tee logger.sock' + + atf_check rm "$unixsock_pidfile" + atf_check -o inline:"text over socket\n" cat "$outfile" +} +unixsock_cleanup() +{ + if [ -s "$unixsock_pidfile" ]; then + read npid < "$unixsock_pidfile" + kill "$npid" + fi +} + atf_init_test_cases() { atf_add_test_case single_file @@ -71,4 +102,5 @@ atf_init_test_cases() atf_add_test_case multiple_file atf_add_test_case append atf_add_test_case sigint_ignored + atf_add_test_case unixsock } From nobody Sun Apr 20 16:35:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgYyq6Hkqz5tKfY; Sun, 20 Apr 2025 16:35: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 4ZgYyq2qHxz4D4g; Sun, 20 Apr 2025 16:35:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5hTbq2CuMehiZ3psNUAPn3nEKjgVMJO6NnAvwEBRiw=; b=sAeq+wNTWLqVIzo4J1P9OabofUkHVGWoV7rKXRxQJVz1MDJmPA6nHvCPBfINKipLoYH6/o tnvem03U/SEAvE0WK+vA6mD5dYCragNHDZQIboWqCM+LHhqEPpGrZCSKMy/T+QaBDJ6PTP 5ThWYTKckOT6DMzKwbXLPpBIdwYw/4WS66WMameyKOa4Y77Ks1I7NyIFSUlrDrYhSknbpH ioJszyYKkwzXR1QNLJD7J1AogTVjWMW/iWSfCpLQK/E7k6VwaHyu8U8CntLjXYp7jVOpYT wjZgglEuYUEqne2C3dHcUJUtIp6Z+HLVQKCsb0ns49wHwcPZIRPP4Gt95T64ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745166947; a=rsa-sha256; cv=none; b=iDhYfDGacnDIQqXO8dw0PijJaCLJCNq1/i3FImh0Ek84Acmnbnbs5v9p4826Y9Sb3QXDLj jMT0RFyWgcw/VOfLa3zP+qCLmY5KjLK6NM5d+EkzXZESz53zgW6Ecd9OvG+ottVRO9VFVk VmRA/8oBr6xvMbQi2TUnQQo3nngwBlY0kO0Ms2Al0GyC6TrNo+EN8rwRA69ZW8z9tXV0Pq 0ZbFqXxe8eEc25VUtMpEmfDuse6jgDqxmfzxI4WkG3IPS05QQNE/RGX3sMrdm5echrHpKK gvZNUIVyClHAoS22ryMHDp5GgT35UV2C8bboXs5JnxF7TpGBvG3XyDlNZvyqWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745166947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5hTbq2CuMehiZ3psNUAPn3nEKjgVMJO6NnAvwEBRiw=; b=G2MeSQXO1wb9dAF3hMzQC2Ry1wHWmvVKioF8tdjCRVGJDUpRGBvMM9dc1J6L6bNGKmNJEY NpAKpYHg6dtsF7JfMHKJ51oT27KfVGsXwmDbtNIS+Ons6Ye1e6c49TdpcbY4avc5ka6AoP 5ZWeV+u1lZTbk3oYyPP5jTbc8bLs4ekxz6E9Lcn0yamGZmsfb5eGNRRv0++tHNlCd4P2TF EnQTFA9TkANM8ByBW0Ps3lFvmGIyGRjA7H6XZlILbPhWsXl0L4ChiYz5IhU2JhwyRuTB86 2iVO0zb7GQEamDR3tT+gOExFhgw204FyYLA0c1wDpmRKY1DwUxpPtAWVZABIiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgYyq2DN8z1B2k; Sun, 20 Apr 2025 16:35: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 53KGZlkY004724; Sun, 20 Apr 2025 16:35:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KGZlfs004721; Sun, 20 Apr 2025 16:35:47 GMT (envelope-from git) Date: Sun, 20 Apr 2025 16:35:47 GMT Message-Id: <202504201635.53KGZlfs004721@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: 414c2b8d1e5a - main - tee: minor cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 414c2b8d1e5abe7186c1aa4dc3ab28147ce46f47 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=414c2b8d1e5abe7186c1aa4dc3ab28147ce46f47 commit 414c2b8d1e5abe7186c1aa4dc3ab28147ce46f47 Author: Kyle Evans AuthorDate: 2025-04-20 16:34:51 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 16:35:33 +0000 tee: minor cleanup Pull the open flags out of the loop into a local var. They won't be changing, so this is marginally more readable. Adds some extra brackets around the loop in preparation for a future change that may try to fallback to opening the path as a socket if we get an EOPNOTSUPP. No functional change. Reviewed by: asomers, des, emaste, ngie Differential Revision: https://reviews.freebsd.org/D48196 --- usr.bin/tee/tee.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.bin/tee/tee.c b/usr.bin/tee/tee.c index 384fabf40f33..f1d192ff315f 100644 --- a/usr.bin/tee/tee.c +++ b/usr.bin/tee/tee.c @@ -57,11 +57,9 @@ static void usage(void) __dead2; int main(int argc, char *argv[]) { + char *bp, *buf; struct entry *p; - int n, fd, rval, wval; - char *bp; - int append, ch, exitval; - char *buf; + int append, ch, exitval, fd, n, oflags, rval, wval; #define BSIZE (8 * 1024) append = 0; @@ -88,13 +86,20 @@ main(int argc, char *argv[]) add(STDOUT_FILENO, "stdout"); - for (exitval = 0; *argv; ++argv) - if ((fd = open(*argv, append ? O_WRONLY|O_CREAT|O_APPEND : - O_WRONLY|O_CREAT|O_TRUNC, DEFFILEMODE)) < 0) { + oflags = O_WRONLY | O_CREAT; + if (append) + oflags |= O_APPEND; + else + oflags |= O_TRUNC; + + for (exitval = 0; *argv; ++argv) { + if ((fd = open(*argv, oflags, DEFFILEMODE)) < 0) { warn("%s", *argv); exitval = 1; - } else + } else { add(fd, *argv); + } + } if (caph_enter() < 0) err(EXIT_FAILURE, "unable to enter capability mode"); From nobody Sun Apr 20 18:08:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgc1h2qbqz5tRQv; Sun, 20 Apr 2025 18:08: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 4Zgc1h28Bvz3nxq; Sun, 20 Apr 2025 18:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745172504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkYMmsntqfaYm10RqTwkNAA5iV/Qd3IrTWl20RYoMeE=; b=R6VPYr0rVZGZKSXA3PqXjR0cirOrYEa/g3Ygcra4vXhqWoIoIpy6rvEHN984TrE0RWo32K kfdPi6/SEljPetCKLhAlsv4M4N2L+zVjM5qWdGzctjXPr0F2yui/Y8M8vYO7TDulPBy8KS VP9FIhkHxpEJfOw2ZH16JgVN8Xs/fjkR5Spg1W1STLukHb4L/0eayNlbkzNN1HeUbbpjtb TOXoqVIQHVjqML+5q4fmJB79i7urKDQJITniO0OIubgPmABLTqb48kiZS4EDoqUORQ6vW0 DEdwxljSpAKdvD05h52zUOTohNwnbTa46OpHGsq5qangfJkqqhoMUwFNqM3ayg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745172504; a=rsa-sha256; cv=none; b=gd29KG1NjNk9jOiVOz76OzA8KtRl372LgdZW/AGKX1XpDDFLBsKQwBaYZ0z0UTjgIvBPFK /eFXavfbJHSEtzWRT2oOYc1Y6X5Wf5oVyECb1B17TxDmwmAyeKlhDFjqn4W00M8J+n1cI0 6cAS5zp/EpA5teEybyNZeuEM5bEuT7HMpnp2D6PlimJa7jEK/bN0Fxe0NlqiYE+jnhauYP 7y0DWF3PM9zzYqKFFHlHiUvf7/w2XdbCoDLdoZNldLGhlX/n/pfFlOKIhqIcwbcFg7wfXA 6+OE4Kw3RH15Vm9aI6UX+rR5RKtpgvvhtQmjU1EEnjQI5peZnBNa1imQ4b3M8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745172504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkYMmsntqfaYm10RqTwkNAA5iV/Qd3IrTWl20RYoMeE=; b=GblZOLem5be/4qk+bZPT1a384JIB+oTOH2ijfGK/Qeizr/YCe4vFyZB85eTf3s+F1Zpqvy 7RtcOviLnJEhXinvnIgFSVrNPyz2mYUtexxmCtHKCyvFZAx/5mGf+90gAmAWxpMKGa8Tuv 4IAxpdaYs8dw/gGPnnXStIv567IWrBbf2Czp6pHnyzoTJjvhqF2brIVztKlyECnnC1pE/F 7KrkzCCUQtJMcDsOx8a/fw3QW0tZgol093geIVXMMmIKYSPi9Kx08qcO0FDbV8KvAZyyq+ /+MzT1g+iyz3XTX2nxpf1dMjnalpBZBbH7rWS7xNBwd+GOzp00epTjxsYaD9tw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgc1h1b5YzN0; Sun, 20 Apr 2025 18:08: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 53KI8Oxp074333; Sun, 20 Apr 2025 18:08:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KI8ONU074330; Sun, 20 Apr 2025 18:08:24 GMT (envelope-from git) Date: Sun, 20 Apr 2025 18:08:24 GMT Message-Id: <202504201808.53KI8ONU074330@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: d8fd55143870 - main - bintrans: disable argument permutation for qp and base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: d8fd551438706b3766da23e72ef077945ba43cd3 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d8fd551438706b3766da23e72ef077945ba43cd3 commit d8fd551438706b3766da23e72ef077945ba43cd3 Author: Kyle Evans AuthorDate: 2025-04-20 18:08:09 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 18:08:18 +0000 bintrans: disable argument permutation for qp and base64 Err on the side of caution and revert to the BSD-style getopt(3) behavior for argument processing, as it's harder to go back and it's not clear that this was strictly intentional. This is the difference between allowing `base64 /COPYRIGHT -w 80` and forcing `base64 -w 80 /COPYRIGHT`. Reviewed by: emaste, pstef MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48483 --- usr.bin/bintrans/bintrans.c | 2 +- usr.bin/bintrans/qp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/bintrans/bintrans.c b/usr.bin/bintrans/bintrans.c index c4b443a9009b..e5e9ac17d524 100644 --- a/usr.bin/bintrans/bintrans.c +++ b/usr.bin/bintrans/bintrans.c @@ -139,7 +139,7 @@ base64_encode_or_decode(int argc, char *argv[]) {NULL, no_argument, NULL, 0} }; - while ((ch = getopt_long(argc, argv, "diw:", opts, NULL)) != -1) + while ((ch = getopt_long(argc, argv, "+diw:", opts, NULL)) != -1) switch (ch) { case 'd': decode = true; diff --git a/usr.bin/bintrans/qp.c b/usr.bin/bintrans/qp.c index 862db437f4e0..a989b17e7162 100644 --- a/usr.bin/bintrans/qp.c +++ b/usr.bin/bintrans/qp.c @@ -181,7 +181,7 @@ main_quotedprintable(int argc, char *argv[]) {NULL, no_argument, NULL, 0} }; - while ((ch = getopt_long(argc, argv, "do:ru", opts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "+do:ru", opts, NULL)) != -1) { switch(ch) { case 'o': fpo = fopen(optarg, "w"); From nobody Sun Apr 20 18:19:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgcG15QG4z5tRmb; Sun, 20 Apr 2025 18:19: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 4ZgcG13pYMz3tX2; Sun, 20 Apr 2025 18:19:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6QCNfkTS5SI2YduL7NRpoNFAwuEhk04MaoUyQQoZvg=; b=Y/utOH9WBPvIw/DqDCTIlVIG/Qn4VZW1MQny007p6F8mtEFuHbC828YPJkUX4fmur+rDz+ VUR45/EdPCSf2mFca8S1Bq95V13ZT85Xr86rBwSeD19eGH23jB8eY+NEUSpq2TmTQpIOvG Yibv2sOEYK0Q39m3SUObgkTyTsBp9WkJx4slmvYrrT/RUu4mDRZgdbK6DQBf4a/DN4ugW3 rO4UZjRS4tIJW4UI9gbYTbAA/TJwdLUD4UhHHD7HmtSTWAC4yi5KNq1htFdnpVYH47OQYh /tuZ71KwilneKDK4h5RVmdGIsr3dy7WOxZbrAbXVNqJoLTZuNhfQUMmIeZYWbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745173145; a=rsa-sha256; cv=none; b=H3WMRBa0J4lUJNMdbbJaadaaLLR6hnlLUsYLZBfeU2O1vT5y+XYn08DAhxwuza4Ii2tpfG R4DIC2CAqKweAiAcggY0zoNkZOkqSoaQJb7CIOF2j9HRfsCTe+a3jsygwdVFddh6daLmoL Tor25pyt/8Yby4l9KYO0pO5IR8j6mUVrH7Uy3f8ToV9tH7ioTpOZQjbE/fyOV2sTzYZ641 z75BZ2z4XXRSIK5xjVv3YWbVZFsztkadVefG1OMEe5qEJYWYu05IZQmtkLKA5//UyaiePD NSYcXZlAXKwsdBhhuv3huQPWnq6U/OLavrqRImVkahn9FPRri84syZgLUGna6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6QCNfkTS5SI2YduL7NRpoNFAwuEhk04MaoUyQQoZvg=; b=vyR4Ynb9WAhPLsF6s/Js14ZfJpxyF/uK4Ub1M8Qix7CpFWesiIUv210cz66x1C+3vAN1v1 0b3MWtC3GctLk6HYu9KZjwKgXC61urG8OOB28LJMwiSa2UFMz4+maWPPTHXXFo3TE3ln/G TJe+JXdl3AqujBCOAZH6+MAxVAxzPUd/o2vKddPP0BK6UiW5WY49ALyvsopgn8D5/+q6Bg TAXcZKqQhwTwJB22YDfgHCMs4e8lBznCKjnfiHYwbRm9UK3VPMc5hDGLvHegBvG107C9WG NlxmQfp7eRxM+Z5garT/kBQReA80BPmRx7DctOeskqrWj96ydR57VWjBG4JMQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgcG12lHyzXn; Sun, 20 Apr 2025 18:19:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KIJ5QN093064; Sun, 20 Apr 2025 18:19:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KIJ5Go093061; Sun, 20 Apr 2025 18:19:05 GMT (envelope-from git) Date: Sun, 20 Apr 2025 18:19:05 GMT Message-Id: <202504201819.53KIJ5Go093061@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: 49f31b5e0ca7 - main - netstat: strip the binary of sgid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 49f31b5e0ca7a335b35dbaec92769e4c7237a85e Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=49f31b5e0ca7a335b35dbaec92769e4c7237a85e commit 49f31b5e0ca7a335b35dbaec92769e4c7237a85e Author: Kyle Evans AuthorDate: 2025-04-20 18:18:40 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 18:18:44 +0000 netstat: strip the binary of sgid Everything in the live path seems to use sysctls these days, with kvm only being used for pulling information from core dumps. Strip the binary of /dev/{k,}mem access to reduce the surface area with access to kmem. Reviewed by: glebius, markj Differential Revision: https://reviews.freebsd.org/D47210 --- usr.bin/netstat/Makefile | 2 -- usr.bin/netstat/main.c | 14 ++------------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/usr.bin/netstat/Makefile b/usr.bin/netstat/Makefile index 742de485a6b5..121911b8a18b 100644 --- a/usr.bin/netstat/Makefile +++ b/usr.bin/netstat/Makefile @@ -50,8 +50,6 @@ CFLAGS+=-DSDP CFLAGS+=-DPF .endif -BINGRP= kmem -BINMODE=2555 LIBADD= kvm memstat xo util .if ${MK_NETGRAPH_SUPPORT} != "no" diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c index 4275ea7821df..e8f657006982 100644 --- a/usr.bin/netstat/main.c +++ b/usr.bin/netstat/main.c @@ -455,17 +455,10 @@ main(int argc, char *argv[]) } #endif - /* - * Discard setgid privileges if not the running kernel so that bad - * guys can't print interesting stuff from kernel memory. - */ live = (nlistf == NULL && memf == NULL); - if (!live) { - if (setgid(getgid()) != 0) - xo_err(EX_OSERR, "setgid"); - /* Load all necessary kvm symbols */ + /* Load all necessary kvm symbols */ + if (!live) kresolve_list(nl); - } if (xflag && Tflag) xo_errx(EX_USAGE, "-x and -T are incompatible, pick one."); @@ -739,9 +732,6 @@ kvmd_init(void) return (0); kvmd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf); - if (setgid(getgid()) != 0) - xo_err(EX_OSERR, "setgid"); - if (kvmd == NULL) { xo_warnx("kvm not available: %s", errbuf); return (-1); From nobody Sun Apr 20 18:19:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgcGv08Ppz5tSBt; Sun, 20 Apr 2025 18:19: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 4ZgcGt5zKLz3v6s; Sun, 20 Apr 2025 18:19:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=beS66c4tKRWJ9j4u9jsbb0MA+Q5UeLP/1B7eyGcqwuk=; b=wVOH9F7QIYNN1Ysbm2VKMKnYmv+mq8en+Qynck97nPUDQggl13j25+PyND4V3q71trPnXP vpsyP6nqKFQKyFQsfjpwnaSDqOAPT36NnzKilN/WyKQZgkreR1v7P/U2O5VSOSenPN7m3/ TOIoK3LZYsspx5aZ93CxWfV2Rm7UbqMi3p9/9TtJt/3jd/Li0CPqj9aChmJ7FiJDMfDwib Tkn7CMLnUN1yoMlkQUjNublfSgL44neQIHfNNdBmU3geHCTaBGavEFT5J9Tp1tPPBYhaRT UImzQpZyXzIGhQzJAV0x/r2t/hgLQEByoIkdDWfxq55hytIRsQ6PmRCO7dPIgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745173190; a=rsa-sha256; cv=none; b=m+Qt65vrG5iDFzlKvxReUZdfYjy553B1zZyvZRsg4TLh3jXGRwpNQkZPBiz0XGMQIYbRAa iLjXJ17+e7jSQV3AI8dusfcZrbHnBbVVb9arap+jlNDffGzB5b5jE2jp8LQtC2/klm5l44 jfMU75Oi0P3pb8A/lrN/qQXw49/hGN5sYzpY0tOk0hCyY6tnEKMiChZIlAcbJtcJJ6GMAJ KANX49hPzApA/18xIIIiGahShDLSpwCMydIR0DkvlA4JCqSiJXFyQSLquAnX1Yu8gGpQdk M3epmoZR+2DtDiQYVV/L5LSkAjaq0BUBoDDxTq+mHflS1cNHQ0vovJF52OlbuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=beS66c4tKRWJ9j4u9jsbb0MA+Q5UeLP/1B7eyGcqwuk=; b=RBKB3IcMoFWh/mAlGV4HEWwTGnmFs79WKMia/TAS8JIk9cObM//ehq4ZHcKHEoB/l+YpSd 7jFIHf2YPC0zPnhi+xx0Y9Dm/wV2Yuyys8sr7iS1Po7TciBHtnZlx97NUMMlyYJ6yIJrGr AW9G4X8BfobmS+li3eIx/wjvytIYVn17UABcB/rHlWkdylFOjb2qckoq98MMkz9Vk2i5Yw pRnH1QvELHbVAHz/SOcjz21Enp4v+pyto6RnXdjkJlhG5N7JfqqfMh1sStnJGFN0EXKS19 qaJusr3wTT2AD6UBvfe5DNQO7xXT1g2SXawuBXBvDokzyIfKJrwZrioXWDLfWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgcGt5TdKz125; Sun, 20 Apr 2025 18:19: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 53KIJorC093406; Sun, 20 Apr 2025 18:19:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KIJoDr093403; Sun, 20 Apr 2025 18:19:50 GMT (envelope-from git) Date: Sun, 20 Apr 2025 18:19:50 GMT Message-Id: <202504201819.53KIJoDr093403@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: 85a3ec9de84b - main - uipaq.4: Rewrite HARDWARE for HW Relnotes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 85a3ec9de84bc7787c11fa25bca54b8bc4d814fa Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=85a3ec9de84bc7787c11fa25bca54b8bc4d814fa commit 85a3ec9de84bc7787c11fa25bca54b8bc4d814fa Author: Kenneth Raplee AuthorDate: 2025-04-14 16:25:05 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-20 18:19:17 +0000 uipaq.4: Rewrite HARDWARE for HW Relnotes Rewrite the HARDWARE section conforming to mdoc(7) and style.mdoc(7) providing better rendering and increased clarity in the HW Relnotes. MFC after: 3 days Reviewed by: carlavilla, imp, ziaee Approved by: carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1665 --- share/man/man4/uipaq.4 | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/share/man/man4/uipaq.4 b/share/man/man4/uipaq.4 index 86f3da36f9dc..b49344956541 100644 --- a/share/man/man4/uipaq.4 +++ b/share/man/man4/uipaq.4 @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 26, 2017 +.Dd April 14, 2025 .Dt UIPAQ 4 .Os .Sh NAME @@ -50,23 +50,6 @@ module at boot time, place the following line in .Bd -literal -offset indent uipaq_load="YES" .Ed -.Sh HARDWARE -The -.Nm -driver supports the following adapters: -.Pp -.Bl -tag -width Ds -offset indent -compact -.It ASUS P535 PDA -.It Casio BE300 PDA -.It Compaq IPaq PocketPC -.It HP Jornada 568 -.It HP iPAQ 22xx/Jornada 548 -.It HTC PPC6700 Modem -.It HTC Smart Phone -.It HTC Winmobile -.It Sharp W-ZERO3 ES Spart Phone -.It Most Windows CE based phones -.El .Sh DESCRIPTION The .Nm @@ -77,6 +60,33 @@ The device is accessed through the .Xr ucom 4 driver which makes it behave like a .Xr tty 4 . +.Sh HARDWARE +The +.Nm +driver supports the following iPAQ devices: +.Pp +.Bl -bullet -compact +.It +ASUS P535 PDA +.It +Casio BE300 PDA +.It +Compaq IPaq PocketPC +.It +HP Jornada 568 +.It +HP iPAQ 22xx/Jornada 548 +.It +HTC PPC6700 Modem +.It +HTC Smart Phone +.It +HTC Winmobile +.It +Sharp W-ZERO3 ES Spart Phone +.It +Most Windows CE based phones +.El .Sh FILES .Bl -tag -width "/dev/ttyU*.init" -compact .It Pa /dev/ttyU* From nobody Sun Apr 20 18:28:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgcSh3mXvz5tSjg; Sun, 20 Apr 2025 18:28: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 4ZgcSh2q2Xz41LT; Sun, 20 Apr 2025 18:28:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bjVfKkAOI0apsnAolT5nbYtJiXWthMmmu6yYxmuqiY=; b=Or2+/SjK3V7zx9BYtgxUJ4WWx2gOHffOXO0OH9TiahPhnEejyPIrCAb2RcV/Q45/M1OU9q B8yVEnbMOXZ34zb+qYHUbHBX5+F8WkfkINBtjjMLO8ztvclEJNY4+EcEfWyFuQjN1GTlxk tRW2H4ekLL3P3aZo8OSeEZhR/dC/MZ0wNGbX5KMvbcaLP2ZrZpwUFdYC5VTaCgZGMEuUT0 QKLIaPneL0nwzuwm0ogs8CLGel2ib91cMR/vXLBSNqdY2aOEoHEaVNl8OAeEecJS6NGzHQ uv4IkC5mznuSewTCxSvitJ4ZBYVRsGnwPrDLQihtzGeFJZxPI/LbjtG27LIGUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745173700; a=rsa-sha256; cv=none; b=I3bV0Ydr7hQG0bjTnErIVluCP7EtFiCKBfcZ/OUO0S2QGGZyYZFf7GlK+GqsHrOnX3cxNk k5Q7GnDssd7dgXgcewXTGovQ7W0dGymkaFichBdA9P1TFcPUQaedg7MfucYBQA+qiLY48e k511OmIWkcu4aTCnvF9GzW60ohXzTtLnbsoF4eKKsvzDxBWWrXrEILq5+478GwINDWq2kb NYq/m56BuV7Q6N4MhVrLBtZWcsKWNILL9bS/lMTvtSupdxixnMyGh+Dv6PVo+bkKBadV2M A7Ur3nYM2F4KLzeqideasu8w3sksxs34h2qLkm6Vbw+wFqHKxUUq7l98JdERHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bjVfKkAOI0apsnAolT5nbYtJiXWthMmmu6yYxmuqiY=; b=NiKfY1zWv+bHxzng7AwOAY7/CHR7eDVvXaXBHbUAsEFL0sioseQdG+2eYmelmf1GX643RF P5O8WMZLpOOOgrZgPsmfxzYydRN6h3TZGmrltM9H1tvijj2anQpGoIW9RvlYInwhKyIBWF 4Qal1lNhbzEVkbHzb5pa5/K9MG5SY/4KBwVXDYC91QjIo6PLcQak6RJCESfg7cDhzwW3vb mwj9VGuz2+ka4LAGdD5Jl+eCCm+hRyQoQjPZ73jdRn1/vJAJTeG/hBMNKvZbicZCoOKniQ lwfG9t95MlZli2kVTB7M2Vpz1deyCfX4cSFviHmNr0Szp4IUVMQ1R+YUeNzleA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgcSh2QggzYX; Sun, 20 Apr 2025 18:28: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 53KISKqV012429; Sun, 20 Apr 2025 18:28:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KISK2L012426; Sun, 20 Apr 2025 18:28:20 GMT (envelope-from git) Date: Sun, 20 Apr 2025 18:28:20 GMT Message-Id: <202504201828.53KISK2L012426@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: 40ad87e958e8 - main - usb: if_ure: stop touching the mbuf accounting on rxq insertion List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 40ad87e958e8a9cd5d5c3380e709c7503dd12210 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=40ad87e958e8a9cd5d5c3380e709c7503dd12210 commit 40ad87e958e8a9cd5d5c3380e709c7503dd12210 Author: Kyle Evans AuthorDate: 2025-04-20 18:28:12 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 18:28:12 +0000 usb: if_ure: stop touching the mbuf accounting on rxq insertion uether_rxmbuf() assumes the uether_newbuf() model where the caller has just set m_len to the entire size of the mbuf, and passed the final size into uether_rxmbuf() for finalization. In if_ure we're creating our own mbuf chains, and the accounting is all already accurate. uether_rxmbuf's logic won't work at all for a chain, so let's add an assertion to that effect (but I think the other callers were all OK). This fixes a panic on my Windows DevKit when undergoing any kind of network stress that surfaces after the bogus mbuf is injected into the network stack (usually observed in `m_dup`). markj and I had spent some time investigating it and decided there's some kind of buffer underrun happening; the rx packet descriptor reports a length longer than what's actually available. We discard the rest of the transfer, but then we end up fetching it in a subsequent transfer and end up casting packet data to a `struct ure_rxpkt` incorrectly. It would be better to fix the underlying root cause, but this is a reasonable mitigation in the interim. Reviewed by: markj Fixes: 7d5522e16a ("A major update to the ure driver.") Differential Revision: https://reviews.freebsd.org/D43465 --- sys/dev/usb/net/if_ure.c | 8 +++++++- sys/dev/usb/net/usb_ethernet.c | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/net/if_ure.c b/sys/dev/usb/net/if_ure.c index 7c9b74334b58..c3f7b622d687 100644 --- a/sys/dev/usb/net/if_ure.c +++ b/sys/dev/usb/net/if_ure.c @@ -707,7 +707,13 @@ ure_bulk_read_callback(struct usb_xfer *xfer, usb_error_t error) /* set the necessary flags for rx checksum */ ure_rxcsum(caps, &pkt, m); - uether_rxmbuf(ue, m, len - ETHER_CRC_LEN); + /* + * len has been known to be bogus at times, + * which leads to problems when passed to + * uether_rxmbuf(). Better understanding why we + * can get there make for good future work. + */ + uether_rxmbuf(ue, m, 0); } off += roundup(len, URE_RXPKT_ALIGN); diff --git a/sys/dev/usb/net/usb_ethernet.c b/sys/dev/usb/net/usb_ethernet.c index 977805cefe66..692ea64128b9 100644 --- a/sys/dev/usb/net/usb_ethernet.c +++ b/sys/dev/usb/net/usb_ethernet.c @@ -593,7 +593,14 @@ uether_rxmbuf(struct usb_ether *ue, struct mbuf *m, /* finalize mbuf */ if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); m->m_pkthdr.rcvif = ifp; - m->m_pkthdr.len = m->m_len = len; + if (len != 0) { + /* + * This is going to get it wrong for an mbuf chain, so let's + * make sure we're not doing that. + */ + MPASS(m->m_next == NULL); + m->m_pkthdr.len = m->m_len = len; + } /* enqueue for later when the lock can be released */ (void)mbufq_enqueue(&ue->ue_rxq, m); From nobody Sun Apr 20 18:29:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgcVR1NN4z5tSnQ; Sun, 20 Apr 2025 18:29: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 4ZgcVR0RPrz42Bn; Sun, 20 Apr 2025 18:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SHAiI3gn/QgaiBuaiGXOsR5gcGNxjJDhZQxhOpSnZV8=; b=oDNg2LJoImMYjIzbs3Y6Vbzx/CzCTSICtL62ViigQ0Q6T0T+nSYpoEfB8XNIvEBLl8lYJi 2EhEP0iGdcnm0dFzfkuD7+aOUDke5wfjEdT1tcxky8TPvyEVc89JuNWtTUz4Aylpv8ilB2 VK7y78siZ0JZe1ZQ99ntQqbzLnTGiTZKDxt0j1XW+hr6QxlYarE6M+1KBm1hlKKvoVsZGm NqiS/6TsAftBhuyOYySApYQv7fjDLWjXUB024YQOJrDrR43Y03WpGnIM4/qzmtj68yXsps NGETvmBJgPdD3bte75meFpQ6i3SwCGqI91xn3JPOqMrBpUz8Jo8d+rgZHwwiCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745173791; a=rsa-sha256; cv=none; b=qVyAEmn6HAzlcmdNKd+gt/ZTnsRJRjKiXa7rRcM5ROHRMaJQZGwvil7kceZZmN6K4nK+5y R81WEL5W0ozQf7oT+th9wcUuGPrLKanzDtofSaTk6rgbHoX+MSJo+kvmZot2Psn8CtdVRL SyeiW+q7jsaN8jm6yQwUwXdbhSkJZhQR4x5L18i/0HC2swgdT4YPUdBlPHMINI0IJdp3UC Ek1m78nHpJYAkZtUPJbbPjAn+O4RqCdy3gcgM8jtd0sDb/IY5YBv7ETKZTWN6Ws8KCvlGr mejE6DOi5KC8Fw1GiYCEduZQFeAxISIMLRO4eRT8ktQj3zyEVEgH9WS5yYqH9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745173791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SHAiI3gn/QgaiBuaiGXOsR5gcGNxjJDhZQxhOpSnZV8=; b=g0YbR+LRHP3bjdJvcaOOGN8sw43KCnbXsIC8vyF/5/9HZbaKMl5tqtyCYhytJfbSuSWIOI 5fJvVkmRgTnuzwNs0LKpudf7lbVyrVwaqWps33XRE6wc2tDsA06fXn3t0rb7FHpnjWgWyB Dlb96PVRwnMu/AGQx5Tm1dEIZ0x+NbaxgsSGVTCCDiHNXFQt4BVQxJQU/mk048Uea0pME2 +bUMocewPT40XLavYV5VX/bOxerIkaJ6BmfJ7gB5TT5IsqF/T8+zPU2ooQ/gLEXnYGjh3m N0D2gkqGanC24Ac61v1CU7E4Cn4KR/CI5f5aZ4DZ8/b3Eo0cHRlxZIFJtfa2/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 4ZgcVR02ywz1FC; Sun, 20 Apr 2025 18:29: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 53KITo2A012969; Sun, 20 Apr 2025 18:29:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KITodP012966; Sun, 20 Apr 2025 18:29:50 GMT (envelope-from git) Date: Sun, 20 Apr 2025 18:29:50 GMT Message-Id: <202504201829.53KITodP012966@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: c4c562eadf3b - main - libc: locale: fix EUC shift check List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c4c562eadf3b790fa221e220d6a442f0cb84ca35 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c4c562eadf3b790fa221e220d6a442f0cb84ca35 commit c4c562eadf3b790fa221e220d6a442f0cb84ca35 Author: Kyle Evans AuthorDate: 2025-04-20 18:29:45 +0000 Commit: Kyle Evans CommitDate: 2025-04-20 18:29:45 +0000 libc: locale: fix EUC shift check wchar_t is unsigned on ARM platforms, and signed pretty much everywhere else. On signed platforms, `nm` ends up with bogus upper bits set if we did in-fact have a valid CS2 or CS3 (MSB set). Mask just the low byte to avoid sign bit garbage. Bare basic test of converting a CS2 widechar in eucCN, which would previously kick back an EILSEQ. Reviewed by: bapt, rew Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D43262 --- lib/libc/locale/euc.c | 2 +- lib/libc/tests/locale/wctomb_test.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c index c54a6ceceff2..c110fc61b375 100644 --- a/lib/libc/locale/euc.c +++ b/lib/libc/locale/euc.c @@ -426,7 +426,7 @@ _EUC_wcrtomb_impl(char * __restrict s, wchar_t wc, /* This first check excludes CS1, which is implicitly valid. */ if ((wc < 0xa100) || (wc > 0xffff)) { /* Check for valid CS2 or CS3 */ - nm = (wc >> ((len - 1) * 8)); + nm = (wc >> ((len - 1) * 8)) & 0xff; if (nm == cs2) { if (len != cs2width) { errno = EILSEQ; diff --git a/lib/libc/tests/locale/wctomb_test.c b/lib/libc/tests/locale/wctomb_test.c index 1e142ed74c48..ef2a6dcbe1e3 100644 --- a/lib/libc/tests/locale/wctomb_test.c +++ b/lib/libc/tests/locale/wctomb_test.c @@ -41,6 +41,18 @@ #include +ATF_TC_WITHOUT_HEAD(euccs1_test); +ATF_TC_BODY(euccs1_test, tc) +{ + wchar_t wc = 0x8e000000; + char buf[MB_LEN_MAX]; + + ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "zh_CN.eucCN"), + "zh_CN.eucCN") == 0); + + ATF_REQUIRE(wctomb(&buf[0], wc) == 4); +} + ATF_TC_WITHOUT_HEAD(wctomb_test); ATF_TC_BODY(wctomb_test, tc) { @@ -104,6 +116,7 @@ ATF_TC_BODY(wctomb_test, tc) ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, euccs1_test); ATF_TP_ADD_TC(tp, wctomb_test); return (atf_no_error()); From nobody Sun Apr 20 19:20:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgdcL6cCbz5tWlQ; Sun, 20 Apr 2025 19:20: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 4ZgdcL4YH4z3Sn8; Sun, 20 Apr 2025 19:20:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745176802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VAhQC8P+Ljr3pxF518ThYr12qL35NlW/bS/bPvhJz48=; b=GAXSegTtrJIURbQlFfa15te23mZH82HoRiXO1l7J+L1pP8cGCif1lkFFCU9F2O17H+Qspj CLpZaVLNETrP0bFPjyXTTkeuRvryCDLHqU+htykHIgaXqUlba5KLdq41FiPB+FbcoT0Tcq tbL0cPbVEsco8ISdS4ukvmXYbs268AyjmWHKxgretpfk481PiI+AmroaOD/BB3ywnGvvU6 Xh/nJKqr/gY210N0NIj9ScYrmWjY1dMxf+unGWlWcs+vlSpxPHniM3wRxdwPOFp3DBY9hM 46ApcXJ4fuFF9JTsSLJls7FL0xnq4kkf73EZTOBfNN1Xn6ZtUmBC0ddZrW8Bow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745176802; a=rsa-sha256; cv=none; b=E47qNoV+Y1hOO7mqawEJroaGn/3FsWxFebxO1kWGSucU42EB/1HmIeKLkTmDCqWEkCVvc0 21w3h3wkUhX4Gu3I7Ke2xmbf8fAihAT2nsftl08RHE9RX9tE2JgN9538/lfntfsuiEL9kF Q7dR8dHImUDBJ2sw48tookzyacmlmVqojmfUoQpJmTK6nU5oOHLZp6n95dS8TDvQ7NwJ1/ Ul+9s03boii+OTEoIvrfUQiHDL+lhX7ayn6xh+ew9o5G5//qjg/7vVFaqUKNEl92pxkO6d PIBjTX8iOCOv/b+KJeFxz/g6YrS0Cqq1zKetBiOvnXZfFXTOph/M0lMUf4DB+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745176802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VAhQC8P+Ljr3pxF518ThYr12qL35NlW/bS/bPvhJz48=; b=hdKjeffYq+Qj5rvtjkD+F8DT1HGAm0oaVI22DLyPFobtV754JbYI/nahBWwmGXY6G9oVG3 Nj9/ZPPPGTDYMNBpY0SaJaP+JxGa0DfyXDy1Fmcm3A5476KzMelFdDXrHgV932ybyx+Fys Wks9qyq9MOcLXbrQE8Etv0z+6P5Ggw+RhMbf062P+OtpTRmO2a+aGyVmkuF0pONZv2RCwb GfvVg0G14oOx0/oZpw0wgUvaBA/c+F3Y7NKKvbwKBjP0X4GCkmZN6p0c8WIto57SgyQ8BZ BWLMnvi53jgS0fTaTws6AtkCXlvgXRGhZkCbmr7N0LOUzfDjnU2Rp379v8ss/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 4ZgdcL2hrZz2T7; Sun, 20 Apr 2025 19:20: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 53KJK2RO007958; Sun, 20 Apr 2025 19:20:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJK2op007953; Sun, 20 Apr 2025 19:20:02 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:20:02 GMT Message-Id: <202504201920.53KJK2op007953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 1589eb2e8764 - main - jail: allow jails to call settimeofday() if allow.settime is enabled List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1589eb2e8764623d1c32982b52088842519dfd11 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=1589eb2e8764623d1c32982b52088842519dfd11 commit 1589eb2e8764623d1c32982b52088842519dfd11 Author: Lexi Winter AuthorDate: 2025-04-20 19:15:54 +0000 Commit: Lexi Winter CommitDate: 2025-04-20 19:19:23 +0000 jail: allow jails to call settimeofday() if allow.settime is enabled this extends the existing behaviour to allow calling settimeofday() in addition to clock_settime(). this is required for chrony, which uses settimeofday() to step the clock. Reviewed by: jamie, oshogbo, kevans, des Approved by: des (mentor), kevans (mentor) Differential Revision: --- sys/kern/kern_jail.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 5dd07fbf77d1..b0b0fa50e648 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -4217,6 +4217,7 @@ prison_priv_check(struct ucred *cred, int priv) * Conditionally allow privileged process in the jail set * machine time. */ + case PRIV_SETTIMEOFDAY: case PRIV_CLOCK_SETTIME: if (cred->cr_prison->pr_allow & PR_ALLOW_SETTIME) return (0); From nobody Sun Apr 20 19:30:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgdrw44Kgz5tXWN; Sun, 20 Apr 2025 19:30: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 4Zgdrw3J5kz3ZQF; Sun, 20 Apr 2025 19:30:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ywg3NFfkxju2mVfQ75lv8Z6WOqzNZok72f8jy3Gjtq0=; b=ZpoMT68HnvOpwDkFe9apDILZkDVvDLDkR94ARkEhik9cLqNJCo23XTqaIkIwrwK6jnkTso O6nPlnIg/ANp4wHyDMm2Pc5FzU3EN0ju0KPiijMgtbpvFPlwJO1EJ2kZNb4HBFbSeW5dif SFwEDFZIT4ydBIbeUX1SoLtbRkrFSasgzCU8pNq92yi2Lq68BoDueDg+K9MaZZ/UUIXr5P aKUEkEGKOGO8rWMNw0Do5x/2he+Wk7WlwAMtkcZN5IRajpVyFtDz3q/b1ZNugmapswji+0 aASWbFkHSfXMx9Ld0Cln/KgkpBPEcxT5CX7ghWO/SBCsI/qCybw+4fnRuJ5jOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745177456; a=rsa-sha256; cv=none; b=RXnK+a2xZ0kOxGgZggwCv4hRUMzbw5O/0SgKInhwlq8X++GzsTjaINfp5scF8JBii+VzaJ lhnhH0nTNtPneuK7CuyCRigfOufZetafLVxoEaf6uRPh+kt+S4RFW2+3BrrzId1YjeThjh Kb/WysPiMH/qGgGmWivustXKAOK4QLmxeKN+J2OeyXCRn8QOw7Qdqw52/DmLyiwYKj/Yc6 TH7aKxoFaX7W506+YQhxPXWxbAKKhauDl5IhwA5OzbMoe027LMRNGNkgGj57xDbkOHi+NB BHR9Q5FSnhkXnQRKnOdnYTQ1UZh6YO1UPdG9nNtxj/S1i3Y35jkmD/1Geq2UzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ywg3NFfkxju2mVfQ75lv8Z6WOqzNZok72f8jy3Gjtq0=; b=kqxWHJ0QtLdzoWD6gvqRWI4WzPljMup4934Yycj+eOmVQAI/AsT7evMetNDbwPP1ZZPRma VL/1t7KTvRaOBY4khGQsNfP6YWox/EmeMeSLZlOUpfvnFUZk6k7opJVMdrFhtALR5zlFvg c0w/jpvAyVn7ZJSphu0vTH6JDUL6XzEX6YTPzAPE40S68DaXJd1K+WnNO5kGTW6w087RfV fYHd/8jG5P0uaAS1GalfKHFhAzSWFgNpkSiBhfW4q30eO9VRi+Bdcd4wE1CZAkkz30Wyd0 OlarakyxQC9XjxB1XA16+T2KxdWRy+cA2SdW7wJMTc+Jjul84dLmo52+RlUUIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgdrw2kmmz2Ty; Sun, 20 Apr 2025 19:30: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 53KJUubo034649; Sun, 20 Apr 2025 19:30:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJUuGO034646; Sun, 20 Apr 2025 19:30:56 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:30:56 GMT Message-Id: <202504201930.53KJUuGO034646@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: 76ed6f2db316 - main - ure.4: add a HARDWARE section + add RTL8156BG as a compatible controller List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 76ed6f2db316bf2240d36d3c92316da4d1e5b174 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=76ed6f2db316bf2240d36d3c92316da4d1e5b174 commit 76ed6f2db316bf2240d36d3c92316da4d1e5b174 Author: Kenneth Raplee AuthorDate: 2025-04-08 18:30:46 +0000 Commit: Warner Losh CommitDate: 2025-04-20 19:28:32 +0000 ure.4: add a HARDWARE section + add RTL8156BG as a compatible controller While here, rename all instances of "RealTek" to "Realtek" for authenticity. Reviewed by: imp, lwshu, zaiee Pull Request: https://github.com/freebsd/freebsd-src/pull/1649 --- share/man/man4/ure.4 | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/share/man/man4/ure.4 b/share/man/man4/ure.4 index f5452fa8463b..0d14a20f5f44 100644 --- a/share/man/man4/ure.4 +++ b/share/man/man4/ure.4 @@ -25,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 3, 2024 +.Dd April 8, 2025 .Dt URE 4 .Os .Sh NAME .Nm ure -.Nd RealTek RTL8152/RTL8153/RTL8156 USB Ethernet driver +.Nd Realtek RTL8152/RTL8153/RTL8156 USB Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -53,16 +53,7 @@ if_ure_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for USB Ethernet adapters based on the RealTek -RTL8152, RTL8153/RTL8153B, and RTL8156/RTL8156B USB Ethernet controllers, -as well as USB Ethernet PHYs provided by -.Xr rgephy 4 . -.Pp -NICs based on the RTL8152 are capable of 10 and 100Mbps. -NICs based on the RTL8153 or provided by -.Xr rgephy 4 -are capable of 10, 100, and 1000Mbps. -NICs based on the RTL8156 are capable of 10, 100, 1000, and 2500Mbps operation. +driver supports the Realtek USB Ethernet Controller family. .Pp The .Nm @@ -94,12 +85,12 @@ or modes. .It Cm 1000baseTX Set 1000baseTX (Gigabit Ethernet) operation over twisted pair. -The RealTek gigE chips support 1000Mbps in +The Realtek gigE chips support 1000Mbps in .Cm full-duplex mode only. .It Cm 2500base-T Set 2500Base-T operation over twisted pair. -The RealTek 8156/8156B chips support 2500Mbps in +The Realtek 8156/8156B chips support 2500Mbps in .Cm full-duplex mode only. .El @@ -116,6 +107,17 @@ Force half-duplex operation. .Pp For more information on configuring this device, see .Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver supports the following USB Ethernet controllers: +.Bl -column "Realtek RTL8168/8169/8110/8211 via rgephy(4)" "10, 100, 1000, and 2500" +.It Model: Ta Speed (Mbps): +.It Realtek RTL8156/RTL8156B/RTL8156BG Ta 10, 100, 1000, and 2500 +.It Realtek RTL8153/RTL8153B Ta 10, 100, and 1000 +.It Realtek RTL8152 Ta 10 and 100 +.It Realtek RTL8168/8169/8110/8211 via rgephy(4) Ta 10, 100, and 1000 +.El .Sh DIAGNOSTICS .Bl -diag .It "ure%d: watchdog timeout" From nobody Sun Apr 20 19:30:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgdrx5Ty9z5tXWR; Sun, 20 Apr 2025 19:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgdrx44fNz3ZQK; Sun, 20 Apr 2025 19:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AoCgPdbLf4lrjcMX33VbAfqYW1WFZxCAsriehcWaSws=; b=eWwZzK68EYb4R+qM4vtDBrx+saamjxpiV5hjWIi3w26eZKCvxXSnUqH7wgu9xmveWebFiG lWNIFD7un146AeTTyZyQYND7t7xjHvxp70UirroSEebs7ZXaOUiJACRy+mr/KESl/8k7sG 2l1ZPRabN+CM/3qqndmJgkJ8SPpffZZ9xutErhrvJJhcpGzvur4DiBetQA2mhp+amkpdud 4tMKTH8Z1qVeaMEo2g2+RPv8zBWlkoe8aRzmCDR3b0HJaIPcs84EG4cQsgeUxpgutEfgp0 5gx46KdQ/BUzrmaozb2hMzQxYvptYLtSPWPRUfaUJKz3+gGjjvueyOHi+uY2rQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745177457; a=rsa-sha256; cv=none; b=hAD/PLAfwT3RywYTYlKpzn6we/rm8k6Ny/hyOdchdQLWMnHZxEZtb8FDjx/AU9p0YXWezx QRwVZTc4IUrVx69PLx0oQjFXO8Fo1mTsMy1Iz3mRl3dBCjUBRcBJRvG3pGS9+oWIUvV4YF igkMXYXWjaPGDRTrb+YHddFkPVO4rmih5p9gaFFqOe5D/HxDCp8EWL22GHUwft70JqqkyD +9ouspETmuVRVibJ4QRudxoaAoOGIWVeiju/AeeLOzNZs6r/Uhs7dPA5aaESskL6OriQ7e +Iw2RevJkhvWrD2pLh1nJDsrYEP09w58NJ9botNRGaCGJGf9kyDLgIos+lqm/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AoCgPdbLf4lrjcMX33VbAfqYW1WFZxCAsriehcWaSws=; b=H57mkujTzbx1EOINxgMyXe2uPmGnsGKBCOOpPUYq1DKKWebFxDfGzbINjnT/9YCKsbU31e NFa4L/D/6fLy3k/OEGIesx/MYy7eHXQfUgdMTq4SiDzYkdei8U4ZCUgGLOpbxH3onDkXFj As1AUdomDXInWiEw5byDwg1JpLQLpgf70xk1tkzxfX02pM9uUXCknPAPWW2/keVW6Xb5Pt MO9nGwGmMD2BciUr/YQgi9jk/L6tYkrTjJ+xJyu2Lz2aHCeSXEazbgTUT7bWWWYwxGysDn 4aBF9DlfyMSwufh316yPKIVVsrU+gekP4EBI3uHQHjtEzOwElPsfyVuFdPAyrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgdrx3gHNz2ly; Sun, 20 Apr 2025 19:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KJUvFL034685; Sun, 20 Apr 2025 19:30:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJUvDj034682; Sun, 20 Apr 2025 19:30:57 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:30:57 GMT Message-Id: <202504201930.53KJUvDj034682@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: 40e58aca9fdb - main - sifive: dtb: add unmatched dtb List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 40e58aca9fdb5c05a00c4468ed9ac2bef1e916d2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=40e58aca9fdb5c05a00c4468ed9ac2bef1e916d2 commit 40e58aca9fdb5c05a00c4468ed9ac2bef1e916d2 Author: Han Gao AuthorDate: 2025-04-13 22:44:55 +0000 Commit: Warner Losh CommitDate: 2025-04-20 19:28:32 +0000 sifive: dtb: add unmatched dtb Signed-off-by: Han Gao Signed-off-by: Han Gao Reviewed by: imp, jlduran Pull Request: https://github.com/freebsd/freebsd-src/pull/1661 --- sys/modules/dtb/sifive/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/modules/dtb/sifive/Makefile b/sys/modules/dtb/sifive/Makefile index a0566e5fc9bd..7a823735e17a 100644 --- a/sys/modules/dtb/sifive/Makefile +++ b/sys/modules/dtb/sifive/Makefile @@ -1,4 +1,5 @@ DTS= \ - sifive/hifive-unleashed-a00.dts + sifive/hifive-unleashed-a00.dts \ + sifive/hifive-unmatched-a00.dts .include From nobody Sun Apr 20 19:30:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgdry6y9Rz5tXWS; Sun, 20 Apr 2025 19:30: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 4Zgdry55D6z3Zqp; Sun, 20 Apr 2025 19:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Y5EtuNGgFT0SkViVo4fbrQZDL7VKhNUS5CB6VjDLAU=; b=U+18oMvKNXnoJSAIBsgDFOCA6wC9eATlw/csT1PPV+C4omiCu2wLfAbLELOomUbrcTc3DN S63G1OYd3WlXunWpWocq2ucxAU/oOSNeCPFuSw1ooRKqWvFeh1q+8XnVg0TRkBB4quj1kq Rz4K29NcvBAStNb2+iWczcAg87ZEUm5mqeGLpEfxjbyxsWKxEZ9rtYqNowo/u6mWme11jx Gv5/UuEYtNtiUhQsYCnMPa5ZY1VkM4a7m3CmJjNk6oNoATn936mOKKDEYdjyLoSayKjY7/ ZGLZ5pf+5TLsRnPYZZ2m91EMYeCb/NnliYTF0migDQ2Mhk5VzvYcFXPhf4I6UA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745177458; a=rsa-sha256; cv=none; b=ic92GOcXpvzS6ST8/lUnccYAjB/DocXr9aY0mf4+3MV54tmFekTJd6hnAEhjGme2XTcHjm fkvhAE0Q/YBdgAYbMj39zk0bPq54DGM5e2/ns2+aRwUsjFPHscvTjmcBUgvmp6kzZsqu8r hsd3okx/ELgl0oxFZ8zyZht15TdRZiwzC70VflRYMaPktBYa3CvKzL+1UQpghUAleABalQ 2cxH9k8uv8WWEnBI40c6Pgb1oI8O7nvZq/GWdew8XZxVKnlnciH/40Er5TtNodxqQOIB8N MsN4Dz5TwPbe+pRTvxrhOCJHmf3I8p+86vNY7bGrEvobTIxR+uqZniXb6IPnqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Y5EtuNGgFT0SkViVo4fbrQZDL7VKhNUS5CB6VjDLAU=; b=F6H+xhepIR2dECD5eEJl9AWEJjbf4Xq2MllPlWDEV9X0+2xQil2TJdhJjiUkbLKgfFHcFW BtADPwxT1jrQZHNciv2KIqnZYRPbAL8rKlEi7e9PaXHpA2+BztQHj2uvy235tVOnX3EV3A KT/BejydY7ADnDHYyErWki84WfkTFsAw3iE6bvpfbtvJDAZxbQRlhx9ejOo/yB0Tcuc7/7 EJOeBlAbewN6VHxTMC/+La4lvclV0fjYy8A1/95rvEkOvqBPBJa3kwRYvpbfpA8XrS+1nX 3XsaRYuRqeDiKrHq3sGMs2VpSzPQroWyi8n34x4hbwdkMzFyoWwANqymXqynRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgdry4cn3z2t5; Sun, 20 Apr 2025 19:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KJUwcB034719; Sun, 20 Apr 2025 19:30:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJUw5h034716; Sun, 20 Apr 2025 19:30:58 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:30:58 GMT Message-Id: <202504201930.53KJUw5h034716@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: ad1f936ab7e4 - main - Reject providers with too small a size for metadata List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: ad1f936ab7e497926e46079de8df7407ab123213 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ad1f936ab7e497926e46079de8df7407ab123213 commit ad1f936ab7e497926e46079de8df7407ab123213 Author: Rose AuthorDate: 2025-04-16 22:35:20 +0000 Commit: Warner Losh CommitDate: 2025-04-20 19:30:41 +0000 Reject providers with too small a size for metadata Otherwise, if a misbehaving device claims a sectorsize smaller than 256, the memcpy will overflow the allocated buffer, since sizeof(*meta) is 256. Signed-off-by: Rose Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1668 --- sys/geom/raid/md_sii.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/geom/raid/md_sii.c b/sys/geom/raid/md_sii.c index a340e8e49846..7019d48f42b4 100644 --- a/sys/geom/raid/md_sii.c +++ b/sys/geom/raid/md_sii.c @@ -921,6 +921,13 @@ g_raid_md_taste_sii(struct g_raid_md_object *md, struct g_class *mp, mdi = (struct g_raid_md_sii_object *)md; pp = cp->provider; + /* Explicitly reject providers with too small sector size */ + if (pp->sectorsize < sizeof(struct sii_raid_conf)) { + G_RAID_DEBUG(1, "SiI sector size too small on %s: %u < %zu", + pp->name, pp->sectorsize, sizeof(struct sii_raid_conf)); + return (G_RAID_MD_TASTE_FAIL); + } + /* Read metadata from device. */ meta = NULL; g_topology_unlock(); From nobody Sun Apr 20 19:36:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgdz83cTFz5tXQ2; Sun, 20 Apr 2025 19:36: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 4Zgdz82Jcbz3fL3; Sun, 20 Apr 2025 19:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CVSZnjW0TUOycTujmEgXfP1qDR6LfOxdIkavRvBBmK4=; b=OGNmfzj1uQ2UdoE6eiMr3rNawCn2MX4rdFCJpsu9gjuQZZzLp86zz48zAau+1r8ceCI7w/ tsNBUlZ97/X1GYiTi9O/wzO7E3POrMdspFuh5Eb9sJyqRbiaN+/iMTSAipRAE4cAsyhdBq JFJMFpqOnRDAXRdxzXJQ4qZP4gfhHb53utM0yL46snNAzRzxGTsDO76zaxkgFRRVS63dt5 xOfEOYYg/gkA1lDi3lZGQRpZQSEderKqX4Eeh+7fWwB6XzFgHy3X3QFMiy7JKQca2Nm8j1 MXMN223XwCI/C4DdNT//QAGd6StsPSp9lpPypt8adgAT03eQMU1i4kijMHiy3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745177780; a=rsa-sha256; cv=none; b=QXne2R5Ji/Z+dBNxn4wfJJxRsWzvgqgOsgh3heo4JCwlhsBJ6FxgEOT4h8RC86Bkvp6QQF WWbWcNKe0/K+72S1uQ1YuI6+M9tUk/QtX7XhE8VZtWeflu+YjXZuyMbPr6RWRZxvFCawXQ L6GcNGlXmZHLlF+izbpiCnczbQCVusFcwhcukJldKR7f8oWOd4nWZIPHaRFkqB/xQkAgCA sVFhE8ToUzAs7kdXWZ7EvY4pcJLjbZtJWquNJ56wnlS/VBjv8+IyLQZ8cmFvENcV6iHiqo qBqLla4TgVnXNArH8fcrENG1LTLyOBhArZU5fqsdnJYGUy/VmmAhK+5/xeAVyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745177780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CVSZnjW0TUOycTujmEgXfP1qDR6LfOxdIkavRvBBmK4=; b=TiMaHybre242Ao+y7eDwV7WhaLqJmt5j6VyuRSbm+t1BsLqKn4GQBwhkbyEBGNf2YV4ZB0 TixnCgdtjMfBoIvvfB5KardJOz0TS3T9rTaAVMJWFJEa2CLiLkWECjqrB6qEjWh3JXqGCy KbJ4BWz+BxtI4zV+IRjl9gmljzAjANZRG+pq8l1mA5alt0YKS12AieIyIqZ7iHco7uG2r3 Gu3OukRaRIRz9Qs584TcuoVuqSz/InUjeYidDjMDBoABP46jVTUPU1GNy26KmvvQnASsM/ TzmPtrO0JQbvYZfY8qJiAsQDmJNjQXNBJVWJPbSPIarIg5RkFQUCJCK+8cubeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgdz81vrwz2qs; Sun, 20 Apr 2025 19:36: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 53KJaKVU042786; Sun, 20 Apr 2025 19:36:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJaKUc042783; Sun, 20 Apr 2025 19:36:20 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:36:20 GMT Message-Id: <202504201936.53KJaKUc042783@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: 0b694568b0b5 - main - vm_object: use iterators in madvise() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0b694568b0b5d3cf76f56b119b3a378a47b44a1f Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=0b694568b0b5d3cf76f56b119b3a378a47b44a1f commit 0b694568b0b5d3cf76f56b119b3a378a47b44a1f Author: Doug Moore AuthorDate: 2025-04-20 19:35:12 +0000 Commit: Doug Moore CommitDate: 2025-04-20 19:35:12 +0000 vm_object: use iterators in madvise() Change vm_object_madvise() to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49932 --- sys/vm/vm_object.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index a1cd01d9fec6..2f2f77ff075c 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1332,6 +1332,7 @@ void vm_object_madvise(vm_object_t object, vm_pindex_t pindex, vm_pindex_t end, int advice) { + struct pctrie_iter pages; vm_pindex_t tpindex; vm_object_t backing_object, tobject; vm_page_t m, tm; @@ -1339,13 +1340,15 @@ vm_object_madvise(vm_object_t object, vm_pindex_t pindex, vm_pindex_t end, if (object == NULL) return; + vm_page_iter_init(&pages, object); relookup: VM_OBJECT_WLOCK(object); if (!vm_object_advice_applies(object, advice)) { VM_OBJECT_WUNLOCK(object); return; } - for (m = vm_page_find_least(object, pindex); pindex < end; pindex++) { + for (m = vm_radix_iter_lookup_ge(&pages, pindex); pindex < end; + pindex++) { tobject = object; /* @@ -1394,7 +1397,7 @@ relookup: } else { next_page: tm = m; - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); } /* @@ -1420,6 +1423,7 @@ next_page: } if (!vm_page_busy_sleep(tm, "madvpo", 0)) VM_OBJECT_WUNLOCK(tobject); + pctrie_iter_reset(&pages); goto relookup; } vm_page_advise(tm, advice); From nobody Sun Apr 20 19:54:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgfMt3wcMz5tYR6; Sun, 20 Apr 2025 19:54: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 4ZgfMt2VS3z3r3c; Sun, 20 Apr 2025 19:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745178858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tr0SGZYjfv2q+LhGMRXuYdRtSUPbK917489USULLJvU=; b=nQsM3YXPkyOjCxcEAvm55P3fUfBq+0+xbkKC2YLkZyw8fIRLDcDipv/ADbqlIHO0AAt6oA WM2IXmFkWitJjnBc5V8SCw4Wh+WKFubQKUZrl1Nzckz1iIOgiQmJ4Jf3yCuKhMD4oiFuEm f+kWXJDSeHvfgYHjZb9BHYR0fr0owI/wnfUCzmngsGzetsN0QK0SWKe7fRqT4fPLIyjEVr oUrNKgzQ4kiFF/ee8WTL7+Ngj/solGFZou9PzOVioFqqmJfmQAYOtbTzpIs6FI/uygJfZm s29qfFYII/gX4iy6biph8y0DBBs/RCz4dAZ7RLlqF286CR5KCA14MpZPVq+qlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745178858; a=rsa-sha256; cv=none; b=ycptIOo2DMBQ/m73OI/MNpHaHTXRzMaaj8exGk6pLbnx10IMLZc2CSz3z7ez4iedAZ0kg/ U1ypiurKWs+K49aZI7jeGfG+MhnI/ETDxVq+SHmWXSm3l7PAKH5JnCbda+DZ5POqyn8klu ZHggn80FYzQV6EmLvh0boPKXYadGEp+kQV8W2cZtAiISmf5nlpUVtLJxOT56Z9L2vfXxpe IBOLR/XRSBeoNtSOVe9rR9RIbGfMZ2yiXbU0sPtaql7aQM/oV2aScTqHK2CZRIREgTiXLp Uq4G93r1uVFHTobbRVc/ZcXVy3ZDsFVJcZ91DJQ8FWmv0YJvgxX1/xCC+A85GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745178858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tr0SGZYjfv2q+LhGMRXuYdRtSUPbK917489USULLJvU=; b=Xeh8hnwPuJ8BEL33VEiTRHI6FiQTJUI+Xj5jr3v26mOYUl3OT+fHkrfv4lL+D6Z9BUUTf1 M7oS9h5xe63kVWdpt8dxxipQiyNJeUN16CtJabqVm5h5+tpE4xltH7ohAsPbkgBRw0Qx2n oe0pszltRTGAYqjCWH2lQ1JEhodf2rulsnnCYEREs7IeEK+0+FSJZ9cCC3P+gMu1+eNnmv NgbTYkac/fm0tIL3U00b51xGRIrUsg9vKgGyqDftPABxDwhOBkqb+KEfarI3W9G7Y00gea Y+Y4t9IhohZCMWhJJH3ZhsSvteiVK2JFl3RhA0CLPcL8kGIQX7MCtsCPcdwHmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgfMt1r4xz2w9; Sun, 20 Apr 2025 19:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KJsInL078875; Sun, 20 Apr 2025 19:54:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KJsIDU078872; Sun, 20 Apr 2025 19:54:18 GMT (envelope-from git) Date: Sun, 20 Apr 2025 19:54:18 GMT Message-Id: <202504201954.53KJsIDU078872@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: 92439940517b - main - vm_reserv: find reservations with iterators List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 92439940517ba57954f6b7f50545a43e506540f1 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=92439940517ba57954f6b7f50545a43e506540f1 commit 92439940517ba57954f6b7f50545a43e506540f1 Author: Doug Moore AuthorDate: 2025-04-20 19:52:53 +0000 Commit: Doug Moore CommitDate: 2025-04-20 19:52:53 +0000 vm_reserv: find reservations with iterators Instead of passing a preceding page to a vm _reserv alloc function, pass an iterator, and use the iterator to find the predecessor and successor. Reviewed by: markj, kib Differential Revision: https://reviews.freebsd.org/D49921 --- sys/vm/vm_page.c | 7 ++++--- sys/vm/vm_reserv.c | 32 +++++++++++++++++--------------- sys/vm/vm_reserv.h | 13 +++++++------ 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index db91b7bab2ab..6601ea23bf0e 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2182,7 +2182,7 @@ again: * Can we allocate the page from a reservation? */ if (vm_object_reserv(object) && - (m = vm_reserv_alloc_page(object, pindex, domain, req, mpred)) != + (m = vm_reserv_alloc_page(object, pages, pindex, domain, req)) != NULL) { goto found; } @@ -2418,8 +2418,9 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, * Can we allocate the pages from a reservation? */ if (vm_object_reserv(object) && - (m_ret = vm_reserv_alloc_contig(object, pindex, domain, req, - mpred, npages, low, high, alignment, boundary)) != NULL) { + (m_ret = vm_reserv_alloc_contig(object, &pages, pindex, + domain, req, npages, low, high, alignment, boundary)) != + NULL) { break; } #endif diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c index e553d115a6d4..a562fd80b4a1 100644 --- a/sys/vm/vm_reserv.c +++ b/sys/vm/vm_reserv.c @@ -510,12 +510,13 @@ vm_reserv_from_page(vm_page_t m) * successor pointer. */ static vm_reserv_t -vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, - vm_page_t mpred, vm_page_t *msuccp) +vm_reserv_from_object(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, vm_page_t *mpredp, vm_page_t *msuccp) { vm_reserv_t rv; - vm_page_t msucc; + vm_page_t mpred, msucc; + mpred = vm_radix_iter_lookup_lt(pages, pindex); if (mpred != NULL) { KASSERT(mpred->object == object, ("vm_reserv_from_object: object doesn't contain mpred")); @@ -524,9 +525,9 @@ vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, rv = vm_reserv_from_page(mpred); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) return (rv); - msucc = TAILQ_NEXT(mpred, listq); - } else - msucc = TAILQ_FIRST(&object->memq); + } + + msucc = vm_radix_iter_lookup_ge(pages, pindex); if (msucc != NULL) { KASSERT(msucc->pindex > pindex, ("vm_reserv_from_object: msucc doesn't succeed pindex")); @@ -534,6 +535,7 @@ vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) return (rv); } + *mpredp = mpred; *msuccp = msucc; return (NULL); } @@ -683,13 +685,13 @@ vm_reserv_populate(vm_reserv_t rv, int index) * The object must be locked. */ vm_page_t -vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, int domain, - int req, vm_page_t mpred, u_long npages, vm_paddr_t low, vm_paddr_t high, - u_long alignment, vm_paddr_t boundary) +vm_reserv_alloc_contig(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, int domain, int req, u_long npages, vm_paddr_t low, + vm_paddr_t high, u_long alignment, vm_paddr_t boundary) { struct vm_domain *vmd; vm_paddr_t pa, size; - vm_page_t m, m_ret, msucc; + vm_page_t m, m_ret, mpred, msucc; vm_pindex_t first; vm_reserv_t rv; u_long allocpages; @@ -723,7 +725,7 @@ vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, int domain, /* * Look for an existing reservation. */ - rv = vm_reserv_from_object(object, pindex, mpred, &msucc); + rv = vm_reserv_from_object(object, pages, pindex, &mpred, &msucc); if (rv != NULL) { KASSERT(object != kernel_object || rv->domain == domain, ("vm_reserv_alloc_contig: domain mismatch")); @@ -830,11 +832,11 @@ out: * The object must be locked. */ vm_page_t -vm_reserv_alloc_page(vm_object_t object, vm_pindex_t pindex, int domain, - int req, vm_page_t mpred) +vm_reserv_alloc_page(vm_object_t object, struct pctrie_iter *pages, + vm_pindex_t pindex, int domain, int req) { struct vm_domain *vmd; - vm_page_t m, msucc; + vm_page_t m, mpred, msucc; vm_pindex_t first; vm_reserv_t rv; int index; @@ -851,7 +853,7 @@ vm_reserv_alloc_page(vm_object_t object, vm_pindex_t pindex, int domain, /* * Look for an existing reservation. */ - rv = vm_reserv_from_object(object, pindex, mpred, &msucc); + rv = vm_reserv_from_object(object, pages, pindex, &mpred, &msucc); if (rv != NULL) { KASSERT(object != kernel_object || rv->domain == domain, ("vm_reserv_alloc_page: domain mismatch")); diff --git a/sys/vm/vm_reserv.h b/sys/vm/vm_reserv.h index 98780efc9d37..1dcf09e6c736 100644 --- a/sys/vm/vm_reserv.h +++ b/sys/vm/vm_reserv.h @@ -45,12 +45,13 @@ /* * The following functions are only to be used by the virtual memory system. */ -vm_page_t vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, - int domain, int req, vm_page_t mpred, u_long npages, - vm_paddr_t low, vm_paddr_t high, u_long alignment, - vm_paddr_t boundary); -vm_page_t vm_reserv_alloc_page(vm_object_t object, vm_pindex_t pindex, - int domain, int req, vm_page_t mpred); +vm_page_t vm_reserv_alloc_contig(vm_object_t object, + struct pctrie_iter *pages, vm_pindex_t pindex, int domain, + int req, u_long npages, vm_paddr_t low, vm_paddr_t high, + u_long alignment, vm_paddr_t boundary); +vm_page_t vm_reserv_alloc_page(vm_object_t object, + struct pctrie_iter *pages, vm_pindex_t pindex, int domain, + int req); void vm_reserv_break_all(vm_object_t object); boolean_t vm_reserv_free_page(vm_page_t m); void vm_reserv_init(void); From nobody Sun Apr 20 23:20:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgkxP6XPwz5tlmJ; Sun, 20 Apr 2025 23:20: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 4ZgkxP5xcqz3yv9; Sun, 20 Apr 2025 23:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745191209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IhCSRo7MR7fYWMYvcszJw7VJgNRlK9h+n2GlH8TPE1E=; b=hORW7p5Y5ZG8ERZohCDcOPzm5Hlb0RMJrHR4htiAVglP3R8WbANhnFHRcw6KbKI+wQNYzC YPAGR5XhT7UsDntSCEBiIPQ03SoqwcYNIYARusSwpmLywkzLkBw3u1U+17p657AAayd3Oo r3Xqrqq9QQYq2rc/QjKQXMz2CJJ+R5MkD0LQvo8kGkwkwfy2tYyohK50tWkY5mZilIYijR 54PjGjNIbIky3xeFGg1g3GNLQXbd5x9sTgvMWx2kpMBJTq6ipITMBTzj4BSQjgiIxADebU +Z/iGHrR+IB8zmfZ1QF3u1WvvVttIdBBSssxxO45VycThbPM4hYIvRdRak8l3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745191209; a=rsa-sha256; cv=none; b=c7nrYUdg/RhpGlyV0A6yEzPPFZ4Bj6OsikS+VrOkMssjZb2ouAM4p0plkFaV3L1GYS+lqg kOjO09ADdsymItVRWTwqYCsgjLRQopu1v/WYXHlgStoj/zaa9DGM3IAbz5eIXnmxtV2gVZ RcJPoD2ScL5Y2/FGiIyb4JcQydfe2hYQwoCw8vTg5p7FHEdSHa4p6shr8JpSTS9qenc8yu WHrQ7HHw3YXtl1DDMn/KCOr+vC6rF3/m2VTBaf5xVMmJd2JRNDxyFmJ4tibwPGNx5imLwi VDDJrvHKjIwVu+Nabpt8H2a5dGXhlx0evSH5GInrXqVvFowYP6TlqH6AKaym9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745191209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IhCSRo7MR7fYWMYvcszJw7VJgNRlK9h+n2GlH8TPE1E=; b=xk41CqmpVLZK040LT1xI4P5MT5vf33cOvGmztnsHyyhY1/8aY+n35589mpC06FpKxmc1Jy GAyq4GUiadxuWW7Sda7PYQgsjALMQJ0H0/aToDdTcW5YK1YlEplF/PA2yHvGA5SQE5xgOV p7aGG6iiQVIZq9tHmClorFcmapa/rrSsxpXep6usFNahXSR9hB7DyF9A+/rkLMeUe9hfuF rJgxLGjPKxi/4igbnNLdBgVTt9ORd20mQYm+fyDeTXaKLbieE+H14Rtktf9so4pCMaPqxH drhU6f+W0xnkIA3gYlfAC8mzF6ljeFjdtpHjLdUizgXjsSq5Wbpom4ucDArWxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgkxP501Pz8hj; Sun, 20 Apr 2025 23:20: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 53KNK9nB059060; Sun, 20 Apr 2025 23:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KNK9F9059055; Sun, 20 Apr 2025 23:20:09 GMT (envelope-from git) Date: Sun, 20 Apr 2025 23:20:09 GMT Message-Id: <202504202320.53KNK9F9059055@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: ee95e4d02dbd - main - vfs_vnops.c: Fix the named attribute check for open List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee95e4d02dbdd59daed46bbf2170897c1c2a8894 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ee95e4d02dbdd59daed46bbf2170897c1c2a8894 commit ee95e4d02dbdd59daed46bbf2170897c1c2a8894 Author: Rick Macklem AuthorDate: 2025-04-20 23:19:05 +0000 Commit: Rick Macklem CommitDate: 2025-04-20 23:19:05 +0000 vfs_vnops.c: Fix the named attribute check for open In vn_open_cred(), the correct check for O_NAMEDATTR was done when O_CREAT was specified, but the file already exists. (Added by commit 2ec2ba7e232d, which will be listed as a Fixes: in the commit log message.) This correct check was not copied to the case where O_CREAT has not been specified. This patch fixes this. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49898 Fixes: 2ec2ba7e232d ("vfs: Add VFS/syscall support for Solaris style extended attributes") --- sys/kern/vfs_vnops.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 4a369559111e..6ad9c75564c3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -222,6 +222,25 @@ open2nameif(int fmode, u_int vn_open_flags) return (res); } +/* + * For the O_NAMEDATTR case, check for a valid use of it. + */ +static int +vfs_check_namedattr(struct vnode *vp) +{ + int error; + short irflag; + + error = 0; + irflag = vn_irflag_read(vp); + if ((vp->v_mount->mnt_flag & MNT_NAMEDATTR) == 0 || + ((irflag & VIRF_NAMEDATTR) != 0 && vp->v_type != VREG)) + error = EINVAL; + else if ((irflag & (VIRF_NAMEDDIR | VIRF_NAMEDATTR)) == 0) + error = ENOATTR; + return (error); +} + /* * Common code for vnode open operations via a name lookup. * Lookup the vnode and invoke VOP_CREATE if needed. @@ -334,17 +353,7 @@ restart: goto bad; } if ((fmode & O_NAMEDATTR) != 0) { - short irflag; - - irflag = vn_irflag_read(vp); - if ((vp->v_mount->mnt_flag & - MNT_NAMEDATTR) == 0 || - ((irflag & VIRF_NAMEDATTR) != 0 && - vp->v_type != VREG)) - error = EINVAL; - else if ((irflag & (VIRF_NAMEDDIR | - VIRF_NAMEDATTR)) == 0) - error = ENOATTR; + error = vfs_check_namedattr(vp); if (error != 0) goto bad; } else if (vp->v_type == VDIR) { @@ -363,10 +372,10 @@ restart: if ((error = namei(ndp)) != 0) return (error); vp = ndp->ni_vp; - if ((fmode & O_NAMEDATTR) != 0 && (vp->v_mount->mnt_flag & - MNT_NAMEDATTR) == 0) { - error = EINVAL; - goto bad; + if ((fmode & O_NAMEDATTR) != 0) { + error = vfs_check_namedattr(vp); + if (error != 0) + goto bad; } } error = vn_open_vnode(vp, fmode, cred, curthread, fp); From nobody Sun Apr 20 23:24:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgl1t2wZRz5tmH2; Sun, 20 Apr 2025 23:24: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 4Zgl1s5jttz42n0; Sun, 20 Apr 2025 23:24:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745191441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YWWDf9pO/DKB+gjcdsrdIMmchD66lus7wi3QNLFb984=; b=v4JPUHbaf4IX3Mz0cshZOWqz4bbRzz0eYO2ECohYJUCuA7+7KjGCg063w7g460ljs4YNyI qUrimVf7RvGdA4NWLUul/xo7tKEKK1P0j2EkFMtTuXuSLWrjOIc0sCFKAWc0furOZqOla/ oqZMwzg/X44kcrJ4BaJspdvs7iRpQWPqtaYFDPXPa2jHMMGZI4iAr0duxHOus30pmUYx1x Vsnt71ajvAbxQE+nMO+VBCPnFA8fnxdkpNzfISmc+esmaFqQndVzfueWOW8qBh0EbWFa84 D9zYXlYfEi/B9H/1quihM8XnRRsB+QQh+K40NO77mrUrVhDWgG1HqJcbPX8r4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745191441; a=rsa-sha256; cv=none; b=saQf2O1D13C/bpT22U/+EEDfmnGhSjKQi2htvNY64/2QrXqzVu2pW5ay60dFvkpbAPkMCW o5CRlOVLfdVUrAjpgkd1+3eBdjABH3N5ufZZLjdKMBvZ7FBTpJs4Yl6Vlla6G1WYJls0WV R5PPG2M1H4e0LjRZOU6lH5jXbj95v1aUccuG5j4pQXCFCfV7CWBZAbVHh8BepoI01VKc2J uB0axe6K8+0BRbOT7MZ+KfUy/gcj0hwq8TZzgmd+1dpXDX7W57JooehcZAWGdAeHGqv/9Y gd7R7DQaxzh1Jy7Y4T7KH1jxvNtdBsqU+AHtdQy4X3az5BIOuAmk0aAH3/hRCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745191441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YWWDf9pO/DKB+gjcdsrdIMmchD66lus7wi3QNLFb984=; b=A5QbeyvQ7bqyaOqc0lH8rkuVqZwUU+hqfmWaF87io3Q03aOLeDEjn7doTKsnaC0Kqt90dr o+mZL7Y7eWe9iXA1Nxa+DvqZW7AbJq3q3yzUd/op40P9W6dET0U6qgGqhFHiLZE/B5eJ19 wnb5bncylpVSZKCrXwZWaiOeLjZfUbL9ZVK/j+eJ1BHlQ/IKzifQntvTG5U/lczzcKe378 DNzjvyGUGENxS56zN7PjI6mzXJs8R75RF9g5jygRieryIiqZytK8Lh5kMSjnlHS+XrEiDW KS0755f07IOlggyoSnylnmelRDRaXPxOBBxq/HOnPIbVece9WwDOkLXu9ia0TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgl1s5BzQz8y7; Sun, 20 Apr 2025 23:24:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53KNO16X072401; Sun, 20 Apr 2025 23:24:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KNO1EG072398; Sun, 20 Apr 2025 23:24:01 GMT (envelope-from git) Date: Sun, 20 Apr 2025 23:24:01 GMT Message-Id: <202504202324.53KNO1EG072398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: b1b607bd200f - main - vfs_vnops.c: Modify the O_NAMEDATTR check for Solaris compatibility List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b1b607bd200fdd23724ec80738e55ad397bbe78f Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b1b607bd200fdd23724ec80738e55ad397bbe78f commit b1b607bd200fdd23724ec80738e55ad397bbe78f Author: Rick Macklem AuthorDate: 2025-04-20 23:22:46 +0000 Commit: Rick Macklem CommitDate: 2025-04-20 23:22:46 +0000 vfs_vnops.c: Modify the O_NAMEDATTR check for Solaris compatibility The Solaris semantics for their O_XATTR flag is to use it for a file object in the file system's namespace to indicate that a named attribute for the file object should be open'd. To do this, the O_NAMEDATTR flag must be allowed with a non-named attribute directory. This patch changes vfs_vnops_cred() to allow this. This patch fixes 2ec2ba7e232d so that Solaris compatible semantics can be implemented by patched ZFS code. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49899 Fixes: 2ec2ba7e232d ("vfs: Add VFS/syscall support for Solaris style extended attributes") --- sys/kern/vfs_vnops.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 6ad9c75564c3..f1d3ba2ac08b 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -285,18 +285,13 @@ restart: if ((error = namei(ndp)) != 0) return (error); if (ndp->ni_vp == NULL) { - if ((fmode & O_NAMEDATTR) != 0) { - if ((ndp->ni_dvp->v_mount->mnt_flag & - MNT_NAMEDATTR) == 0) - error = EINVAL; - else if ((vn_irflag_read(ndp->ni_dvp) & - VIRF_NAMEDDIR) == 0) - error = ENOENT; - if (error != 0) { - vp = ndp->ni_dvp; - ndp->ni_dvp = NULL; - goto bad; - } + if ((fmode & O_NAMEDATTR) != 0 && + (ndp->ni_dvp->v_mount->mnt_flag & MNT_NAMEDATTR) == + 0) { + error = EINVAL; + vp = ndp->ni_dvp; + ndp->ni_dvp = NULL; + goto bad; } VATTR_NULL(vap); vap->va_type = VREG; From nobody Sun Apr 20 23:37:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZglJy2cPQz5tmWQ; Sun, 20 Apr 2025 23:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZglJy1pYZz4BqJ; Sun, 20 Apr 2025 23:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745192226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bagNXtqJFzNZFIFx+raYsDtsKeGRiSiJh06ddiG4Mxc=; b=BQGF9C06myQnRr5BsxxitmiZFzEmTpykjr5CR2f5a4500oCt+SiVP4/DaYcntTeu6NyQK/ /yPPywlLE02c/6wzTHa+wAxjPESt8lvxY33K87Mvr2DcQEZ54Ws0TRhaCpe0T46lChk3Jo 1mo5EGA5X+rLwp7WBysTJkjVsUfIwLFqA+j0qzO0RDBiLXyHHQTZVB9f8B/fLumP5MJwSp rgjo5+fpuvVXfSVYB5+Gp8ATkt2r1xlIe0BKWuhEzxQr7zw5TlSMSBlO9pKZiN+z9P8Rft d8Ay/1aQO/66YvCRlzWaRN3WKenH6R6yDjBmmJ0m/gTKGdf1r/ki8jfcIgsJKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745192226; a=rsa-sha256; cv=none; b=eNR8zx+z58owq89N7o8OSADDsYCCaQaAQLF5laCZD1i/OZ+QpDgHv1iDFt/wm7u9VY1xBh 2F+5Itd3mAuHgg62LA5WwtNhAw0CzvUgeeLtMMOcQY9QwX3S6c8hRX1PEeZNx740CwQH6w EJWKuTVforpQjgoD9FX/9uebOq1rjCSBOHut0C3Tc5ErNm2ZyhnTSIMCCJDp7n/ugdwnTM Cj9m/Hi1DxPLMJXXwqvOOT8xaJ0HQMXJ6QL9cpmb242xm7OBaW2mf+hB74SpBAaeYgebvX jnzdSynYZHt/WB2EzSaXe6MAJ/yeT/EcpZSMe+i/2Wg73WBMHlnNVC5kZG02fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745192226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bagNXtqJFzNZFIFx+raYsDtsKeGRiSiJh06ddiG4Mxc=; b=oKqp/wdcw2lhkG3Fynm8VvxkVmGf8MNMjlMQIzZhW3lpY71MhldvCbHBTXHQWY6wTXwYt1 Hpk0sdX9gslIW6isMW94EqAC3oo7bgdjpYcUvSGB8o++B4YuPD6dH339zkMrS+4kEtfuTO 4G/U7Htc8QtHLNbIMFWHpRdGfK6vJkMf6mfMHsVh5Bgtau/s2xYwEe4kzaqJ8J+WYUN6p3 eGajRGZU3Juv9sVOxPzlEvR8qqHrWnoolPqtOevCvabjoTGIQDefOrKMMtTgOnVDub1K39 2sRKR+JwhOB+tzQqzuXzPPa6HnQljORn3cfyXAJLPgGzyohVofbaS7/+S9kc+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 4ZglJy15hRz9Rt; Sun, 20 Apr 2025 23:37: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 53KNb5eb092485; Sun, 20 Apr 2025 23:37:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53KNb5WB092482; Sun, 20 Apr 2025 23:37:05 GMT (envelope-from git) Date: Sun, 20 Apr 2025 23:37:05 GMT Message-Id: <202504202337.53KNb5WB092482@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: 67f5db4dacfd - main - vm_object: use iterators in split() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 67f5db4dacfd95fb5a2e24afd92c0b1b1550ec7a Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=67f5db4dacfd95fb5a2e24afd92c0b1b1550ec7a commit 67f5db4dacfd95fb5a2e24afd92c0b1b1550ec7a Author: Doug Moore AuthorDate: 2025-04-20 23:36:14 +0000 Commit: Doug Moore CommitDate: 2025-04-20 23:36:14 +0000 vm_object: use iterators in split() Use an iterator, rather than a tailq pointer, for work in vm_object_split(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49934 --- sys/vm/vm_object.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 2f2f77ff075c..6291381ce6b4 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1656,8 +1656,8 @@ retry: * and new_object's locks are released and reacquired. */ swap_pager_copy(orig_object, new_object, offidxstart, 0); - - TAILQ_FOREACH(m, &new_object->memq, listq) + vm_page_iter_init(&pages, new_object); + VM_RADIX_FOREACH(m, pages) vm_page_xunbusy(m); vm_object_clear_flag(orig_object, OBJ_SPLIT);