DragonFlyBSD/src 33f3764sbin/md5 md5.c

md5(1): Warn on read errors

md5(1) previously did not report read errors.  As a result, attempting
to hash a directory produced no output and only returned exit code 66.

Make md5(1) print a warning when a file cannot be read.

Before:
    $ md5 /
    (no output; only exit code 66)

After:
    $ md5 /
    md5: can't read /: Is a directory
DeltaFile
+5-7sbin/md5/md5.c
+5-71 files

DragonFlyBSD/src 97f9410lib/libnvmm libnvmm.3

libnvmm.3: Correct 'struct nvmm_capability' and document ENODEV
DeltaFile
+7-5lib/libnvmm/libnvmm.3
+7-51 files

DragonFlyBSD/src 46fc87esbin/md5 md5.c

md5(1): Warn on read errors

md5(1) previously did not report read errors.  As a result, attempting
to hash a directory produced no output and only returned exit code 66.

Make md5(1) print a warning when a file cannot be read.

Before:
    $ md5 /
    (no output; only exit code 66)

After:
    $ md5 /
    md5: can't read /: Is a directory
DeltaFile
+5-7sbin/md5/md5.c
+5-71 files

DragonFlyBSD/src 112a43esys/dev/virtual/nvmm/x86 nvmm_x86_vmx.c

nvmm(4): Refine VMX guest CR0 (VMCS_GUEST_CR0) handling

Introduce CR0_FORCE_ZERO and CR0_FORCE_ONE to align with the SVM backend
and clarify the normalization of guest CR0 (VMCS_GUEST_CR0).  Do not
reuse CR0_STATIC_MASK in place of CR0_FORCE_ZERO to avoid ambiguity.

No functional change.
DeltaFile
+16-19sys/dev/virtual/nvmm/x86/nvmm_x86_vmx.c
+16-191 files

DragonFlyBSD/src cc65c1csys/dev/virtual/nvmm/x86 nvmm_x86_vmx.c

nvmm(4): Add 'ULL' suffix to a uint64_t constant
DeltaFile
+1-1sys/dev/virtual/nvmm/x86/nvmm_x86_vmx.c
+1-11 files

DragonFlyBSD/src 1659ab5sys/dev/virtual/nvmm/x86 nvmm_x86_svm.c

nvmm(4): Rename CR0_STATIC_MASK and CR0_MANDATORY for clarity

The CR0_STATIC_MASK was copied from the VMX backend but does not
accurately reflect its semantics in the SVM context, where the masked
bits are forced to zero.  Rename it to CR0_FORCE_ZERO and remove
the CR0_ET bit from it.

In addition, rename CR0_MANDATORY to CR0_FORCE_ONE to make the naming
consistent and reflect that these bits are always set.
DeltaFile
+6-6sys/dev/virtual/nvmm/x86/nvmm_x86_svm.c
+6-61 files

DragonFlyBSD/src b4ca47alib/libnvmm libnvmm_x86.c

libnvmm(3): Simplify x86_emul.func prototype

The GPRs is available through `vcpu->state->gprs`, so no need to pass
it via an extra parameter.
DeltaFile
+32-22lib/libnvmm/libnvmm_x86.c
+32-221 files

DragonFlyBSD/src 34b57b6lib/libnvmm libnvmm.3

libnvmm.3: Correct 'struct nvmm_capability' and document ENODEV
DeltaFile
+7-5lib/libnvmm/libnvmm.3
+7-51 files

DragonFlyBSD/src 6757be4lib/libnvmm libnvmm.3

libnvmm.3: Minor wording and style tweaks

- Replace "Mem" with "memory".
- Use .Sy to markup the "nvmm" group.
DeltaFile
+8-7lib/libnvmm/libnvmm.3
+8-71 files

DragonFlyBSD/src 08d3ea2sys/bus/u4b/uvc uvc_buf.c uvc_v4l2.c, sys/dev/misc/syscons syscons.c

kernel: Remove some duplicate #include's.
DeltaFile
+0-1sys/bus/u4b/uvc/uvc_buf.c
+0-1sys/bus/u4b/uvc/uvc_v4l2.c
+0-1sys/dev/misc/syscons/syscons.c
+0-1sys/kern/tty_cons.c
+0-44 files

DragonFlyBSD/src 65c8f68sys/cpu/x86_64/include stdint.h, sys/net netmsg.h

kernel: Remove __boolean_t and define boolean_t directly.

A CPU dependent type for boolean_t isn't needed.

Change the remaining usage of __boolean_t to bool because
these headers are also used by userland.
DeltaFile
+8-4sys/sys/objcache.h
+6-4sys/net/netmsg.h
+5-1sys/sys/stdint.h
+0-5sys/cpu/x86_64/include/stdint.h
+19-144 files

DragonFlyBSD/src acb8398sys/platform/pc64/isa clock.c

kernel: Refer to nanoseconds as 'ns', not 'nS'.
DeltaFile
+1-1sys/platform/pc64/isa/clock.c
+1-11 files

DragonFlyBSD/src aadd936share/misc iso639

iso639: Sync with upstream.
DeltaFile
+8-8share/misc/iso639
+8-81 files

DragonFlyBSD/src b5bf93fshare/misc bsd-family-tree

bsd-family-tree: Sync with FreeBSD.
DeltaFile
+469-398share/misc/bsd-family-tree
+469-3981 files

DragonFlyBSD/src 5bb0a15share/misc pci_vendors

Update the pciconf(8) database.

Feb 13, 2026 snapshot from https://pci-ids.ucw.cz
DeltaFile
+5,661-480share/misc/pci_vendors
+5,661-4801 files

DragonFlyBSD/src 544f5b8share/man/man4 ktr.4, sys/conf options

Remove obsolete KTR_DMCRYPT kernel option.
DeltaFile
+0-6share/man/man4/ktr.4
+0-1sys/conf/options
+0-1sys/config/LINT64
+0-83 files

DragonFlyBSD/src 4f67a71share/zoneinfo leap-seconds.list Makefile

Add leap-seconds.list to /usr/share/zoneinfo.

It was introduced in tzdata2024a and some software (such as
Hare language) expects this to be present. This version is
from tzdata2025c. I'll do a full upgrade of tzdata2025c in a
later commit.

Pointed-out-by: mneumann
DeltaFile
+120-0share/zoneinfo/leap-seconds.list
+2-1share/zoneinfo/Makefile
+122-12 files

DragonFlyBSD/src b884917sys/dev/virtual/nvmm/x86 nvmm_x86_internal.h nvmm_x86.h

nvmm(4): Extract out nvmm_x86_internal.h from nvmm_x86.h

Similar to nvmm_internal.h, extract the kernel-only bits from nvmm_x86.h
and put into a separate 'nvmm_x86_internal.h'.
DeltaFile
+241-0sys/dev/virtual/nvmm/x86/nvmm_x86_internal.h
+0-208sys/dev/virtual/nvmm/x86/nvmm_x86.h
+1-0sys/dev/virtual/nvmm/x86/nvmm_x86.c
+1-0sys/dev/virtual/nvmm/x86/nvmm_x86_svm.c
+1-0sys/dev/virtual/nvmm/x86/nvmm_x86_vmx.c
+244-2085 files

DragonFlyBSD/src a91151fsys/dev/virtual/nvmm/x86 nvmm_x86_svm.c

nvmm(4): Enable selective CR0 write intercept in the SVM backend

Similar to the VMX backend [1], enable selective CR0 write intercept in
the SVM backend to force CR0_ET/CR0_NE to 1, and CR0_CD/CR0_NW to 0.

This addresses the severe performance issue observed in UEFI guests [2].
When booting a DragonFly installation ISO on my AMD 3700X, it previously
took 50-60 seconds from VM power-on before the kernel started loading,
and around 17 *minutes* to reach the login prompt.  Even when the guest
OS was otherwise idle, the qemu process consumed 40-50% CPU.

Note that the selective CR0 write intercept is enabled only when the CPU
supports the DecodeAssists feature, as the intercept handling relies on
the decoded information provided in EXITINFO1.  A diagnostic message is
printed in svm_ident() when DecodeAssists is unavailable.

Meanwhile, rename 'VMCB_CTRL_INTERCEPT_CR0_SPEC' to
'VMCB_CTRL_INTERCEPT_CR0_SEL' to better align with
'VMCB_EXITCODE_CR0_SEL_WRITE'.

    [9 lines not shown]
DeltaFile
+90-4sys/dev/virtual/nvmm/x86/nvmm_x86_svm.c
+90-41 files

DragonFlyBSD/src 71d6bbasys/dev/virtual/nvmm nvmm.h

nvmm(4): Comment all versions of NVMM_KERN_VERSION
DeltaFile
+5-0sys/dev/virtual/nvmm/nvmm.h
+5-01 files

DragonFlyBSD/src 89a608fsys/dev/virtual/nvmm nvmm_os.h

nvmm(4): Tweak os_atomic_load_uint() to use relaxed semantic

The original NetBSD code uses atomic_load_relaxed(), so this macro
should be "atomic_load_int()", i.e., without the "acquire" semantic.

Also, the relaxed semantic suffices for the current use cases.
DeltaFile
+1-1sys/dev/virtual/nvmm/nvmm_os.h
+1-11 files

DragonFlyBSD/src 2973316share/zoneinfo leap-seconds.list Makefile

Add leap-seconds.list to /usr/share/zoneinfo.

It was introduced in tzdata2024a and some software (such as
Hare language) expects this to be present. This version is
from tzdata2025c. I'll do a full upgrade of tzdata2025c in a
later commit.

Pointed-out-by: mneumann
DeltaFile
+120-0share/zoneinfo/leap-seconds.list
+2-1share/zoneinfo/Makefile
+122-12 files

DragonFlyBSD/src 2f97cb6test/testcases/libnvmm h_mem_assist_asm.S h_mem_assist.c

testcases/libnvmm: Add two memory tests using RIP-relative addressing

While these two tests do not exercise the RIP-relative address
calculation path in store_to_gva(), they can help validate the x86
instruction decoder.

Credit: Claude Sonnet 4.5 (https://claude.ai/)
DeltaFile
+66-0test/testcases/libnvmm/h_mem_assist_asm.S
+6-0test/testcases/libnvmm/h_mem_assist.c
+72-02 files

DragonFlyBSD/src ceb0e49lib/libnvmm libnvmm_x86.c

libnvmm(3): Fix RIP-relative addressing in store_to_gva()

RIP-relative addressing uses the start address of the *next* instruction
as the base, rather than the *current* one.  Adjust RIP by the
instruction length when computing the effective address.

NOTE: This bug does not affect memory assists:
- The MMIO exits handled by assist_mem_single() do not call
  store_to_gva().  In addition, assist_mem_single() does not compute
  RIP-relative addresses, as the effective GPA is already provided in
  'exit->u.mem.gpa'.
- Other MMIO exits handled by assist_mem_double_movs() do call
  store_to_gva(), but only for RSI/RDI-based operands.

Credit: Claude Sonnet 4.5 (https://claude.ai/)
DeltaFile
+5-0lib/libnvmm/libnvmm_x86.c
+5-01 files

DragonFlyBSD/src 1eb8710sbin/fdisk fdisk.c

fdisk(8): Fix uint32_t overflow in print_part()

dp_size is uint32_t and would overflow when is multipled by secsize
(512), and that resulted in printing a wrong partition size in MB.

While there, tweak 'Meg' to 'MB' to be clearer.
DeltaFile
+3-3sbin/fdisk/fdisk.c
+3-31 files

DragonFlyBSD/src dea513atest/testcases/libnvmm h_mem_assist_asm.S h_mem_assist.c

testcases/libnvmm: Add two memory tests using RIP-relative addressing

While these two tests do not exercise the RIP-relative address
calculation path in store_to_gva(), they can help validate the x86
instruction decoder.

Credit: Claude Sonnet 4.5 (https://claude.ai/)
DeltaFile
+66-0test/testcases/libnvmm/h_mem_assist_asm.S
+6-0test/testcases/libnvmm/h_mem_assist.c
+72-02 files

DragonFlyBSD/src dfc90adlib/libnvmm libnvmm_x86.c

libnvmm(3): Fix RIP-relative addressing in store_to_gva()

RIP-relative addressing uses the start address of the *next* instruction
as the base, rather than the *current* one.  Adjust RIP by the
instruction length when computing the effective address.

NOTE: This bug does not affect memory assists:
- The MMIO exits handled by assist_mem_single() do not call
  store_to_gva().  In addition, assist_mem_single() does not compute
  RIP-relative addresses, as the effective GPA is already provided in
  'exit->u.mem.gpa'.
- Other MMIO exits handled by assist_mem_double_movs() do call
  store_to_gva(), but only for RSI/RDI-based operands.

Credit: Claude Sonnet 4.5 (https://claude.ai/)
DeltaFile
+5-0lib/libnvmm/libnvmm_x86.c
+5-01 files

DragonFlyBSD/src dbfba94sys/kern subr_alist.c subr_blist.c

kernel - Fix overflow in alist and blist code

* This code tracks swap space and large blocks of contiguous DMA memory.

* Fix overflows in array size calculations that did not take into
  account terminator entries.

  (a) Remove terminals from alists entirely.
  (b) Account for space used by the terminator in blists.

Found-by: tuxillo / AI
DeltaFile
+61-20sys/kern/subr_alist.c
+7-2sys/kern/subr_blist.c
+68-222 files

DragonFlyBSD/src 0258b0fsys/kern kern_shutdown.c

kernel - Fix serious root vulnerabilities in the caps code (2)

* Remove debugging kprintf() in sys_reboot()
DeltaFile
+0-2sys/kern/kern_shutdown.c
+0-21 files

DragonFlyBSD/src 35a77c5sys/kern kern_caps.c vfs_syscalls.c, sys/sys caps.h

kernel - Fix serious root vulnerabilities in the caps code

* The caps code was inadvertently allowing many root-only operations
  to be run from user mode, particularly mount/umount ops by assuming
  a root creds check that was not taking place in some of the API
  calls, but was taking place in others.

* All API calls now check root creds by default unless passed the
  appropriate flag.

Found-by: ivadasz (Imre Vadasz)
DeltaFile
+8-8sys/kern/kern_caps.c
+10-2sys/kern/vfs_syscalls.c
+4-4sys/kern/kern_exec.c
+4-2sys/sys/caps.h
+3-1sys/kern/kern_shutdown.c
+1-1sys/kern/kern_sig.c
+30-186 files