OpenBSD/src JmRzD7Hsys/uvm uvm_aobj.c

   sys/uvm: validate anonymous object pager requests

   uao_get() trusts the requested page range before allocating pages and
   looking up swap slots; an invalid request can therefore allocate a page
   outside the object and read beyond its swap slot array. Validate the
   request before page lookup or allocation, preserving optional fault
   clustering at the object boundary.

   Reject nonpositive page counts and starting page indices outside the
   object; require the entire range for PGO_ALLPAGES, or a centeridx within
   both the request and the object otherwise. Compare against the remaining
   page count in voff_t and derive pageidx from the validated firstpage,
   avoiding overflow in the bounds check and unchecked narrowing.

   Reported by Andrew Griffiths, thanks!

   OK: kettenis@
VersionDeltaFile
1.123+36-3sys/uvm/uvm_aobj.c
+36-31 files

OpenBSD/src AoC7R4Ysys/arch/arm64/arm64 genassym.cf hibernate_machdep.c, sys/arch/arm64/include cpu.h

   Fix resuming the secondary CPUs when resuming from hibernation.  Like on
   amd64, park the CPUs before unpacking the hibernate image.  On arm64 we
   park the CPUs somewhere safe in the kernel.  When we unpark the CPUs,
   we need to locate its struct cpu_info and stack as these are dynamically
   allocated and the booted kernel may have allocated them in a different
   location.

   ok deraadt@
VersionDeltaFile
1.52+52-1sys/arch/arm64/arm64/locore.S
1.152+26-1sys/arch/arm64/arm64/cpu.c
1.2+10-3sys/arch/arm64/arm64/hibernate_machdep.c
1.57+3-1sys/arch/arm64/include/cpu.h
1.11+3-1sys/arch/arm64/arm64/genassym.cf
+94-75 files

OpenBSD/src vYMzXkPsys/dev/ic ufshci.c

   Add some memory barriers to make writing out the hibernate image work
   on the Radxa Dragon Q6A.  Moving forward we really need a side-effect free
   bus_dmamap_sync(9), but a memory barrier will do the job as long as the
   hardware has cache-coherent DMA.

   ok mglocker@
VersionDeltaFile
1.49+7-1sys/dev/ic/ufshci.c
+7-11 files

OpenBSD/src vkCcGp8sys/arch/arm64/dev aplns.c, sys/dev/ic nvme.c

   Make a failure to allocate a dedicated queue for hibernat support
   non-fatal.

   ok deraadt@, mglocker@
VersionDeltaFile
1.21+11-12sys/arch/arm64/dev/aplns.c
1.130+6-4sys/dev/ic/nvme.c
+17-162 files

OpenBSD/src ra1rbwQgnu/llvm/llvm/lib/Support/Unix Path.inc

   Use getexecpath(3).  Since this is crucial build tooling, if getexecpath(3)
   fails, fallback to the old method in case someone tries to build on an old
   system.  Future clang updates should not contain this fallback code chunk.
   ok kettenis
VersionDeltaFile
1.2+540-162gnu/llvm/llvm/lib/Support/Unix/Path.inc
+540-1621 files

OpenBSD/src anadzivusr.sbin/snmpd snmpd.h snmpd.c

   Replace argv[0] with execvp(3) for fork+exec privsep with getexecpath(3)
   and execv(3).
VersionDeltaFile
1.46+8-8usr.sbin/snmpd/proc.c
1.55+7-4usr.sbin/snmpd/snmpd.c
1.125+2-2usr.sbin/snmpd/snmpd.h
+17-143 files

OpenBSD/src HAwwZ17usr.sbin/radiusd radiusd_file.c radiusd_bsdauth.c

   Replace argv[0] with execvp(3) for fork+exec privsep with getexecpath(3)
   and execv(3).
VersionDeltaFile
1.22+11-8usr.sbin/radiusd/radiusd_bsdauth.c
1.10+10-8usr.sbin/radiusd/radiusd_file.c
+21-162 files

OpenBSD/src wx3BHVPusr.sbin/lpd proc.h proc.c

   Replace argv[0] with execvp(3) for fork+exec privsep with getexecpath(3)
   and execv(3).
   (this lpd is an incomplete replacement which has never been finished, but
   maybe eventually someone will finish it...)
VersionDeltaFile
1.4+13-8usr.sbin/lpd/lpd.c
1.9+4-4usr.sbin/lpd/proc.c
1.2+2-2usr.sbin/lpd/proc.h
+19-143 files

OpenBSD/src CFBdKpEusr.sbin/ldapd ldapd.c, usr.sbin/ldpd ldpd.c

   Replace argv[0] with execvp(3) for fork+exec privsep with getexecpath(3)
   and execv(3).
VersionDeltaFile
1.83+12-13usr.sbin/ldpd/ldpd.c
1.33+9-10usr.sbin/ldapd/ldapd.c
+21-232 files

OpenBSD/src obFaln4sbin/pflogd pflogd.h privsep.c

   Replace argv[0] with execvp(3) for fork+exec privsep with getexecpath(3)
   and execv(3).
VersionDeltaFile
1.68+7-2sbin/pflogd/pflogd.c
1.36+4-4sbin/pflogd/privsep.c
1.9+2-2sbin/pflogd/pflogd.h
+13-83 files

OpenBSD/src MAMLo8Cusr.sbin/authpf authpf.c

   authpf executes absolute-path /sbin/pfctl with execvp(3).  Use execv(3)
   instead.
VersionDeltaFile
1.132+2-2usr.sbin/authpf/authpf.c
+2-21 files

OpenBSD/src FhO0POMsbin/dhcp6leased dhcp6leased.c, sbin/dhcpleased dhcpleased.c

   Use getexecpath(3) in florian's privsep fork+exec daemons.  These programs
   are normally started from rc(8) which provides absolute-paths, so these
   daemons were trusting argv[0] to be safe, unlike the paranoid behaviour in
   sshd(8). If the daemon is started manually without absolute-path, execvp(2)
   was being used which walks $PATH (includes /sbin and /usr/sbin) and it works
   but isn't ideal.  Since getexecpath(3) now always provides a
   realpath(3)-style canonicalized absolute path, execv(2) can be used instead.
VersionDeltaFile
1.42+12-12usr.sbin/rad/rad.c
1.80+11-11sbin/unwind/unwind.c
1.85+10-11sbin/slaacd/slaacd.c
1.48+10-11sbin/dhcpleased/dhcpleased.c
1.24+10-11sbin/dhcp6leased/dhcp6leased.c
+53-565 files

OpenBSD/src AnfqX6rusr.bin/ssh sshd.c

   Use getexecpath(3); if it fails use argv[0] as before with the pre-existing
   code to validate it is an absolute path.  Here's a bit of history:  sshd
   became the first fork+exec privsep daemon (I did some arm-twisting).
   That privsep has recently turned into fork+exec different binaries but
   the SIGHUP restart code still want to re-run the binary from the original path.
   The rc startup sequence always passes an absolute path.  sshd was paranoid
   and validated it.  That made hand-restarts of sshd without absolute paths
   not work.  getexecpath(3) improves the ergonomics.
   ok djm
VersionDeltaFile
1.629+13-4usr.bin/ssh/sshd.c
+13-41 files

OpenBSD/src Mijl1HUsys/arch/arm64/conf GENERIC

   Enable arm64 hibernation support.

   Main credits for enabling arm64 hibernation support goes to kettenis@
   for getting everything to work finally, and mlarkin@ for advising based
   on his amd64/i386 hibernation experience.

   ok kettenis@, deraadt@
VersionDeltaFile
1.318+2-1sys/arch/arm64/conf/GENERIC
+2-11 files

OpenBSD/src limMDdasys/arch/i386/conf ld.script, sys/arch/i386/i386 hibernate_machdep.c

   arm64 hibernate:
   Move the HIBERNATE_HIBALLOC_PAGE mapping in to own functions since on
   arm64 HIBERNATE_HIBALLOC_PAGE is a HIGH VA mapped by uvm at boot, and
   gets a no-op.  Plus adding hibernate data memory region.

   ok kettenis@, deraadt@
VersionDeltaFile
1.64+20-1sys/arch/i386/i386/hibernate_machdep.c
1.13+11-1sys/arch/i386/conf/ld.script
+31-22 files

OpenBSD/src kcn94mCsys/arch/amd64/amd64 hibernate_machdep.c, sys/arch/amd64/conf ld.script

   arm64 hibernate:
   Move the HIBERNATE_HIBALLOC_PAGE mapping in to own functions since on
   arm64 HIBERNATE_HIBALLOC_PAGE is a HIGH VA mapped by UVM at boot, and
   gets a no-op.  Plus adding hibernate data memory region.

   ok kettenis@, deraadt@
VersionDeltaFile
1.54+20-1sys/arch/amd64/amd64/hibernate_machdep.c
1.20+10-2sys/arch/amd64/conf/ld.script
+30-32 files

OpenBSD/src FzBUhxJsys/kern subr_hibernate.c, sys/sys hibernate.h

   Add support for arm64 hibernation, MI part.

   ok kettenis@, deraadt@
VersionDeltaFile
1.159+24-7sys/kern/subr_hibernate.c
1.52+5-1sys/sys/hibernate.h
+29-82 files

OpenBSD/src rWRPUTssys/arch/arm64/arm64 hibernate_asm.S hibernate_machdep.c, sys/arch/arm64/conf kern.ldscript

   Add support for arm64 hibernation, MD part.

   ok kettenis@, deraadt@
VersionDeltaFile
1.1+575-0sys/arch/arm64/arm64/hibernate_machdep.c
1.1+183-0sys/arch/arm64/arm64/hibernate_asm.S
1.1+72-0sys/arch/arm64/include/hibernate_var.h
1.28+40-4sys/arch/arm64/dev/apm.c
1.1+38-0sys/arch/arm64/include/hibernate.h
1.13+13-2sys/arch/arm64/conf/kern.ldscript
+921-62 files not shown
+938-88 files

OpenBSD/src gngGVz4sys/arch/arm64/stand/efiboot conf.c

   Bump version such that we can easily detect hibernate support.
VersionDeltaFile
1.55+2-2sys/arch/arm64/stand/efiboot/conf.c
+2-21 files

OpenBSD/src UYSa0sVsys/arch/arm64/dev apldart.c, sys/dev/fdt xhci_fdt.c

   Implement page table mirroring in apldart(4) and use that to enable the
   IOMMU for the USB controllers on Apple Silicon.

   Based on a diff from Heyang Zhou.
VersionDeltaFile
1.23+91-18sys/arch/arm64/dev/apldart.c
1.45+43-12sys/dev/ofw/ofw_misc.c
1.32+8-3sys/dev/fdt/xhci_fdt.c
1.32+3-1sys/dev/ofw/ofw_misc.h
+145-344 files

OpenBSD/src VgAtHgGusr.sbin/fw_update fw_update.sh

   Fix free space check for unqualified filenames

   In limited instances, fetch recieves an unqualified filename that
   will be fetched into the current directory.  The simple "dirname"
   implementation wasn't smart enough.
VersionDeltaFile
1.70+4-3usr.sbin/fw_update/fw_update.sh
+4-31 files

OpenBSD/src spDjwI7distrib/miniroot install.sub

   install.sub: fix and save spaces

   ok deraadt@
VersionDeltaFile
1.1289+11-16distrib/miniroot/install.sub
+11-161 files

OpenBSD/src lpHWIpYinclude/rpc auth.h

   varifier -> verifier
VersionDeltaFile
1.10+2-2include/rpc/auth.h
+2-21 files

OpenBSD/src FmT9dhainclude/arpa telnet.h

   ascic -> ASCII
VersionDeltaFile
1.8+2-2include/arpa/telnet.h
+2-21 files

OpenBSD/src dqoT0WFinclude resolv.h

   trucation -> truncation
VersionDeltaFile
1.24+2-2include/resolv.h
+2-21 files

OpenBSD/src unbtUuydistrib/sets/lists/comp mi

   sync
VersionDeltaFile
1.1768+3-0distrib/sets/lists/comp/mi
+3-01 files

OpenBSD/src Ixmnyrhlib/libc/gen isgraph.3 iscntrl.3

   functions tests -> functions test
VersionDeltaFile
1.14+3-3lib/libc/gen/isgraph.3
1.15+3-3lib/libc/gen/iscntrl.3
+6-62 files

OpenBSD/src Mp9adlulib/libfuse fuse_mount.3

   functions conforms -> functions conform
VersionDeltaFile
1.6+3-3lib/libfuse/fuse_mount.3
+3-31 files

OpenBSD/src oTlbarrusr.bin/ssh ssh.1

   Change three paragraphs in different parts of the manual page (-O control
   commands, -Q query options, and private key file names) into tagged lists
   to make them more readable; no content change intended.
   OK naddy@; general direction requested by deraadt@.
VersionDeltaFile
1.456+73-73usr.bin/ssh/ssh.1
+73-731 files

OpenBSD/src 8QrlVqEusr.sbin/fw_update fw_update.sh

   Limit size of files fw_update can download

   An unxpectedly large file could fill the disk causing issues for
   install or startup.

   Suggestion and initial code from Acts1631 <acts1631kjv () proton ! me>
   Refactor by me
   Feedback and reads ok dgl@
VersionDeltaFile
1.69+20-1usr.sbin/fw_update/fw_update.sh
+20-11 files