OpenBSD/src Fd8G6ycdistrib/amd64/iso Makefile

   media is still not big enough
VersionDeltaFile
1.51+2-2distrib/amd64/iso/Makefile
+2-21 files

OpenBSD/src DYBcDhHdistrib/amd64/iso Makefile

by deraadt on ⎇
   grow size of media
VersionDeltaFile
1.50+2-2distrib/amd64/iso/Makefile
+2-21 files

OpenBSD/src eSApUJasys/arch/amd64/amd64 machdep.c, sys/dev/acpi acpi_x86.c acpibtn.c

   We aren't ready to choose S0-over-S3 based upon the S0ix bit in FADT.
   Some machines which work great in S3, don't work great in S0.

   Some people want to be able to force S0, mostly for testing purposes
   (or to notice improvements as changes are made in the tree).  Provide
   a TEMPORARY method via machdep.lidaction=-1 which will be S0-suspend
   while =1 remains S3 suspend.  This button will not remain long-term,
   but for now, and during 7.6, it will be better than nothing.
   ok ratchov kettenis
VersionDeltaFile
1.32+3-2sys/dev/acpi/acpi_x86.c
1.297+2-2sys/arch/amd64/amd64/machdep.c
1.54+2-1sys/dev/acpi/acpibtn.c
+7-53 files

OpenBSD/src TxOhNjasys/arch/amd64/conf RAMDISK

   other growth has happened and I'm out of current culling options,
   so mpi(4) gets removed from the floppy.
VersionDeltaFile
1.87+2-2sys/arch/amd64/conf/RAMDISK
+2-21 files

OpenBSD/src TXI7xBNsys/arch/amd64/amd64 vector.S

   A few manual ret-cleans.  Seeing as these pertain to interrupt servicing,
   the stack utilization ends up near the the deep end of the stack where,
   retcleans are useful. tested for a while in snaps
   ok bluhm
VersionDeltaFile
1.96+16-1sys/arch/amd64/amd64/vector.S
+16-11 files

OpenBSD/src nw0YXLSsys/arch/amd64/amd64 mptramp.S

   manual ret-clean; ok mlarkin
VersionDeltaFile
1.23+2-1sys/arch/amd64/amd64/mptramp.S
+2-11 files

OpenBSD/src YVvAAResys/arch/amd64/amd64 vmm_support.S

   do a manual ret-clean operation inside the vmm_dispatch_intr asm code
   ok mlarkin
VersionDeltaFile
1.28+2-1sys/arch/amd64/amd64/vmm_support.S
+2-11 files

OpenBSD/src TUElws9distrib/special/gzip Makefile, sys/arch/amd64/stand/boot Makefile

   we don't need the NOBYFOUR space-savings option anymore, that codepath
   was replaced a while ago.
   ok tb
VersionDeltaFile
1.10+2-2distrib/special/gzip/Makefile
1.8+2-2sys/arch/riscv64/stand/efiboot/Makefile
1.11+2-2sys/lib/libz/Makefile
1.50+2-2sys/arch/amd64/stand/boot/Makefile
1.45+2-2sys/arch/amd64/stand/cdboot/Makefile
1.24+2-2sys/arch/amd64/stand/efiboot/Makefile.common
+12-127 files not shown
+24-2513 files

OpenBSD/src jD62ioedistrib/alpha/iso Makefile, distrib/amd64/iso Makefile

   include BUILDINFO file in the iso/img files; requested by florian for sysupgrade changes
VersionDeltaFile
1.10+2-2distrib/arm64/iso/Makefile
1.21+2-2distrib/alpha/iso/Makefile
1.49+2-2distrib/amd64/iso/Makefile
1.20+2-2distrib/hppa/iso/Makefile
1.35+2-2distrib/i386/iso/Makefile
1.19+2-2distrib/macppc/iso/Makefile
+12-124 files not shown
+20-2010 files

OpenBSD/src 26KnD25sys/arch/amd64/conf Makefile.amd64

   ret-clean is compatible with unhibernate again, due to a fix in
   LLVM X86RetClean.cpp
   issue observed by mglocker, diagnosed by mlarkin, kettenis, guenther.
VersionDeltaFile
1.137+2-2sys/arch/amd64/conf/Makefile.amd64
+2-21 files

OpenBSD/src YnDyYxLsys/arch/amd64/conf Makefile.amd64

   disable -fret-clean in the kernel until the returns_twice situation is handled
VersionDeltaFile
1.136+2-2sys/arch/amd64/conf/Makefile.amd64
+2-21 files

OpenBSD/src gED6ENMlib/libc/arch/amd64 Makefile.inc, lib/libcrypto/arch/amd64 Makefile.inc

   enable -fret-clean on amd64, for libc libcrypto ld.so kernel, and all the
   ssh tools.  The dynamic objects are entirely ret-clean, static binaries
   will contain a blend of cleaning and non-cleaning callers.
VersionDeltaFile
1.93+4-1usr.bin/ssh/Makefile.inc
1.28+3-1lib/libcrypto/arch/amd64/Makefile.inc
1.6+3-1lib/libc/arch/amd64/Makefile.inc
1.8+2-1libexec/ld.so/amd64/Makefile.inc
1.135+2-1sys/arch/amd64/conf/Makefile.amd64
+14-55 files

OpenBSD/src zqAgsTqdistrib/amd64/iso Makefile

   Grow amd64 install*.{iso,img} because -fret-clean *.tgz sets are a tiny
   bit bigger.
VersionDeltaFile
1.48+2-2distrib/amd64/iso/Makefile
+2-21 files

OpenBSD/src ckP0tkMsys/arch/amd64/amd64 cpu.c

   Explicitly disable MSR_CET_NO_TRACK_EN in MSR_S_CET.  If enabled by the
   boot-process, we don't want to accidentally allow "notrack" indirect
   branches. Linux kernel does the same.  Today it is difficult to do the
   same for userland, because there is 1 known piece of software using
   "notrack" (which needs to be fixed).
   ok kettenis
VersionDeltaFile
1.182+2-2sys/arch/amd64/amd64/cpu.c
+2-21 files

OpenBSD/src M8pocirsys/arch/amd64/amd64 trap.c, sys/arch/arm64/arm64 trap.c

   create a new code ILL_BTCFI associated with SIGILL for trap faults which
   indicate missing indirect branch target instructions (on the two
   architectures which currently have this).  This becomes nicely visible in
   kdump:
     6526 cat      PSIG  SIGILL SIG_DFL code=ILL_BTCFI addr=0x438fad6a990 trapno=21
   ok kettenis sthen miod rsadowski
VersionDeltaFile
1.14+3-2sys/sys/siginfo.h
1.105+2-2sys/arch/amd64/amd64/trap.c
1.48+2-2sys/arch/arm64/arm64/trap.c
+7-63 files

OpenBSD/src LSf2CCjsys/arch/amd64/conf GENERIC RAMDISK_CD, sys/arch/arm64/conf GENERIC RAMDISK

   qwx(4) works well enough to enable
   ok stsp
VersionDeltaFile
1.283+2-2sys/arch/arm64/conf/GENERIC
1.522+2-2sys/arch/amd64/conf/GENERIC
1.213+2-2sys/arch/arm64/conf/RAMDISK
1.205+2-2sys/arch/amd64/conf/RAMDISK_CD
+8-84 files

OpenBSD/src eOi0nm2distrib/special/sysctl sysctl.c, sys/arch/amd64/amd64 cpu.c machdep.c

   Add new amd64-only sysctl machdep.retpoline which says whether the cpu
   requires retpoline.  If 0, we should do everything in our power to avoid
   pure retpoline (replacing it with a simple thunk where possible), because
   by it's nature retpoline converts an indirect-branch into a direct branch
   (push to stack & ret), and therefore it is an IBT (endbr64) bypass method.
   This sysctl leverages guenther's decision-making logic in the kernel, which
   already uses codepatch to fix the kernel retpoline thunk.
   In my opinion, the retpoline-using logic really should be flipped; ROP
   execution bypassing IBT to re-enter regular control flow is more dangerous
   than spectre.
   ok kettenis
VersionDeltaFile
1.16+5-1distrib/special/sysctl/sysctl.c
1.161+4-2sys/arch/amd64/include/cpu.h
1.178+4-1sys/arch/amd64/amd64/cpu.c
1.290+3-1sys/arch/amd64/amd64/machdep.c
+16-54 files

OpenBSD/src DUpmyzylibexec/ld.so/aarch64 ld.script, libexec/ld.so/alpha ld.script

   For strange reasons which made sense at the time, the text segment was
   placed head of the btext (boot.text) segment.  (the boot.text segment is
   "unmapped" after initization, as a self-protection mechanism).  this meant
   the LOAD's virtual addresses were not in sequence, which clearly isn't
   what we intended.
VersionDeltaFile
1.6+3-3libexec/ld.so/hppa/ld.script
1.6+3-3libexec/ld.so/riscv64/ld.script
1.7+3-3libexec/ld.so/aarch64/ld.script
1.4+3-3libexec/ld.so/sh/ld.script
1.4+3-3libexec/ld.so/arm/ld.script
1.6+2-2libexec/ld.so/alpha/ld.script
+17-176 files not shown
+23-2312 files

OpenBSD/src wRjqzcolib/libc/sys syscall.2, sys/arch/hppa/hppa trap.c

   remove support for syscall(2) -- the "indirection system call" because
   it is a dangerous alternative entry point for all system calls, and thus
   incompatible with the precision system call entry point scheme we are
   heading towards.  This has been a 3-year mission:
   First perl needed a code-generated wrapper to fake syscall(2) as a giant
   switch table, then all the ports were cleaned with relatively minor fixes,
   except for "go".  "go" required two fixes -- 1) a framework issue with
   old library versions, and 2) like perl, a fake syscall(2) wrapper to
   handle ioctl(2) and sysctl(2) because "syscall(SYS_ioctl" occurs all over
   the place in the "go" ecosystem because the "go developers" are plan9-loving
   unix-hating folk who tried to build an ecosystem without allowing "ioctl".
   ok kettenis, jsing, afresh1, sthen
VersionDeltaFile
1.168+18-51sys/arch/mips64/mips64/trap.c
1.17+0-68lib/libc/sys/syscall.2
1.55+20-44sys/arch/sh/sh/trap.c
1.116+21-33sys/arch/sparc64/sparc64/trap.c
1.129+9-28sys/arch/m88k/m88k/trap.c
1.162+11-25sys/arch/hppa/hppa/trap.c
+79-24918 files not shown
+158-46124 files

OpenBSD/src Wcof79Osys/arch/arm/arm sigcode.S, sys/arch/arm64/arm64 locore.S

   The sigtramp was calling sigreturn(2), and upon failure exit(2), which
   doesn't make sense anymore.  It is better to just issue an illegal
   instruction.
   ok kettenis, with some misgivings about inconsistant approaches between
   architectures.
   In the future we could change sigreturn(2) to never return an exit code,
   but always just terminate the process.  We stopped this system call
   from being callable ages ago with msyscall(2), and there is no stub for
   it in libc.. maybe that's the next step to take?
VersionDeltaFile
1.17+11-13sys/arch/riscv64/riscv64/locore.S
1.31+2-10sys/arch/m88k/m88k/subr.S
1.207+3-8sys/arch/hppa/hppa/locore.S
1.45+2-8sys/arch/arm64/arm64/locore.S
1.14+2-7sys/arch/arm/arm/sigcode.S
1.19+3-5sys/arch/sh/sh/locore_subr.S
+23-516 files not shown
+35-7612 files

OpenBSD/src Quiav7Ylibexec/ld.so/amd64 SYS.h, libexec/ld.so/arm SYS.h

   Make sure the syscall table entries are aligned on a 4-byte boundary.
   Required for strict-alignment architectures and a good idea on others.
   same as kettenis commit to libc
VersionDeltaFile
1.6+2-1libexec/ld.so/sparc64/SYS.h
1.4+2-1libexec/ld.so/sh/SYS.h
1.3+2-1libexec/ld.so/riscv64/SYS.h
1.5+2-1libexec/ld.so/amd64/SYS.h
1.6+2-1libexec/ld.so/arm/SYS.h
1.3+2-1libexec/ld.so/hppa/SYS.h
+12-67 files not shown
+26-1313 files

OpenBSD/src zCbLj9Wsys/arch/alpha/alpha locore.s, sys/arch/amd64/amd64 locore.S

   Add a new label "sigcodecall" inside every sigtramp definition, directly
   in front of the syscall instruction.  This is used to calculate the start
   of the syscall for SYS_sigreturn and pinned system calls.
   ok kettenis
VersionDeltaFile
1.47+4-2sys/arch/powerpc64/powerpc64/locore.S
1.206+4-2sys/arch/hppa/hppa/locore.S
1.16+3-2sys/arch/riscv64/riscv64/locore.S
1.54+3-1sys/arch/alpha/alpha/locore.s
1.142+3-1sys/arch/amd64/amd64/locore.S
1.13+3-1sys/arch/arm/arm/sigcode.S
+20-97 files not shown
+40-1613 files

OpenBSD/src GkYgRR9lib/libc/arch/sparc64 SYS.h, libexec/ld.so/aarch64 SYS.h

   Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
   with {uint offset, uint syscall#} entries in libc & ld.so.
   In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
   are duplicated because additional or inline uses occur (that situation
   is handled elsewhere)
   ok kettenis
VersionDeltaFile
1.18+67-26lib/libc/arch/sparc64/SYS.h
1.4+23-16libexec/ld.so/amd64/SYS.h
1.2+21-14libexec/ld.so/riscv64/SYS.h
1.2+21-14libexec/ld.so/hppa/SYS.h
1.3+21-13libexec/ld.so/sh/SYS.h
1.6+20-13libexec/ld.so/aarch64/SYS.h
+173-9693 files not shown
+689-33399 files

OpenBSD/src dt6YiMAlib/csu/amd64 md_init.h, lib/csu/hppa md_init.h

   crt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
   reproducing the relevant defines and code in a different place) to perform
   minor relocations.  If things go very wrong, it would call _dl_exit() --
   a locally defined crt0 function which is syscall exit(2).  We don't need
   to call exit(2) for this obscure case which doesn't happen and provides no
   debugging information. An 'abort' is going to provide better information.
   So let's change the function name to _dso_abort() and make it a single
   illegal instruction.
   ok guenther
VersionDeltaFile
1.21+7-9lib/csu/mips64/md_init.h
1.16+5-9lib/csu/hppa/md_init.h
1.12+4-6lib/csu/powerpc/md_init.h
1.13+4-6lib/csu/i386/md_init.h
1.11+4-6lib/csu/amd64/md_init.h
1.11+4-6lib/csu/sh/md_init.h
+28-4223 files not shown
+83-11629 files

OpenBSD/src Oq1Vxxssys/arch/amd64/conf GENERIC

   enable mbg(4) at pci on amd64, from Maurice Janssen
VersionDeltaFile
1.519+2-1sys/arch/amd64/conf/GENERIC
+2-11 files

OpenBSD/src YoxrOlSsys/arch/amd64/amd64 cpu.c, sys/arch/i386/i386 machdep.c

   Some hypervisors (such as Hertzner) allow msr read of DE_CFG (which does
   not indicate bit 9 set, but they could have a firmware fix) but then block
   a msr write to bit 9 (which disables enough AVX optimizations
   to prevent the exfiltration of data), with a fault.  So let's also check
   the HV bit before we decide to modify the bit.  hypervisors are expected
   to set that bit. tested by lucas at sexy dot is.
   with jsg, ok mlarkin
VersionDeltaFile
1.173+3-2sys/arch/amd64/amd64/cpu.c
1.665+3-2sys/arch/i386/i386/machdep.c
+6-42 files

OpenBSD/src ixuZiUhsys/arch/amd64/amd64 cpu.c, sys/arch/amd64/include specialreg.h

   Set DE_CFG[9] -- a chickenbit which stops Zenbleed.  The chickenbit may
   have other side-effects (not disclosed by AMD), and firmwares fixes may
   be better (and have other side-effects, same story).  Newer processors
   will probably be validated more carefully by AMD.
   Issue found by Tavis Ormandy.
   This is errata 7.2/033_amdcpu.patch.sig and 7.3/011_amdcpu.patch.sig
   Zenbleed also blocked on select cpus by using errata
   7.3/012_amdfirmware.patch.sig + 7.3/013_amdcpufirmware.patch /
   7.2/034_amdfirmware.patch.sig + 7.2/035_amdcpufirmware.patch.sig
   which load AMD cpu firmwares (firmware.openbsd.org is updated often to
   contain the best firmwares)
   ok jsg
VersionDeltaFile
1.664+12-8sys/arch/i386/i386/machdep.c
1.172+12-7sys/arch/amd64/amd64/cpu.c
1.105+2-1sys/arch/amd64/include/specialreg.h
1.83+2-1sys/arch/i386/include/specialreg.h
+28-174 files

OpenBSD/src wKbsdsbsys/arch/amd64/amd64 acpi_machdep.c

   upon resume, fpureset() was being called prematurely (before cpu_init,
   which does not matter today, but will matter a lot in near future).
   But actually it isn't needed at all, cpu_init() does it again.
   So remove the call.
   ok guenther
VersionDeltaFile
1.108+1-2sys/arch/amd64/amd64/acpi_machdep.c
+1-21 files

OpenBSD/src ZLHRiDtlib/libcrypto/aes/asm aesni-x86_64.pl bsaes-x86_64.pl, lib/libcrypto/camellia/asm cmll-x86_64.pl

   Add endbr64 where needed by inspection.  Passes regresson tests.
   ok jsing, and kind of tb an earlier version
VersionDeltaFile
1.11+15-0lib/libcrypto/aes/asm/aesni-x86_64.pl
1.6+14-0lib/libcrypto/aes/asm/bsaes-x86_64.pl
1.5+14-0lib/libcrypto/aes/asm/vpaes-x86_64.pl
1.12+13-0lib/libcrypto/aes/asm/aes-x86_64.pl
1.7+8-0lib/libcrypto/camellia/asm/cmll-x86_64.pl
1.15+5-1lib/libcrypto/rc4/asm/rc4-x86_64.pl
+69-122 files not shown
+113-128 files

OpenBSD/src PUKozyrlibexec/ld.so/amd64 SYS.h

   endbr64 is potentially neccessary in the syscall stubs.
VersionDeltaFile
1.3+2-1libexec/ld.so/amd64/SYS.h
+2-11 files