openbsd changes of note 621
More stuff, more fun.
Fix script to not perform tty operations on things that aren’t ttys. Detected by pledge.
New strstr implementation from musl using the much faster two way matching algorithm.
Provide TCB (thread control block) macros for mips64. Now every arch has them.
Add a NAT-T keepalive timer to iked.
In the arm64 pmap, switch pool allocators to avoid running out of KVA when the system is busy.
Merge libdrm 2.4.79.
Prevent cvs server process from reading and buffering too much data when the network is slower than the disk. The flow control mechanism detected this, but the message to slow down wasn’t actually being processed by the reader loop in time, leading to memory exhaustion.
Update nsd to 4.1.16.
Always build a full makewhatis mandoc.db (without -Q) in weekly.
After a forced unmount, also unmount any filesystems below that mount point.
Remove some -Werror that snuck into the tree and cause problems with different compilers.
Flip previously warm pages in the buffer cache to memory above the DMA region if uvm tells us it is available. Pages are not automatically promoted to upper memory. Instead it’s used as additional memory only for what the cache considers long term buffers. I/O still requires DMA memory, so writing to a buffer will pull it back down.
Makefile support for systems with both gcc and clang. Make i386 and amd64 so.
Take a more radical approach to disabling colours in clang.
Some time ago cloning support was added to /dev/bpf. Switch userland to using it, vs bpf0.
When the data buffered for write in tmux exceeds a limit, discard it and redraw. Helps when a fast process is running inside tmux running inside a slow terminal.
Add an internal bootp server to vmd for use by clients.
Add a port of witness(4) lock validation tool from FreeBSD. Use it with mplock, rwlock, and mutex in the kernel.
Implement support for multiple packets per receive DMA buffer in iwm. Implement monitor mode support for iwm (reverted).
Add an fdt blob for octeon systems whose firmware does not provide a device-tree. It will be needed later when more device drivers are attached using fdt.
Perform H-FSC root queue allocation in the kernel.
Add support for -msave-args in gcc on amd64. The usual calling convention of arguments in registers is more difficult to debug. Copying everything to the stack makes it easy to find later.
Properly save and resture FPU context in vmm.
Add futex(2) syscall based on a sane subset of its Linux equivalent.
Remove KGDB. It neither compiles nor works.
Add a constant time AES implementation, from BearSSL.
Remove SSHv1 from ssh.