This is a display of mostly-automatically-classified git commits from 2025-10-27 to 2025-11-02.
In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification would be most useful.
Table of contents and commits per category:
| (0) | Highlighted commits (these are copies, not in stats) | |
| 5 | 2.3% | Userland programs |
| 27 | 12.4% | Documentation |
| 34 | 15.7% | Hardware support |
| 23 | 10.6% | Networking |
| 10 | 4.6% | System administration |
| 12 | 5.5% | Libraries |
| 9 | 4.1% | Filesystems |
| 19 | 8.8% | Kernel |
| 10 | 4.6% | Build system |
| 2 | 0.9% | Internal organizational stuff |
| 4 | 1.8% | Testing |
| 48 | 22.1% | Style, typos, and comments |
| 6 | 2.8% | Contrib code |
| 8 | 3.7% | Reverted commits |
| 0 | 0.0% | Unclassified commits |
| 217 | 100% | total |
| Technical notes about this page |
For extra visibility, these are copies of commits found in
other sections. Most (if not all) come from the commit message
containing "Relnotes:", or commits modifying
UPDATING.
-- no commits in this category this week --
Commits about commands found in man section 1 (other than networking).
* On startup, insert all valid PIDs into a tree. * In our main loop, whenever a process terminates, remove its PID from the tree. * On exit, if the -p flag was specified, print the remaining PIDs. MFC after: 3 days Reviewed by: bcr, markj Differential Revision: https://reviews.freebsd.org/D53293
id: Clean up No functional change intended. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D53300
id: Fix WITHOUT_AUDIT build Rather than add more ifdefs, trust the compiler to optimize Aflag away. Fixes: https://cgit.freebsd.org/src/commit/?id=70b72ede982f ("id: Clean up") PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290740 MFC after: 3 days
These options may not be combined with any other options and print the current or specified user's home directory and shell respectively. Reviewed by: imp, bcr Differential Revision: https://reviews.freebsd.org/D53301
The first argument to nmount(2) is an nvlist in the form of an iovec, which truss already knows how to decode. Set the correct flag so this happens automatically. MFC after: 1 week PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290667
Man pages, release notes, etc.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53240
The comment in sys/vnode.h describes the v_op member as "vnode operations vector", so use "operations" instead of "operation" here. Reviewed by: bcr MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53333
It was not actually removed prior to FreeBSD 15.0. Sponsored by: The FreeBSD Foundation
It was not actually removed prior to FreeBSD 15.0. Sponsored by: The FreeBSD Foundation
MFC after: 3 days
MFC after: 3 days
MFC after: 3 days Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D53411
The examples only show the usage of `-c <numcpus>`, as did the flag description, however the -c flag supports more complex cpu topology specifiers. These were documented correctly in SYNOPSIS, add them to the body of the DESCRIPTION as well. Someone could go further and do and example with using them. MFC after: 3 days Event: OpenZFS Developer Summit '25 Reported by: Levi Worley <levi@gainframe.com>
MFC after: 3 days
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289113 MFC after: 3 days
Block devices are a thing of a past in FreeBSD. Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53332
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D46023
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D45730
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D45693
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D46139
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz, Jari Sihvola <jsihv@gmx.com> Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D46230
index() and strchr() are implemented by calling strchrnul(), so they also get to be marked as platform-specific. MFC after: 1 month MFC to: stable/15 Approved by: markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D46047
Event: Google Summer of Code 2024 MFC after: 1 month MFC to: stable/15 Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D53248
Tracing bio_bcount makes little sense for some devices like for example
md(4), as it is set to "0" instead of to the actual I/O length.
markj@ suggested the following DTrace one-liner to identify some cases
where bio_length is set but bio_bcount is not:
dtrace -n 'io:::start /args[0]->bio_length != args[0]->bio_bcount/{printf("%d %d", args[0]->bio_length, args[0]->bio_bcount); stack();}'
For future reference in the context of bio_length vs bio_bcount,
phk@ mentioned in the code review that:
> the original intent was to get rid of of bio_bcount
Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D53365
Sponsored by: Netflix
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE name for pathconf, to indicate if case insensitive lookups are configured. This patch documents this new name and also updates the description for _PC_HAS_HIDDENSYSTEM to also include UF_ARCHIVE. This is a content change. Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53508
Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53417
The ordering point is not the atomic operation itself, but the load for acquire or store for release done as part of the atomic. This does not matter for atomic_load_acq and atomic_store_rel, but does matter for RWM operations. Noted by: alc Reviewed by: markj Discussed with: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D52744
Reviewed by: markj Discussed with: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D52744
Hardware drivers and architecture-specific code.
Otherwise we go out of bounds and keep incrementing endlessly. Sponsored by: The FreeBSD Foundation MFC after: 4 days Differential Revision: https://reviews.freebsd.org/D53337
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53321
arm64: Include armreg.h in db_disasm.c It is needed for INSN_SIZE. Include it directly rather than depending on header pollution. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53322
arm64: Remove armreg.h from db_machdep.h There is nothing in this file that needs armreg.h Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53323
arm64: Split out accessing special registers We shouldn't need to include armreg.h just to access special registers that are not defined in this file. Split out the parts that should be common with arm64.h and hypervisor.h. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53324
arm64: Use _armreg.h in cpu.h We only needed armreg.h for the *_SPECIALREG macros. Use the new _armreg.h directly. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53325
Move ofw_cpu to BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE so it can be used by other devices. Reviewed by: jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53328
This allows it to be referenced by other devices. Reviewed by: jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53329
Add subdevice ID and branding string for E835-XXV-4 adapter. Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Approved by: kbowling (mentor), erj (mentor) Sponsored by: Intel Corporation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53319
Once an interrupt source is registered it's never deregistered. However, when an MSI is released the pointer for it becomes NULLed out, resulting in a NULL pointer dereference when attempting to disable the now-released MSI source. Add NULL check to avoid this. Reviewed by: kib Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51624
This works on older arm64 platforms, but may not work with arm64 devices using GICv3, due to a quirk in the GICv3, where some registers are write-once. Most of the kexec reboot work on arm64 can be done entirely in C code, by disabling the MMU, as the kernel is carved out of the vm_phys_segs array, so cannot be overwritten. Reviewed by: andrew Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51621
The biggest difference between this and arm64 kexec is that we can't disable the MMU for amd64, we have to instead create a new "safe" page table that the trampoline and "child" kernel can use. This requires a lot more work to create identity mappings, etc. Reviewed by: kib Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51623
kexec hasn't been ported to these architectures, yet, so appease the build with dummy headers. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51625
Otherwise we allow to trigger an MPASS() by a userland sysctl, e.g. hw.acpi.power_button_state=NONE. This does not bring fully compatibility, where as before 97d152698f483 setting to 'NONE' actually meant disabling any action on a power or sleep button. Now sysctl will fail, but with this change it won't at least panic. Aymeric may come with a better fix. Fixes: https://cgit.freebsd.org/src/commit/?id=97d152698f4831db5a94d55c15233330c188feda
- Add a compatible string; - Fix build. Tested on Codasip X730 64-bit RISC-V CHERI Application CPU using onboard nvme(4) device. Differential Revision: https://reviews.freebsd.org/D53295
Remove twice included but unneeded explicit sys/param.h. Sort. Sponsored by: The FreeBSD Foundation MFC after: 3 days
In vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find(). Existing callers expect to map the GPA that they passed, whereas vm_map_find() merely treats the GPA as a hint. Also check for overflow and remove a test for first < 0 since "first" is unsigned. In vmm_mmio_alloc(), return an error number instead of an object pointer, since the sole caller doesn't need the pointer. As in vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find() and validate parameters. This function is not directly reachable via ioctl(), but we ought to be careful anyway. Reviewed by: corvink, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D53246
The storage subsystem really wants one of a very small number of I/O errors. And since we started to do this I/O, EIO is the right error to return. Other errors may get different and weirder treatment up the stack, or even converted to just EIO. So remove this TODO comment that's been there since the initial nvme driver commit. It wouldn't be helpful to do this, and could likely hurt. Sponsored by: Netflix
Use bus_generic_detach instead of bus_detach_children so the children actually get deleted. Reviewed by: jhb MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D52305
Implement bus_child_deleted and attach the gpio_aei dev to it's ACPI handle. Reviewed by: wulf Differential Revision: https://reviews.freebsd.org/D51585
When nhi fails to attach on one of my systems (X1 Carbon 6th gen), an interrupt races with the teardown code such that the rings have been freed by nhi_detach() before an interrupt triggers. At the time of the crash, the thread invoking nhi_attach() is blocked in bus_teardown_intr() from nhi_pci_free() waiting for the interrupt thread to finish executing the handler. To fix, don't just disable the interrupts in nhi_detach(), but actually tear the handlers down and disable MSI-X before freeing the rings. Reviewed by: obiwac Differential Revision: https://reviews.freebsd.org/D53201
* Create macros for error, info, warn, trace / debug * Migrate existing printf() logging to use the above macros * Add a sysctl knob to control it at runtime This is based on work done in https://reviews.freebsd.org/D37878 . Submitted by: Marco Devesas Campos <devesas.campos@gmail.com> Differential Revision: https://reviews.freebsd.org/D53371
Spotted while examing this driver. Remove some end of line spaces/tabs. Replace some spaces which should instead be tabs. Reviewed by: jhibbits MFC after: 2 weeks
intr/powerpc: create openpic_class kobj Using kobj allows implementing most PIC functions merely by inheriting from the parent class. As there are multiple OpenPIC implementations, this ensures all common hooks go through by default. Note, this adds the suspend/resume functions to other PICs. This should be harmless as suspend/resume isn't working on the devices anyway. Reviewed by: jhibbits MFC after: 2 weeks
powerpc: Move openpic_intr, since it's hidden now Last minute change by me (diff reduction), that I didn't build. This was in the original commit. Fixes: https://cgit.freebsd.org/src/commit/?id=8fb1789612 ("intr/powerpc: create openpic_class kobj") MFC after: 2 weeks X-MFC-with: 8fb1789612
The NVMe spec allows the Table BIR (TBIR) and PBA DIR (PBIR) to be 0, 4, or 5. The existing NVMe driver basically only has support for 4, perhaps under the assumption that BAR4 is 64-bit and also occupies BAR5. This change adds support for BAR5, covering the case where BAR4 and BAR5 might both be present and 32-bit, where the Table BIR might be 4 and the PBA BIR might be 5, or vice versa. The NVMe spec (in the SR-IOV section) also permits VFs to use BIR=2, so I haven't added stricter checks on which BIR will be permitted by the driver. This enables FreeBSD on Google Compute Engine C4 Machines. MFC after: 3 days Reviewed by: imp Sponsored by: Google Co-authored-by: Matt Delco <delco@google.com> Signed-off-by: Jasper Tran O'Leary <jtranoleary@google.com> Differential Revision: https://reviews.freebsd.org/D53140
The contents of the memory is an output, but the pointer to that memory is an input. This was correct in the original version of D45697, but when adding appropriate clobbers, the pointer operand was incorrectly switched to an output rather than left an input for fpe_store. Reviewed by: jrtc27 Obtained from: CheriBSD Fixes: https://cgit.freebsd.org/src/commit/?id=44d4ee7f3dad ("riscv: add FPE code.") MFC after: 1 day Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D53441
aplic_max_cpu_count() just returns the VM's max vCPU count, and vm_alloc_vcpu() already checks that. Just remove this check so that it's easier to merge vm_alloc_vcpu() into MI code. If the APLIC really does require us to lower the limit, we should instead adjust vm->maxcpu in vm_create(). No functional change intended. Reviewed by: br MFC after: 1 week Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D53496
A regression in the u-boot-provided JH7110 device tree leaves the uart
incorrectly configured.
The issue arises when a baud rate is specified ('current-speed'
property), but the rclk value is not ('clock-frequency'). Previous
releases, e.g. v2025.04, provided both.
The alternative way to retrieve this value is to query the parent clock,
but our clk framework is not available during early console probing and
configuration.
In this instance, we end up defaulting to DEFAULT_RCLK in ns8250_init(),
which is the wrong value. The relevant uart class (uart_snps) should
provide a default rclk in its definition, but it does not. Add a new
variant class with the correct default rclk of 24000000.
Finally, uart_cpu_fdt_probe() needs to be updated to actually query this
default value when it does not find a 'clock-frequency' property. This
was simply missing; the ACPI uart bus behaves identically, see
uart_acpi_probe().
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289978
Reported by: rdunkle@smallcatbrain.com
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53119
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290421 MFC After: 3 days
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290688 MFC After: 3 days
Ensure that the number of elements of random_source_descr[] and fxrng_ent_char[] matches that of enum random_entropy_source. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D53255
Network-related commands, library, and kernel.
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr> Sponsored by: Defenso Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52541 Pull Request: https://github.com/freebsd/freebsd-src/pull/1880
The handlers were not checking that the group names are nul-terminated. Add checks for this. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: zlei MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53344
These structures are copied out to userspace, and it's possible to leak uninitialized stack bytes since these routines and their callers weren't careful to clear them first. Add memsets to avoid this. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: kp, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53342
MFC after: 1 week
The current IPFW version 3 dates to 2010 (commit cc4d3c30ea28, "Bring in the most recent version of ipfw and dummynet, developed"). The compat code for FreeBSD 8 and earlier has a number of issues and is no longer needed, so remove it. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: ae, glebius Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53343
When adding a syncache entry, take a reference count of the credentials while the inp is still locked. Thanks to markj@ for providing a hint regarding the root cause. Reported by: David Marker Reviewed by: glebius Tested by: David Marker Fixes: https://cgit.freebsd.org/src/commit/?id=cbc9438f0505 ("tcp: improve ref count handling when processing SYN") MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53380
Unterminated strings in the anchor or name could cause crashes.
Validate them, and add a test case.
Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after: 3 days
Sponsored by: Rubicon Communications, LLC ("Netgate")
Both for the DIOCADDSTATE ioctl and for states imported through pfsync packets.
Add a test case to exercise this code path.
Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after: 3 days
Sponsored by: Rubicon Communications, LLC ("Netgate")
Returning an error causes premature termination of if_foreach_sleep() loop over the interfaces. Whatever problem we have with the specific interface trying to install an element, should not prevent an attempt to install the same element into all other interfaces. Noted by: Ariel Ehrenberg Sponsored by: NVidia networking MFC after: 1 week
New-style address translation is done by nat-to and rdr-to actions on normal match and pass rules. Those rules, when used without address translation, can be specified without direction. But that allows users to specify pre-routing nat and post-routing rdr. This case is not handled properly and causes pre-routing nat to modify destination address, as if it was a rdr rule, and post-routing rdr to modify source address, as if it was a nat rule. Ensure that nat-to action modifies source address and rdr-to destination address no matter in which direction the rule is applied. The man page for pf.conf already specifies that nat-to and rdr-to rules should be limited to respective directions. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288577 Reviewed by: kp MFC after: 3 days Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D53216
Source nodes redirect (nat-to, rdr-to, route-to) all further connections matching the rule which has created the source node. The source node is valid as long as there are states resulting from the rule or until the source node lifetime expires. When the rule's redirection pool is modified (e.g. table contents are changed) the source node is still valid and it will redirect new connections to invalid target (e.g. a dead next-hop). When performing source tracking after finding a source node check if the redirection address still exists in pool of the rule which has created this node. If not, delete the source node. This will result in finding a new redirection address and creation of a new source node. Reviewed by: kp Obtained from: OpenBSD Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D53231
Reviewed by: tuexen MFC after: 3 days Sponsored by: Netflix, Inc.
The list of addresses is potentially very large. Larger than we can fit in a
single netlink request, so we indicate via the PFR_FLAG_START/PFR_FLAG_DONE
flags when we start and finish, so the kernel can work out which addresses need
to be removed.
Sponsored by: Rubicon Communications, LLC ("Netgate")
Apply openssh-portable commit 8b6c1f402feb by deraadt@openbsd.org Obtained from: openssh-portable PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288773 Reported by: wosch Sponsored by: The FreeBSD Foundation
Add four missing flags (INP_BINDANY, INP_INHASHLIST, INP_RESERVED_0, INP_BOUNDFIB) used in inp_flags and remove one flag (INP_ORIGDSTADDR), which is actually a flag used in inp_flags2 and not in inp_flags. Reviewed by: markj MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53498
ddb: optionally print inp when printing tcpcb Add /i option to the ddb commands show tcpcb and show all tcpcbs, which enables the printing of the t_inpcb. Reviewed by: markj MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53497
ddb: fix compilation Fixes: https://cgit.freebsd.org/src/commit/?id=9aa5a79e2af9 ("ddb: optionally print inp when printing tcpcb") Sponsored by: Netflix, Inc.
m_pullup() here will have freed the mbuf chain, but we pass back an IP_FW_DENY without any signal that the outer loop should finish. Thus, rule processing continues without an mbuf and there's a chance that we conclude that the packet may pass (but there's no mbuf remaining) depending on the rules that follow it. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284606 Reviewed by: ae MFC after: 1 week
Add "-F" parameter that, when specified, instructs sockstat(1) to only display sockets for username/UID specified. For consistency with "-j", the last occurence of "-F" is used. Reviewed by: asomers Approved by: asomers Differential Revision: https://reviews.freebsd.org/D53458
After commit 530c2c30b0c7 we need to set flags to ensure that hop-by-hop and hop limit options are included. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290407 Reviewed by: zlei, markj MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=530c2c30b0c7 ("ip6_output: Reduce cache misses on pktopts")
This is much more compact. Thanks to markj@ for suggesting the change. Reviewed by: markj MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53507
This is much more compact. Thanks to markj@ for suggesting the change. Reviewed by: markj, Peter Lei, imp, Nick Banks MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53510
* shuffle around the inp_label to give inp_flags more space since it can become long. * fix the indentation of in6p_icmp6filt, in6p_cksum, and in6p_hops. Reviewed by: Peter Lei MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53541
Stuff in man section 8 (other than networking).
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr> Reviewed by: markj MFC after: 1 month Sponsored by: Defenso Differential Revision: https://reviews.freebsd.org/D52542 Pull Request: https://github.com/freebsd/freebsd-src/pull/1880
The failed allocation in the error pertains to IP_FW_XADD, not IP_FW_ADD. Reviewed by: ae Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53359
The blocklist daemon depends on a packet filter in order to block. Add all supported packet filters to the REQUIRE line, not just pf, to indicate rcorder(8) that it should start after the packet filter service has started. While here, change the mode of the rc file to include the executable bit, just like the rest of the files in the rc.d source directory. Reviewed by: 0mp MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D53364
All of the do_cmd() calls are in dummynet.c and specify the socket option at compile time; none of these removed cases are used in ipfw after the v3 work. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53378
Avoid emitting a warning if there is no Ethernet anchor. If the anchor --regardless of its type-- is nonexistent, should be caught earlier. This can be misleading when there is a layer 3 anchor but not an Ethernet anchor, giving the user the impression that there is no layer 3 anchor with that name. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280516 Approved by: kp MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D53360
Instead of sleeping after pwait returns, use its new -p option to obtain the list of processes that still have not terminated. MFC after: 3 days PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290357 Fixes: https://cgit.freebsd.org/src/commit/?id=5953e7c98427 ("rc.subr: Move the sleep in wait_for_pids") Reviewed by: 0mp, markj Differential Revision: https://reviews.freebsd.org/D53294
It is deprecated but was not removed prior to 15.0. Sponsored by: The FreeBSD Foundation
Commit 53d0b9e438bc ("pmc: Provide full path to modules from kernel
linker") made pmcstat's -k option have no effect, but the option was
retained for backwards compatibility (while emitting a warning that
-k is not in FreeBSD 15).
Reviewed by: jrtc27
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53397
Arm restore atexit(3) handler if and only if the pf(4)
limits are being changed to prevent bogus error messages
on stderr.
OK @bluhm
Obtained from: OpenBSD, sashan <sashan@openbsd.org>, 67a69daaf0
Sponsored by: Rubicon Communications, LLC ("Netgate")
Files read by '.' cannot workout for themselves where they are or what they are called, so set dot_dir and dot_file to pass this information to them. Reviewed by: obrien, stevek Differential Revision: https://reviews.freebsd.org/D53476
Set the number of rulesets (i.e., anchors) directly attached to the anchor and its path in pfctl_get_ruleset(). While here, add a test to document this behavior. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290478 Reviewed by: kp Fixes: https://cgit.freebsd.org/src/commit/?id=041ce1d690f1 ("pfctl: recursively flush rules and tables") MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D53358
MAC policies, like mac_biba(4), may forbid changing the login class once a label has been applied. For setting up the initial login context, this isn't really expected and in-fact may break some class-based configuration. Defer setting the MAC label until after the login class is set, and remove the requirement that we have a pwd entry since the label is pulled from the login class -- we only use pwd for syslog in this path. Patch is largely by Kevin Barry, with some modifications and this commit message by kevans@. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=177698 Reviewed by: des, olce MFC after: 3 days Co-authored-by: Kevin Barry <ta0kira gmail com> Differential Revision: https://reviews.freebsd.org/D53362
We don't support CPU hotplug, but we do support cpuset(8) restrictions on jails (including prison0, which uses cpuset 1). The process cannot widen its cpuset beyond its root set, so it makes sense to instead report the number of cpus enabled there rather than the total number in the system. This change is effectively a nop for the majority of systems and jails in the wild, though it does reduce the performance of this query now that we can't take advantage of AT_NCPUS being provided in the auxinfo. The implementation here is notably different than Linux, which would not take cgroups into account. They do, however, take CPU hotplug into account, so the possibility for it to diverge from (and be lower than) the # configured count to reflect what the process can actually be scheduled on doesn't really diverge in semantics. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D52295
Implements strrchr in RISC-V assembly, leading to the following
improvements (performance measured on SiFive HF105-001)
os: FreeBSD
arch: riscv
│ strrchr_baseline │ strrchr_scalar │
│ sec/op │ sec/op vs base │
Short 837.2µ ± 1% 574.6µ ± 1% -31.37% (p=0.000 n=20+21)
Mid 639.7µ ± 0% 269.7µ ± 0% -57.84% (p=0.000 n=20+21)
Long 589.1µ ± 0% 176.7µ ± 0% -70.01% (p=0.000 n=20+21)
geomean 680.8µ 301.4µ -55.73%
│ strrchr_baseline │ strrchr_scalar │
│ MiB/s │ MiB/s vs base │
Short 149.3 ± 1% 217.6 ± 1% +45.71% (p=0.000 n=20+21)
Mid 195.4 ± 0% 463.6 ± 0% +137.22% (p=0.000 n=20+21)
Long 212.2 ± 0% 707.4 ± 0% +233.40% (p=0.000 n=20+21)
geomean 183.6 414.7 +125.88%
MFC after: 1 month
MFC to: stable/15
Approved by: mhorne, markj (mentor)
Sponsored by: Google LLC (GSoC 2024)
Differential Revision: https://reviews.freebsd.org/D47275
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D47275
Added an optimized memchr() implementation in RISC-V assembly and updated
the relevant manpage.
│ memchr_baseline │ memchr_scalar │
│ sec/op │ sec/op vs base │
Short 636.6µ ± 1% 495.9µ ± 1% -22.10% (p=0.000 n=20)
Mid 279.7µ ± 1% 224.1µ ± 1% -19.87% (p=0.000 n=20)
Long 138.8µ ± 0% 124.9µ ± 0% -10.00% (p=0.000 n=20)
geomean 291.3µ 240.3µ -17.48%
│ memchr_baseline │ memchr_scalar │
│ B/s │ B/s vs base │
Short 187.3Mi ± 1% 240.4Mi ± 1% +28.37% (p=0.000 n=20)
Mid 426.2Mi ± 1% 531.9Mi ± 1% +24.79% (p=0.000 n=20)
Long 859.0Mi ± 0% 954.4Mi ± 0% +11.11% (p=0.000 n=20)
geomean 409.3Mi 496.0Mi +21.19%
MFC after: 1 month
MFC to: stable/15
Approved by: mhorne, markj (mentor)
Reviewed by: fuz
Sponsored by: Google LLC (GSoC 2024)
Differential Revision: https://reviews.freebsd.org/D46023
Adds scalar implementation of memset for RISC-V
and updates the relevant manpage
os: FreeBSD
arch: riscv
│ ./results/memset/memset_baseline │ ./results/memset/memset_scalar │
│ sec/op │ sec/op vs base │
40 527.5µ ± 1% 479.4µ ± 1% -9.12% (p=0.000 n=20)
168 254.5µ ± 1% 216.7µ ± 1% -14.86% (p=0.000 n=20)
2k 169.5µ ± 1% 128.4µ ± 0% -24.24% (p=0.000 n=20)
256k 161.2µ ± 1% 118.6µ ± 1% -26.42% (p=0.000 n=20)
16m 56.58m ± 0% 53.91m ± 0% -4.72% (p=0.000 n=20)
geomean 730.2µ 611.2µ -16.29%
│ ./results/memset/memset_baseline │ ./results/memset/memset_scalar │
│ B/s │ B/s vs base │
40 452.0Mi ± 1% 497.3Mi ± 1% +10.04% (p=0.000 n=20)
168 936.9Mi ± 1% 1100.4Mi ± 1% +17.45% (p=0.000 n=20)
2k 1.373Gi ± 1% 1.813Gi ± 0% +32.00% (p=0.000 n=20)
256k 1.444Gi ± 1% 1.962Gi ± 1% +35.91% (p=0.000 n=20)
16m 269.7Mi ± 0% 283.1Mi ± 0% +4.96% (p=0.000 n=20)
geomean 750.1Mi 896.1Mi +19.47%
MFC after: 1 month
MFC to: stable/15
Approved by: mhorne, markj (mentor)
Reviewed by: fuz
Sponsored by: Google LLC (GSoc 2024)
Differential Revision: https://reviews.freebsd.org/D45730
Includes a scalar implementation of strlen() for the RISC-V architecture and changes to the corresponding manpage. Performance was benchamarked using before and after: https://github.com/clausecker/strperf os: FreeBSD arch: riscv │ strlen_baseline │ strlen_scalar │ │ sec/op │ sec/op vs base │ Short 541.2µ ± 17% 401.6µ ± 0% -25.78% (p=0.000 n=21+20) Mid 249.6µ ± 3% 191.9µ ± 0% -23.13% (p=0.000 n=21+20) Long 124.6µ ± 0% 110.7µ ± 0% -11.13% (p=0.000 n=21+20) geomean 256.3µ 204.3µ -20.26% │ strlen_baseline │ strlen_scalar │ │ B/s │ B/s vs base │ Short 220.3Mi ± 14% 296.8Mi ± 0% +34.74% (p=0.000 n=21+20) Mid 477.6Mi ± 3% 621.3Mi ± 0% +30.09% (p=0.000 n=21+20) Long 956.9Mi ± 0% 1076.7Mi ± 0% +12.52% (p=0.000 n=21+20) geomean 465.2Mi 583.4Mi +25.40% MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D45693
Optimized assembly implementation of memcpy() for the RISC-V architecture.
The implementation has two paths:
- An aligned path - (dst - src) % 8 = 0, runs faster
- An unaligned path - (dst - src) % 8 != 0, runs slower
os: FreeBSD
arch: riscv
│ memcpy_baseline │ memcpy_scalar │
│ sec/op │ sec/op vs base │
64Align8 851.6µ ± 1% 488.9µ ± 1% -42.59% (p=0.000 n=12)
4kAlign8 681.5µ ± 1% 255.1µ ± 2% -62.57% (p=0.000 n=12)
256kAlign8 273.0µ ± 2% 230.7µ ± 2% -15.50% (p=0.000 n=12)
16mAlign8 98.07m ± 0% 95.29m ± 0% -2.84% (p=0.000 n=12)
64UAlign 887.5µ ± 1% 531.6µ ± 1% -40.10% (p=0.000 n=12)
4kUAlign 725.6µ ± 1% 262.2µ ± 1% -63.87% (p=0.000 n=12)
256kUAlign 844.1µ ± 2% 322.8µ ± 0% -61.76% (p=0.000 n=12)
16mUAlign 134.9m ± 0% 101.2m ± 0% -24.97% (p=0.000 n=20)
geomean 2.410m 1.371m -43.12%
│ memcpy_baseline │ memcpy_scalar │
│ MiB/s │ MiB/s vs base │
64Align8 293.6 ± 1% 511.3 ± 1% +74.18% (p=0.000 n=12)
4kAlign8 366.8 ± 1% 980.0 ± 2% +167.15% (p=0.000 n=12)
256kAlign8 915.8 ± 2% 1083.7 ± 2% +18.34% (p=0.000 n=12)
16mAlign8 163.1 ± 0% 167.9 ± 0% +2.92% (p=0.000 n=12)
64UAlign 281.7 ± 1% 470.3 ± 1% +66.94% (p=0.000 n=12)
4kUAlign 344.5 ± 1% 953.6 ± 1% +176.77% (p=0.000 n=12)
256kUAlign 296.2 ± 2% 774.5 ± 0% +161.49% (p=0.000 n=12)
16mUAlign 118.6 ± 0% 158.1 ± 0% +33.28% (p=0.000 n=20)
geomean 293.4 515.8 +75.81%
MFC after: 1 month
MFC to: stable/15
Approved by: mhorne, markj (mentor)
Reviewed by: fuz
Sponsored by: Google LLC (GSoC 2024)
Differential Revision: https://reviews.freebsd.org/D46139
Optimized implementation of strnlen() in RISC-V assembly
Performance was measured using strperf on a HiFive Unmatched (SiFive HF105-001) board.
os: FreeBSD
arch: riscv
│ strnlen_baseline │ strnlen_scalar │
│ sec/op │ sec/op vs base │
Short 787.0µ ± 0% 430.9µ ± 1% -45.24% (p=0.000 n=20)
Mid 621.6µ ± 0% 195.1µ ± 1% -68.61% (p=0.000 n=20)
Long 569.4µ ± 1% 100.6µ ± 0% -82.34% (p=0.000 n=20)
geomean 653.1µ 203.7µ -68.81%
│ strnlen_baseline │ strnlen_scalar │
│ MiB/s │ MiB/s vs base │
Short 158.8 ± 0% 290.1 ± 1% +82.62% (p=0.000 n=20)
Mid 201.1 ± 0% 640.6 ± 1% +218.59% (p=0.000 n=20)
Long 219.5 ± 1% 1242.9 ± 0% +466.19% (p=0.000 n=20)
geomean 191.4 613.5 +220.57%
MFC after: 1 month
MFC to: stable/15
Approved by: mhorne, markj (mentor)
Reviewed by: fuz, Jari Sihvola <jsihv@gmx.com>
Sponsored by: Google LLC (GSoC 2024)
Differential Revision: https://reviews.freebsd.org/D46230
Scalar implementation of strchrnul() in RISC-V assembly and changes to the corresponding manpage. Performance was benchmarked on a HiFive Unmatched (SiFive HF105-001) board using: https://github.com/clausecker/strperf os: FreeBSD arch: riscv │ strchrnul_baseline │ strchrnul_scalar │ │ sec/op │ sec/op vs base │ Short 680.2µ ± 5% 435.3µ ± 0% -36.01% (p=0.000 n=20) Mid 314.7µ ± 3% 221.4µ ± 0% -29.63% (p=0.000 n=20) Long 152.3µ ± 0% 138.5µ ± 0% -9.08% (p=0.000 n=20) geomean 319.5µ 237.2µ -25.75% │ strchrnul_baseline │ strchrnul_scalar │ │ MiB/s │ MiB/s vs base │ Short 183.8 ± 5% 287.2 ± 0% +56.27% (p=0.000 n=20) Mid 397.3 ± 3% 564.6 ± 0% +42.12% (p=0.000 n=20) Long 820.5 ± 0% 902.5 ± 0% +9.99% (p=0.000 n=20) geomean 391.3 527.0 +34.68% MFC after: 1 month MFC to: stable/15 Approved by: markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D46047
This picks up the accelerated string functions written by strajabot@. Event: Google Summer of Code 2024 MFC after: 1 month MFC to: stable/15 See also: 79e01e7e643c9337d8d6046b6db7df674475a099 Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D53248
If a client were to send a LayoutCommit (seldom used and only for a pNFS server) with a bogus cnt, there could be problems with a malloc() call that uses it. This patch adds a sanity check for the cnt. Note that RFC8881 does not specify any upper bound on the cnt. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53354
nfs_clrpcops.c: Add sanity checks for the slot cnts The reply to CreateSession includes the slot cnt for both fore and back slots. It should never be larger than the argument specified and the fore slot cnt should always be at least 1. Without this patch, the replied slot cnts were not being sanity checked. While here, replace 64 with NFSV4_SLOTS (which is 64). Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: emaste, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53363
nfs_clrpcops.c: Fix two possible large NFSM_DISSECT()s There are two cases in nfs_clrpcops.c where it was possible for the code to attempt to NFSM_DISSECT() a large size, which is not allowed by nfsm_dissct(). This patch fixes them. Reducing the maximum stripecnt should be no problem, since there in no extant NFSv4.n server that does striped File Layout pNFS and current development is centered around the Flex File layout. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53367
nfs_clrpcops.c: Check for too large a write reply The "rlen" reply length for a Write operation/RPC could cause trouble if a broken server replies with too large a value. Improve the sanity check for "rlen" to avoid this. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: emaste, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53368
The nfsuserd(8) daemon passes user credentials (uid + gids) into the kernel for users and groups identified by name (received from a NFSv4 server). This patch add a sanity check for the number of groups (nid_ngroup) passed in. It's only purpose is to protect against a bogus nfsuserd(8) running in a jail. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53389
Without this patch, the entire reply for all directories in the NFSv4 mount path are parsed at once. This could cause problems for mount paths with many directories in the path. This patch fixes the problem by parsing each directory reply in a loop. Spotted while fixing other cases that could do large NFSM_DISSECT() sizes. MFC after: 3 days
The variable ncl_mbuf_mhlen is set to MHLEN and only used in one place. This patch simply deletes it and replaces it with MHLEN. This patch should not affect semantics. Spotted while fixing cases that could do large NFSM_DISSECT() sizes. MFC after: 2 weeks
Without this patch, the NFS client code for mounts has an arbitrary 100 character limit for the directory path being mounted on the server. Someone reported this quite a while ago, but I cannot find the email or bugzilla PR. This patch fixes the problem by increasing the directory path length limit to MNAMELEN, allocated via malloc() to avoid using too much stack. MFC after: 2 weeks
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE name for pathconf, to indicate if case insensitive lookups are configured. This patch adds support for it for both NFSv4 and NFSv3. It also adds a fsidp argument to nfsv4_fillattr() which will be used in future commit(s) related to NFSv4.n directory delegations. MFC after: 2 weeks
Kernel stuff (other than networking, filesystems, and drivers).
When system call auditing is enabled, every audited call does a lookup in the evclass hash table. This table appears to be insert only (eg, nothing can be removed) and protecting it with an rwlock is overkill. Using an rwlock causes just the atomic operations to maintain uncontended rwlock state to be responsible for measurable overhead on high core count servers making lots of system calls. Given that the evclass hash table can never have items removed, only added, using a mutex to serialize additions and converting to ck_list allows sufficient protection for lockless lookups. In a contrived example of 64 cores, all reading 1 byte from their own file, this change increases performance from 5M reads/sec to 70M reads/sec on an AMD 7502P. Reviewed by: markj, mjg, glebius (privately) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D53176
Reviewed by: kib Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51622
Introduce a new system call and reboot method to support booting a new kernel directly from FreeBSD. Linux has included a system call, kexec_load(), since 2005, which permits booting a new kernel at reboot instead of requiring a full reboot cycle through the BIOS/firmware. This change brings that same system call to FreeBSD. Other changesets will add the MD components for some of our architectures, with stubs for the rest until the MD components have been written. kexec_load() supports loading up to an arbitrary limit of 16 memory segments. These segments must be contained inside memory bounded in vm_phys_segs (vm.phys_segs sysctl), and a segment must be contained within a single vm.phys_segs segment, cannot cross adjacent segments. Reviewed by: imp, kib Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D51619
These are printed by gdb when requesting help for the corresponding function or command, so phrase them such that they make sense in that context. MFC after: 1 week
Provide a command which can be used to reload gdb modules. MFC after: 1 week
random: remove hifn(4) The Hifn 7955 & 7956 only supports deprecated & NIST disallowed algorithms (NIST SP800-224idp): SHA1 and SHA1-HMAC. Furthermore the entropy RNG of the Hifn 7751, 7951, 7811, 7955, and 7956 has no NIST Entropy Source Validation (ESV) certificate and cannot be used in a FIPS-140-3 nor Common Criteara environment. Furthermore the most prolific instance for FreeBSD was the Soekris Engineering vpn1201, vpn1211, vpn1401, and vpn1411 offerings. These are all 32-bit only processors. The i386 kernel was de-supported in 15.0. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D53182
random: remove hifn(4) Fixes: https://cgit.freebsd.org/src/commit/?id=685a78
LINKER_EACH_FUNCTION_NAMEVAL() stops processing the symbol table if a callback function returns a non-zero value. The fbt_provide_module_function() callback should not return 1 when ignoring symbols. Instead, always return 0, as in dtrace/x86. Fixes: https://cgit.freebsd.org/src/commit/?id=30b68ecda84e ("Changes that improve DTrace FBT reliability on freebsd/arm64:") Reviewed by: markj, oshogbo Approved by: oshogbo (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D53399
This adds empty implementations of pm_vt_switch_(un)register which are used by nvidia-drm. We do not need to specify anything here as a VT switch always happens on suspend/resume. Sponsored by: NVIDIA Reviewed by: kbowling (mentor), emaste Differential Revision: https://reviews.freebsd.org/D53400
Currently lkpi_vmf_insert_pfn_prot_locked will check the page iter to find a usage of the page. If no page was found, it continues on to try using PHYS_TO_VM_PAGE() to get a page. Currently it does not check if a valid page was found before passing it to vm_page_busy_acquire, which can cause a kernel page fault as vm_page_busy_acquire expects a valid page pointer. This can easily be triggered while starting KDE6 in wayland mode, which many users have been reporting. With this change plasma6 starts properly in wayland mode. Sponsored by: NVIDIA PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288565 Reviewed by: markj, kbowling (mentor) Differential Revision: https://reviews.freebsd.org/D53412
This is from work from https://reviews.freebsd.org/D37878. Submitted by: Marco Devesas Campos <devesas.campos@gmail.com> Differential Revision: https://reviews.freebsd.org/D53372
Add wrapper inline functions for bus_alloc_resource* that accept a resource ID by value (instead of a pointer). The rest of the bus resource API (outside of compat shims) does not accept resource IDs as arguments, but instead obtains the resource ID from the resource itself when needed. As such, there is no reason to return any potentially modified resource IDs to the caller. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D53401
Reviewed by: adrian, imp Differential Revision: https://reviews.freebsd.org/D53254
In racctd(), commit c72188d85a79 ("racct: Improve handling of the pcpu
resource") added a superfluous test to skip the idle process when
computing the resource usage and checking for limits, consisting of
a comparison of the considered process' pointer with that of the process of
the first CPU's idle thread. The P_IDLEPROC flag introduced in commit
33be1632047c ("racct: Fix accounting of CPU time for the system idle
process") is sufficient and simpler for this purpose.
In the second loop throttling processes based on their %CPU usage, the
test excluding processes not in PRS_NORMAL was not consistent with that
of the first loop (which tests for the idle process also). This had no
practical consequences except a superfluous call to
racct_pcpu_available() as the RACCT_PCTCPU counter stays at 0 on the
idle process (because of the first loop). Factor out the test in the
new racct_proc_to_skip() function.
No functional change intended.
Reviewed by: markj
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53455
Affected system calls: setuid(), setreuid(), setresuid(), jail_attach(), setloginclass(). In these system calls, the crhold() calls that, on RACCT, make the just-installed process credentials survive a concurrent change of the same credentials just after PROC_UNLOCK() were not matched by a corresponding crfree() when RCTL is off. In fact, in that latter case, they are simply not necessary, so wrap them with '#ifdef RCTL' stances. 'kern_rctl.c' causes a compile error if RACCT is not defined but RCTL is, so ease reading by not nesting '#ifdef's. MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53456
When credentials are changed, we need to adjust the sum of resources associated to the initial and new process' user IDs (and old and new login classes and jails, but setcred() does not change them) for them to stay consistent. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290352 MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53457
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D53482
Commit e5aa60d06958 changed the internal KAPI between the NFS modules. As such, they all need to be rebuilt from sources. Bump __FreeBSD_version to 1600004 for this.
All its shared data should be installed in the FreeBSD-kyua package
zlib is a standalone third-party component, and deserves its own package rather than living in runtime. For example, this will make future security updates less invasive. This also means there's no dependency on runtime for ports that just require zlib, which is useful for service jails. MFC after: 3 days Reviewed by: bapt, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53058
Building VMs as non-root requires no-QEMU code paths (installing packages from outside the VM image rather than inside it) and vice versa; we have a check for broken combinations. Unfortunately that check was breaking make -C src/usr.sbin/pkg NO_ROOT=YES -V PKGCONFBRANCH because that code reaches into src/release to determine the branch name (which is then used to determine which /etc/pkg/FreeBSD.conf to install). Wrap the no-root/no-qemu check in an .if to only run when we've asked for VM and/or CLOUD building to be enabled. Reviewed by: ivy MFC after: 5 minutes Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53486
If build logic breaks such that we can't figure out which branch we're on, we should error out rather than shipping a default (and probably wrong) /etc/pkg/FreeBSD.conf Reviewed by: ivy MFC after: 5 minutes Suggested by: ivy Differential Revision: https://reviews.freebsd.org/D53487
This ensures an incremental build succeeds after import of D47275, D46023, D45730, D45693, D46139, D46230, D46047, and D53248. Approved by: markj (mentor) MFC after: 1 month MFC to: stable/15 Differential Revision: https://reviews.freebsd.org/D53485
We emit a warning if src.conf options WITH_RETPOLINE or INIT_ALL are
in use, and the compiler or linker does not support the feature.
For targets like `cleandir` we skip including bsd.compiler.mk, which
leaves COMPILER_FEATURES unset and spurious warnings were emitted in
early buildworld stages, if these options are in use.
Commit 0837b2ebd570 ("pkg: Die if make -V BRANCH fails") added -W to
usr.sbin/pkg's make flags, causing it to exit on warnings. As a result
buildworld failed when these src.conf options were in use.
Clean this up by omitting the warning if the magic
_NO_INCLUDE_COMPILERMK flag is set, which indicates that
COMPILER_FEATURES is not set.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53501
static_libpam's Makefile includes libpam's Makefile after setting some variables (like MAN) to empty to avoid installing the manpages twice. After commit 031e711647c3, it neglected to do this for MANNODEVLINKS, causing pam.d.5.gz to be installed twice. This is harmless for installworld, but breaks some things that rely on METALOG (NO_ROOT installs) since it causes two METALOG entries to be generated for the same file. Fixes: https://cgit.freebsd.org/src/commit/?id=031e711647c3 ("packages: Install development manpages in the -dev package") MFC after: 3 days PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290708 Reported by: emaste Reviewed by: emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53512
Reviewed by: markj MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=f1995d6fc13f ("release: Prepare GCE cloudware images for building as non-root") Differential Revision: https://reviews.freebsd.org/D53530
In order to make sure that man pages are all installed before we run makewhatis to generate mandoc.db files, we have long placed etc at the end of the list of subdirectories being recursed into by the build. In order to support installworld -jN, a .WAIT was more recently added here. With the recent adoption by the release engineering team of parallel *release* builds (aka 'make release -jN') it is now also necessary to add the same .WAIT before recursing for the 'distribute' target, as we otherwise end up with distribution sets containing incomplete mandoc.db files. Reviewed by: bdrewery PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289683 MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53533
This really only matters if a commit title has multiple consecutive spaces, which itself is probably an accident. Reported by: des
Sponsored by: tipi.work
Reviewed by: ngie, markj Differential Revision: https://reviews.freebsd.org/D52800
We were using the m_quit bit for two similar but distinct uses: * To instruct the server to quit * To cope with the kernel forcibly unmounting the fs Fix the intermittent test failure by adding a separate bit, m_expect_unmount, to handle cases like the latter. Reported by: Siva Mahadevan <me@svmhdvn.name> MFC after: 1 week Revied by: Siva Mahadevan <me@svmhdvn.name> Differential Revision: https://reviews.freebsd.org/D53357
Sponsored by: Rubicon Communications, LLC ("Netgate")
Sponsored by: Rubicon Communications, LLC ("Netgate")
These could go in other categories, but it's more clear if they're here instead.
- s/initializating/initializing/ MFC after: 5 days
- s/constrast/contrast/ MFC after: 5 days
- s/devce/device/ MFC after: 5 days
- s/decribes/describes/ - s/Muliple/Multiple/ MFC after: 5 days
- s/heterogenous/heterogeneous/ MFC after: 5 days
- s/througput/throughput/ MFC after: 5 days
- s/exprimental/experimental/ MFC after: 5 days
- s/retireved/retrieved/ MFC after: 5 days
- s/strng/string/ MFC after: 5 days
- s/Initializaiton/Initialization/ MFC after: 5 days
- s/addess/address/ MFC after: 5 days
- s/sucess/success/ MFC after: 5 days
- s/compatibile/compatible/ MFC after: 5 days
- s/maxmimum/maximum/ MFC after: 5 days
- s/sucessfully/successfully/ MFC after: 5 days
- s/changees/changes/ MFC after: 5 days
- s/signficant/significant/ - s/protoypes/prototypes/ MFC after: 5 days
- s/resulting/resulting/ - s/initally/initially/ MFC after: 5 days
MFC after: 3 days
- s/intialization/initialization/ - s/Cannott/Cannot/ - s/ivalid/invalid/ - s/wating/waiting/ MFC after: 1 week
- s/tranparent/transparent/ - s/Unknow/Unknown/ - s/qury/query/ MFC after: 1 week
- s/unexpectd/unexpected/ - s/Unexected/Unexpected/ - s/niether/neither/ - s/sucessfully/successfully/ - s/Inavlid/Invalid/ - s/toplogy/topology/ MFC after: 1 week
- s/reponse/response/ - s/Cannnot/Cannot/ MFC after: 1 week
- s/intalled/installed/ - s/attributess/attributes/ MFC after: 1 week
- s/maximun/maximum/ - s/queing/queueing/ - s/exhausing/exhausting/ MFC after: 1 week
- s/eroneous/erroneous/ MFC after: 1 week
- s/Reseting/Resetting/ - s/staus/status/ - s/referrenced/referenced/ MFC after: 1 week
- s/Authenticateion/Authentication/ MFC after: 5 days
- s/frequence/frequency/ - s/finsihed/finished/ MFC after: 5 days
- s/supressing/suppressing/ MFC after: 5 days
- s/Unkown/Unknown/ MFC after: 5 days
- s/patcket/packet/ MFC after: 5 days
- s/volatge/voltage/ MFC after: 5 days
- s/depenedent/dependent/ MFC after: 5 days
- s/sequnce/sequence/ MFC after: 5 days
Reviewed by: sjg Differential Revision: https://reviews.freebsd.org/D53429
s/DEVICE_ATTACH/DEVICE_DETACH Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53449
No functional change intended. MFC after: 3 days Sponsored by: Netflix, Inc.
- s/temparature/temperature/ MFC after: 5 days
- s/Fragements/Fragments/ - s/Recived/Received/ - s/Alignmnet/Alignment/ MFC after: 5 days
- s/interrups/interrupts/ MFC after: 5 days
- s/Orignal/Original/ MFC after: 5 days
- s/unsupport/unsupported/ MFC after: 5 days
- s/exhaused/exhausted/ MFC after: 5 days
- s/unspported/unsupported/ MFC after: 5 days
- s/Recevied/Received/ MFC after: 5 days
- s/dissappeared/disappeared/ MFC after: 5 days
- s/suspeneded/suspended/ MFC after: 5 days
Merge commit 'df549a80425635d98419f7f742309d66d367e65f' Changes: https://github.com/zoulasc/blocklist/compare/156df4f...ff13526 MFC after: 2 days
Upstream introduced a fix that avoids blocklistd(8) from running into an endless loop when it tries to delete an address from the database which has been added multiple times. Apply the same fix to blacklistd(8). Upstream PR: https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57193 MFC after: 2 days
This UFS-only test verifies that attempting to create more links than
permitted by the file system returns EMLINK, but has been broken ever
since UFS_LINK_MAX was increased because a) it hardcodes the previous
value of UFS_LINK_MAX, and b) the new value requires more space than
the test allocates, so it ends up getting ENOSPC instead of EMLINK.
* Switch to retrieving {PC_LINK_MAX} at runtime.
* Stop the test when we reach {PC_LINK_MAX} links. This ensures that
we don't go on for hours if the actual limit turns out to be much
higher than we anticipated (e.g. INT64_MAX on ZFS).
* Double the size of the test filesystem.
MFC after: 3 days
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Fixes: https://cgit.freebsd.org/src/commit/?id=35a301555bff ("Increase UFS/FFS maximum link count from 32767 to 65530.")
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D53442
Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D53443
This happens in CI and on local armv7 builds, but not when I cross compile to armv7 locally. > /usr/src/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c:549:71: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat] > 549 | "free_pagelist - %zx, %d (%u bytes @%p)", (size_t)pagelist, actual, pagelist->length, bi->buf); So just be very specific about the printf types and explicitly cast things.
Assume tzdata is not fresh if last_checked is zero, as comparing the current time to last_checked less than __tz_change_interval after boot may produce a false negative. While here, invert the return value from tzdata_is_fresh() to better match its new name (it was previously called recheck_tzdata(), so zero for fresh and non-zero for stale made sense, but it doesn't now). PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269207 MFC after: 3 days Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D53502
isa: Use gone_in_dev(9) for deprecation message Reviewed by: bz, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53366
Revert "isa: Use gone_in_dev(9) for deprecation message" gone_in(_dev) prints only one message per function call src line, so this would miss reporting for the second and later such devices. This reverts commit ce6792d3cd798079f0c9ba244faba4ea666bb6f4. Reported by: glebius Sponsored by: The FreeBSD Foundation
This reverts commit 67ade69eb6079887215db1fde86eba2fb8e2acf7.
A fix has been implemented in a943a96a50ba ("libpfctl: Fix displaying
deeply nested anchors").
Revert this commit to avoid having differences with upstream.
This reverts commit 2347ca21d657121670e6e7246c6ac32efc996cac.
A fix has been implemented in 99560fe98c76 ("pfctl: Do not warn if there
is no Ethernet anchor").
Revert this commit to avoid having differences with upstream.
MFC after: 2 days
bus: Take the topolock in driver_module_handler() And sprinkler some asserts. Right now all module handlers are called with Giant, but I'd like to drop that so push the newbus locking one step further. Sponsored by: Netflix
bus: Revert "bus: Take the topolock in driver_module_handler()" This reverts commit 83519c1764f80ddbdf34e16de08ff110226aba2b. This was accidentally in my main branch when I poushed. It's not ready yet. Sponsored by: Netflix
Merge commit e24f90190c77 from llvm git (by Brad Smith):
[Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)
The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.
MFC after: 3 days
Revert "Merge commit e24f90190c77 from llvm git (by Brad Smith):"
[Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)
The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.
This reverts commit 51e8e8b0f36933814b1be08913857727876aece5.
MFC after: immediately
Not classified automatically, and waiting for manual attention.
-- no commits in this category this week --
Dates:
Automatic grouping:
This reverts commit \\b([0-9a-fA-F]{40})\\b
and the hash was found in this week's commits.
Automatic categories:
Source code:
Generated with commits-periodical 0.18 at 2025-11-03 03:26:55+00:00.
This work is supported by Tarsnap Backup Inc.
Alternate version: 2025-10-27 (debug) (contains info about the classification)