OpenBSD/src Yp5lEJZsys/dev/pci/drm drm_linux.c, sys/uvm uvm_pmemrange.c uvm_pdaemon.c

   Kill the uvm_pmalloc mechanism. This never really worked, at least until
   kirill@ fixed some page number/address confusement.  But it can't really
   work since pages freed by the pagedaemon are likely going to be grabbed
   by other consumers before we issue a wakeup through the uvm_pmalloc
   mechanism.  At this point the consensus is that it adds complexity to the
   pagedaemon that stands in the way of progress.

   Discussed with claudio@ and deraadt@
   ok deraadt@
VersionDeltaFile
1.83+8-118sys/uvm/uvm_pmemrange.c
1.161+10-82sys/uvm/uvm_pdaemon.c
1.21+1-51sys/uvm/uvm_pmemrange.h
1.143+1-3sys/dev/pci/drm/drm_linux.c
1.190+1-2sys/uvm/uvm_extern.h
+21-2565 files

OpenBSD/src PWrGRmUusr.sbin/vmd fw_cfg.c

   vmd(8): guard firmware config system state with a mutex.

   While vmd is not yet SMP, if multiple VCPUs emulate io to the Qemu
   firmware config registers simultaneously, they will race in mutating
   and observing state.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.16+13-2usr.sbin/vmd/fw_cfg.c
+13-21 files

OpenBSD/src j6avUVTusr.sbin/vmd x86_vm.c

   vmd(8): reject GPAs in holes during gpa translation.

   vmd independentaly allocates guest memory in a series of ranges,
   mirroring the physical memory layout for the guest. The GPA translation
   in find_gap_range() incorrectly selects a memory range if the GPA
   is in a hole between two guest memory ranges. Make the initial check
   that the GPA falls within the bounds of a known memory range instead
   of just prior to the end.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.16+3-2usr.sbin/vmd/x86_vm.c
+3-21 files

OpenBSD/src G04tgShsys/dev/pci pcidevs_data.h pcidevs.h

   regen
VersionDeltaFile
1.2131+5-1sys/dev/pci/pcidevs_data.h
1.2136+2-1sys/dev/pci/pcidevs.h
+7-22 files

OpenBSD/src Me7Ndgzsys/dev/pci pcidevs

   Add Spacemit K3.
VersionDeltaFile
1.2143+2-1sys/dev/pci/pcidevs
+2-11 files

OpenBSD/src smcRFq2usr.sbin/vmd virtio.c

   vmd(8): guard virtio entropy device register io with a mutex.

   While vmd isn't yet SMP capable, in the event multiple VCPU thread
   exist they may interleave in emulation of register access of the
   virtio entropy device because it's currently emulated in the vm
   process.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.143+19-4usr.sbin/vmd/virtio.c
+19-41 files

OpenBSD/src vEa2sGgusr.sbin/vmd loadfile_elf.c

   vmd(8): initialize the direct-boot argument page.

   In vmd's ELF loader, the boot args page is copied into guest memory
   from the stack without complete initialization. Initialize to zero
   to prevent leaking stack values into guest memory.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.56+2-2usr.sbin/vmd/loadfile_elf.c
+2-21 files

OpenBSD/src PeKuACfusr.sbin/vmd control.c

   Reject invalid payload sizes at vmd(8) control boundary.

   When we introduced agressive parsing and santization of imsg objects,
   it introduced the ability for a control socket client to force vmd
   to exit via fatal() calls. A simple solution is to validate just
   the size of the object at the control process boundary as that's
   the primary logic for triggering fatal() calls. This may need a
   greater redesign but that would require inspecting all imsg
   deseralization call points. For now, the author's proposal is fine.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.54+12-2usr.sbin/vmd/control.c
+12-21 files

OpenBSD/src 07TMzmNshare/man/man4/man4.riscv64 aplic.4 imsic.4

   aplic(4) and imsic(4)
VersionDeltaFile
1.1+47-0share/man/man4/man4.riscv64/aplic.4
1.1+47-0share/man/man4/man4.riscv64/imsic.4
1.20+2-2share/man/man4/man4.riscv64/Makefile
+96-23 files

OpenBSD/src 9RDxOC8sys/arch/riscv64/conf files.riscv64 RAMDISK, sys/arch/riscv64/dev imsic.c aplic.c

   Add support for the RISC-V Advanced Interrupt Architecture.  This adds
   new imsic(4) and aplic(4) drivers for the Incoming MSI Controller and
   Advanced Platform-Level Interrupt Controller and supports the standard
   configuration where both are presents and imsic(4) functions as the
   top-level interrupt controller and aplic(4) forwarding classic interrupt
   lines as MSIs to imsic(4).  Tested on QEMU and Spacemit K3.

   ok jca@, mlarkin@
VersionDeltaFile
1.1+375-0sys/arch/riscv64/dev/imsic.c
1.1+228-0sys/arch/riscv64/dev/aplic.c
1.40+11-1sys/arch/riscv64/conf/files.riscv64
1.57+5-1sys/arch/riscv64/conf/RAMDISK
1.66+5-1sys/arch/riscv64/conf/GENERIC
1.8+4-1sys/arch/riscv64/include/riscvreg.h
+628-41 files not shown
+630-67 files

OpenBSD/src 3qq2E0eusr.bin/tmux screen-redraw.c

   Replace outside as well as empty cells with the border.
VersionDeltaFile
1.157+3-2usr.bin/tmux/screen-redraw.c
+3-21 files

OpenBSD/src 77JA7UNusr.sbin/bgpctl bgpctl.c

   Another imsg_get to imsg_getbuf conversion.

   OK tb@
VersionDeltaFile
1.324+3-3usr.sbin/bgpctl/bgpctl.c
+3-31 files

OpenBSD/src FQm31MBusr.sbin/bgpd rde.c rtr.c

   Convert from imsg_get() to imsgbuf_get()

   imsg_get should no longer be used.
   OK tb@
VersionDeltaFile
1.711+7-7usr.sbin/bgpd/rde.c
1.36+5-5usr.sbin/bgpd/rtr.c
1.540+3-4usr.sbin/bgpd/session.c
1.142+2-3usr.sbin/bgpd/control.c
1.292+2-3usr.sbin/bgpd/bgpd.c
+19-225 files

OpenBSD/src K1ry9Jnsys/dev/pci if_aq_pci.c

   enable 64-bit DMA mbuf support for aq(4)

   tested on "Aquantia AQC107S" rev 0x02: F/W version 3.1.86

   from brad at comstyle.com, ok kettenis@
VersionDeltaFile
1.37+2-2sys/dev/pci/if_aq_pci.c
+2-21 files

OpenBSD/src h3aluaylib/libutil imsg_init.3

   imsg_init.3: mark imsg_get as intentionally undocumented

   noticed by chohag at jtan.com
   ok claudio
VersionDeltaFile
1.47+4-2lib/libutil/imsg_init.3
+4-21 files

OpenBSD/src KihUMuxusr.sbin/eigrpd eigrpd.c rde.c

   Use imsg_get_data for IMSG_CTL_LOG_VERBOSE instead of blindly trusting the
   size of the imsg.

   Reported by Shibo, Hugo Systopia Team
VersionDeltaFile
1.37+6-4usr.sbin/eigrpd/eigrpd.c
1.33+6-4usr.sbin/eigrpd/rde.c
+12-82 files

OpenBSD/src GaQl1Oausr.sbin/bgpd rde.c bgpd.c

   Unify IMSG_CTL_LOG_VERBOSE handlers to look the same.
VersionDeltaFile
1.710+4-6usr.sbin/bgpd/rde.c
1.291+1-2usr.sbin/bgpd/bgpd.c
+5-82 files

OpenBSD/src ua4HrQKsys/arch/arm64/arm64 bus_dma.c

   Fix inverted logic in bus_dmamap_load() and its variants that checks
   whether virtual address continuity is needed.  This fixes an issue where
   cache flushes during bus_dmamap_sync() would fault.

   ok jca@
VersionDeltaFile
1.17+3-3sys/arch/arm64/arm64/bus_dma.c
+3-31 files

OpenBSD/src 3yOQTWEsys/arch/riscv64/riscv64 bus_dma.c

   Fix inverted logic in bus_dmamap_load() and its variants that checks
   whether virtual address continuity is needed.  This fixes an issue where
   cache flushes during bus_dmamap_sync() would fault.

   ok jca@
VersionDeltaFile
1.11+3-3sys/arch/riscv64/riscv64/bus_dma.c
+3-31 files

OpenBSD/src Y87Z2h3usr.sbin/bgpd session_bgp.c session.c

   At startup move peers quickly to active state but delay the connection
   open by SESSION_CLEAR_DELAY

   This allows new connection in right after startup but still delays
   the connect like before. This is mainly needed for the integration
   tests that depend on quick startups.

   Issue noticed by anton@
   OK tb@
VersionDeltaFile
1.12+10-6usr.sbin/bgpd/session_bgp.c
1.539+3-5usr.sbin/bgpd/session.c
+13-112 files

OpenBSD/src NOfveAYlibexec/getty main.c

   getty(8): don't pass an empty string to login(1)

   Entering some text and then deleting it would pass an empty string to
   login(1) leading to an error message. Fix this by checking if name is
   blank.

   This was worked out by Piotr Durlej who submitted a proposed fix. I ended
   up going with a simpler fix though. After I came up with my fix I noticed
   that FreeBSD commited an identical change as part of a larger commit they
   made in 2003.

   Discussed with deraadt@
VersionDeltaFile
1.57+3-1libexec/getty/main.c
+3-11 files

OpenBSD/src FoPSjHQregress/usr.sbin/bgpd/integrationtests l3vpn.sh

   For whatever reason the first IPv6 packet is always lost and so the
   bgp session just does not come up in time. Ping6 the neighbor first
   so that nd6 lookups are finished before the bgp connection opened.
VersionDeltaFile
1.10+3-1regress/usr.sbin/bgpd/integrationtests/l3vpn.sh
+3-11 files

OpenBSD/src dlDbv4iusr.bin/tmux window-border.c window.c

   Extend fill-character to allow inside and outside to be separate and use
   a different default (filled characters rather than dots) for inside.
VersionDeltaFile
1.3+74-10usr.bin/tmux/window-border.c
1.368+1-23usr.bin/tmux/window.c
1.156+11-5usr.bin/tmux/screen-redraw.c
1.1415+7-5usr.bin/tmux/tmux.h
1.1149+8-3usr.bin/tmux/tmux.1
1.241+3-3usr.bin/tmux/options-table.c
+104-493 files not shown
+110-539 files

OpenBSD/src IgI6nmnregress/usr.sbin/bgpd/integrationtests pftable.sh

   Use shorter timeouts and explicit session ups to make this more reliable.
VersionDeltaFile
1.2+5-4regress/usr.sbin/bgpd/integrationtests/pftable.sh
+5-41 files

OpenBSD/src 4Pe8h5alib/libfuse fuse_ops.c

   FUSE callbacks return a negated errno. Return -ENOSYS if an operation is
   not implemented by a file system.

   OK claudio@
VersionDeltaFile
1.45+5-5lib/libfuse/fuse_ops.c
+5-51 files

OpenBSD/src 3ZPCzGElib/libfuse fuse_ops.c

   File systems can provide a pointer to private data to fuse_main(3)
   or fuse_new(3). However, if the file system implements init() then
   this will be replaced by the return value of init(). If a file
   system wants to keep the original value then it can retrieve it by
   calling fuse_get_context(3).

   OK claudio@
VersionDeltaFile
1.44+5-3lib/libfuse/fuse_ops.c
+5-31 files

OpenBSD/src UNEhDaQusr.bin/ssh packet.c

   use sshpkt_fatal instead of plain fatal() for errors in the packet
   code as this provides context of the failing peer (address, port,
   user, etc). Based on patch from Dag-Erling Smørgrav
VersionDeltaFile
1.341+3-3usr.bin/ssh/packet.c
+3-31 files

OpenBSD/src 6Db7mPklib/libfuse fuse.c

   Don't attempt to validate the mount directory during option parsing.
   Instead, check the result of realpath(3) before calling mount(2)
   and rely on this to confirm that it is indeed a directory.

   File systems like ntfs-3g that don't call fuse_parse_cmdline(3)
   will now print an error message if the directory doesn't exist
   rather than silently failing.

   OK claudio@
VersionDeltaFile
1.61+11-26lib/libfuse/fuse.c
+11-261 files

OpenBSD/src zCdQ7G2gnu/usr.bin/perl/dist/Storable Storable.xs

   Fix signed integer overflow in Storable

   Storable for Perl has a signed integer overflow when deserializing
   a crafted SX_HOOK record

   CVE-2026-57433

   https://lists.security.metacpan.org/cve-announce/msg/41780100/
VersionDeltaFile
1.10+4-1gnu/usr.bin/perl/dist/Storable/Storable.xs
+4-11 files

OpenBSD/src 9XG8fqggnu/usr.bin/perl pp_pack.c, gnu/usr.bin/perl/pod perldiag.pod

   Fix integer overflow in perl pack and unpack

   Perl has an integer overflow in S_measure_struct leading to an
   out-of-bounds heap read in pack and unpack.

   CVE-2026-57432

   https://lists.security.metacpan.org/cve-announce/msg/41780102/
VersionDeltaFile
1.12+6-2gnu/usr.bin/perl/pp_pack.c
1.31+6-0gnu/usr.bin/perl/pod/perldiag.pod
+12-22 files