Merge for updates - #2341
Closed
eekay35 wants to merge 10000 commits into
Closed
Merge for updates#2341eekay35 wants to merge 10000 commits into
eekay35 wants to merge 10000 commits into
Conversation
This is being done for the formatting and context changes. While the net content hasn't been changed, the content/context changes were sufficient to warrant the date bump. MFC after: 1 week MFC with: r368431, r368433, r368434, r368435 Sponsored by: DellEMC Isilon
This has been years in the making, and we all knew it was bound to happen some day. Switch to the BSDL grep implementation now that it's been a little more thoroughly tested and theoretically supports all of the extensions that gnugrep in base had with our libregex(3). Folks shouldn't really notice much from this update; bsdgrep is slower than gnugrep, but this is currently the price to pay for fewer bugs. Those dissatisfied with the speed of grep and in need of a faster implementation should check out what textproc/ripgrep and textproc/the_silver_searcher can do for them. I have some WIP to make bsdgrep faster, but do not consider it a blocker when compared to the pros of switching now (aforementioned bugs, licensing). PR: 228798 (exp-run) PR: 128645, 156704, 166842, 166862, 180937, 193835, 201650 PR: 232565, 242308, 246000, 251081, 191086, 194397 Relnotes: yes, please
As discussed on -current, -stable, -toolchain, and with jhb@ and imp@, disable the obsolete in-tree GDB 6.1.1 by default. This was kept only to provide kgdb for the crashinfo tool, but is long-obsolete, does not support all architectures that FreeBSD does, and held back other work (such as forcing the use of DWARF2 for kernel debug). Crashinfo will use kgdb from the gdb package or devel/gdb port, and will privde a message referencing those if no kgdb is found. Relnotes: Yes Sponsored by: The FreeBSD Foundation
Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268
This is only needed in initarm, we can return this memory to the stack used by mi_startup. Sponsored by: Innivate UK
Rather than hard coding the offset of kern_ttbr0 within arm64_bootparams use a macro like the other fields. Sponsored by: Innovate UK
OpenSSL commit 3db2c9f3: Complain if we are attempting to encode with an invalid ASN.1 template OpenSSL commit 43a7033: Check that multi-strings/CHOICE types don't use implicit tagging OpenSSL commit f960d812: Correctly compare EdiPartyName in GENERAL_NAME_cmp() Obtained from: OpenSSL 3db2c9f3, 43a7033, f960d812 Security: CVE-2020-1971
epoch shall be used only for fast path. Thus use LAGG_XLOCK() in lagg_[un]register_vlan. This fixes sleeping in epoch panic. PR: 240609
…ant defines Replace some hard-coded magic values in the ioctl stats struct with #defines. I'm going to follow up with some more sanity checking in the receive path that also use these values so we don't do bad things if the hardware is (more) confused.
Don't use hard-coded values in the phy error and receive antenna checks.
New Netgraph module ng_macfilter: Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268
- Push the kstack_contains check down into unwind_frame() so that it is honored by DDB and DTrace. - Check that the trapframe for an exception frame is contained in the traced thread's kernel stack for DDB traces. Reviewed by: markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27357
This same check is used on other architectures. Previously this would permit a stack frame to unwind into any arbitrary kernel address (including unmapped addresses). Reviewed by: andrew, markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27362
The definition was copied from amd64, but the layout of the struct differs slightly between these platforms. This fixes spurious `unsupported sigaction flag 0xXXXXXXXX` messages when executing some Linux binaries on arm64. Reviewed by: emaste MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27460
cpuset_rel_defer() is supposed to be functionally equivalent to cpuset_rel() but with anything that might sleep deferred until cpuset_rel_complete -- this setup is used specifically for cpuset_setproc. Add in the missing unr free to match cpuset_rel. This fixes a leak that was observed when I wrote a small userland application to try and debug another issue, which effectively did: cpuset(&newid); cpuset(&scratch); newid gets leaked when scratch is created; it's off the list, so there's no mechanism for anything else to relinquish it. A more realistic reproducer would likely be a process that inherits some cpuset that it's the only ref for, but it creates a new one to modify. Alternatively, administratively reassigning a process' cpuset that it's the last ref for will have the same effect. Discovered through D27498. MFC after: 1 week
The race plays out like so between threads A and B: 1. A ref's cpuset 10 2. B does a lookup of cpuset 10, grabs the cpuset lock and searches cpuset_ids 3. A rel's cpuset 10 and observes the last ref, waits on the cpuset lock while B is still searching and not yet ref'd 4. B ref's cpuset 10 and drops the cpuset lock 5. A proceeds to free the cpuset out from underneath B Resolve the race by only releasing the last reference under the cpuset lock. Thread A now picks up the spinlock and observes that the cpuset has been revived, returning immediately for B to deal with later. Reported by: syzbot+92dff413e201164c796b@syzkaller.appspotmail.com Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27498
cpuset_modify() would not currently catch this, because it only checks that the new mask is a subset of the root set and circumvents the EDEADLK check in cpuset_testupdate(). This change both directly validates the mask coming in since we can trivially detect an empty mask, and it updates cpuset_testupdate to catch stuff like this going forward by always ensuring we don't end up with an empty mask. The check_mask argument has been renamed because the 'check' verbiage does not imply to me that it's actually doing a different operation. We're either augmenting the existing mask, or we are replacing it entirely. Reported by: syzbot+4e3b1009de98d2fabcda@syzkaller.appspotmail.com Discussed with: andrew Reviewed by: andrew, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27511
This is addressing cases such as fts_read(3) encountering an [EIO] from fchdir(2) when FTS_NOCHDIR is not set. That would otherwise be seen as a successful traversal in some of these cases while silently discarding expected work. As noted in r264201, fts_read() does not set errno to 0 on a successful EOF so it needs to be set before calling it. Otherwise we might see a random error from one of the iterations. gzip is ignoring most errors and could be improved separately. Reviewed by: vangyzen Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D27184
Summary: r358689 attempted to fix a clang warning/error by inferring the intent of the condition "(cdb[0] != 0x28 || cdb[0] != 0x2A)". Unfortunately, it looks like this broke things. Instead, fix this by making this path unconditional, effectively reverting to the previous state. PR: kern/251483 Reviewed By: ambrisko MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D27515
directory to allow properly building *.iso and *.img files. Sponsored by: Rubicon Communications, LLC (netgate.com)
Update unbound from 1.12.0 to 1.13.0 MFC after: 1 week Security: CVE-2020-28935
This was part of D27325. Reviewed by: kib
- function name without markup: return() - function name without markup: print() MFC after: 1 week
- missing comma before name: Nm ofw_bus_is_compatible_strict - missing comma before name: Nm ofw_bus_node_is_compatible - missing comma before name: Nm ofw_bus_search_compatible - skipping paragraph macro: Pp after Sh MFC after: 1 week
- missing comma before name: Nm ofw_bus_status_okay - missing comma before name: Nm ofw_bus_node_status_okay - skipping paragraph macro: Pp after Sh MFC after: 1 week
- missing comma before name: Nm SYSCTL_UQUAD - bad NAME section content: text MFC after: 1 week
…der reversal. MFC after: 1 week Reported by: Mark Millard <marklmi@yahoo.com> Sponsored by: Mellanox Technologies // NVIDIA Networking
- sections out of conventional order: Sh SEE ALSO MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking
…ction - inserting missing end of block: Ss breaks Bl - skipping paragraph macro: Pp before Ss - referenced manual not found: Xr nvme 4 (2 times) - unknown standard specifier: St The The macro .St can only be used for standards known by mdoc(7). So add a SEE ALSO section and add a reference to the NVM Express Base Specification. MFC after: 2 weeks
- unusual Xr punctuation: none before traceroute6(8)
- no blank before trailing delimiter - missing section argument: Xr inet_pton - skipping paragraph macro: Pp before Ss - unusual Xr order: syslogd after sysrc - tab in filled text There were a few multiline NAT examples which used the .Dl macro with tabs. I converted them to .Bd, which is a more suitable macro for that case. MFC after: 1 week
MFC after: 3 days
MFC after: 3 days
- no blank before trailing delimiter MFC after: 1 week
MFC after: 1 week
- new sentence, new line - no blank before trailing delimiter MFC after: 1 week
The comment before the .Dd macro was missing a quotation mark, so that the date of the man page was always today. MFC after: 3 days
MFC after: 1 week
MFC after: 1 week
- new sentence, new line - sections out of conventional order: Sh FILES - unusual Xr order: bthost(1) after bthidd(8) - no blank before trailing delimiter - whitespace at end of input line - sections out of conventional order: Sh EXIT STATUS MFC after: 1 week
- new sentence, new line - function name without markup: rtalloc() - function name without markup: VOP_RECLAIM() MFC after: 1 week
- Add missing quotation mark for a comment above the .Dd - inserting missing end of block: Sh breaks Bd - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp before Bd - empty block: Bd MFC after: 1 week
- new sentence, new line - unusual Xr order: ioctl(2) after da(4) - unusual Xr order: sysexits(3) after nda(4) MFC after: 1 week
- varios "new sentence, new line" warnings - varios "sections out of conventional order" warnings - varios "unusual Xr order" warnings - varios "missing section argument" warnings - varios "no blank before trailing delimiter" warnings - varios "normalizing date format" warnings MFC after: 1 month
When ktls_bind_thread is 2, we pick a ktls worker thread that is bound to the same domain as the TCP connection associated with the socket. We use roughly the same code as netinet/tcp_hpts.c to do this. This allows crypto to run on the same domain as the TCP connection is associated with. Assuming TCP_REUSPORT_LB_NUMA (D21636) is in place & in use, this ensures that the crypto source and destination buffers are local to the same NUMA domain as we're running crypto on. This change (when TCP_REUSPORT_LB_NUMA, D21636, is used) reduces cross-domain traffic from over 37% down to about 13% as measured by pcm.x on a dual-socket Xeon using nginx and a Netflix workload. Reviewed by: jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21648
In order to efficiently serve web traffic on a NUMA machine, one must avoid as many NUMA domain crossings as possible. With SO_REUSEPORT_LB, a number of workers can share a listen socket. However, even if a worker sets affinity to a core or set of cores on a NUMA domain, it will receive connections associated with all NUMA domains in the system. This will lead to cross-domain traffic when the server writes to the socket or calls sendfile(), and memory is allocated on the server's local NUMA node, but transmitted on the NUMA node associated with the TCP connection. Similarly, when the server reads from the socket, he will likely be reading memory allocated on the NUMA domain associated with the TCP connection. This change provides a new socket ioctl, TCP_REUSPORT_LB_NUMA. A server can now tell the kernel to filter traffic so that only incoming connections associated with the desired NUMA domain are given to the server. (Of course, in the case where there are no servers sharing the listen socket on some domain, then as a fallback, traffic will be hashed as normal to all servers sharing the listen socket regardless of domain). This allows a server to deal only with traffic that is local to its NUMA domain, and avoids cross-domain traffic in most cases. This patch, and a corresponding small patch to nginx to use TCP_REUSPORT_LB_NUMA allows us to serve 190Gb/s of kTLS encrypted https media content from dual-socket Xeons with only 13% (as measured by pcm.x) cross domain traffic on the memory controller. Reviewed by: jhb, bz (earlier version), bcr (man page) Tested by: gonzo Sponsored by: Netfix Differential Revision: https://reviews.freebsd.org/D21636
This is the last Subversion commit to src. Sponsored by: The FreeBSD Foundation
Dear all, the FreeBSD project has switched their source of truth repository from Subversion to Git on 2020-12-23. The previously published commit hashes were missing required merge commits and were thus unsuitable to be the basis of the source of truth repository. They had to be changed (aka "force pushed"). We're sorry for the inconvenience this causes. The `master` branch will no longer see any updates and we will push to `main` going forward. The `stable/X` and `releng/X` branches will see a force-push directly. To transplant your work, it is recommended to head over to the wiki at https://github.com/freebsd/git_conv/wiki for instructions on how to rebase or remerge your in-flight work. A short outline will be provided below. Please note that the actual git "trees" are of course identical between the old and new conversions, so it's relatively easy to craft git commits that merge or rebase the work w/o any merge conflicts. Please reach out to git@FreeBSD.org or file an issue under https://github.com/freebsd/git_conv/issues if you need assistance. The mapping of the old to new commit hashes (for the same tree) are given below. We have archived a copy of the legacy repo under https://github.com/freebsd/freebsd-legacy which you can add as a remote to always have a reference to the old `master` or `stable/X` branches and names. This is a merge commit that brings both histories together, giving you common history ancestors, which should help with later merging. You should be able to cleanly merge into this "legacy" master, and then merge into "main" following from that. All the following commands assume you've checked out your own workbranch. -- Merge from master to main -- $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git merge freebsd-legacy/master (this convenience commit) $ git merge origin/main -- Merge for stable/X or releng/Y branches -- $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git merge freebsd-legacy/stable/X (to get to the legacy hashes from below) $ git merge -s ours --allow-unrelated-histories <new-hash-from-below> (this is guaranteed conflict free) $ git merge origin/stable/X PLEASE NOTE: You'll end up with twice the history and git log output will show old history twice and will likely confuse you. Please make an effort to migrate your work over to a fresh branch based off of main. A git replace --graft can be used to at least patch up git log output. -- Rebase your work -- Only for folks that always rebase their local work on top of an origin branch. $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git branch -u freebsd-legacy/master $ git rebase --onto origin/main <your_rebased_work_branch> -- Old to new hash mappings -- BRANCH LEGACY HASH NEW HASH master / main 9e4440c 3cc0c0d stable/10 10f4a6c 3ad46d0 stable/11 a76e2a3 46062cb stable/12 f262e04 f4d0bc6 releng/10.0 fcf0364 0099f6f releng/10.1 a5b8a0c a9b4be2 releng/10.2 14e67f3 2a34883 releng/10.3 57fbb64 8411c9a releng/10.4 976886d d869f4a releng/11.0 bc72ed6 8d2708d releng/11.1 d3b778b 3e9337c releng/11.2 24e8638 c0d2bc3 releng/11.3 b43bbc1 9e63140 releng/11.4 9332e02 4adbf1f releng/12.0 58cdccd 12b769e releng/12.1 c522014 e30782b releng/12.2 30ef47e 2120d07 -- Again, we're sorry for the inconvenience, please reach out via GitHub issues and the mailing list to get further help in transplanting your work onto the one true, canonical, source of truth. Good luck in 2021! Ulrich Spörlein, on behalf of the FreeBSD Git working group.
commented
Jul 28, 2026
|
Thank you for taking the time to contribute to FreeBSD! There is an issue that needs to be resolved:
Note Please review CONTRIBUTING.md, then update and push your branch again. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge for updates