version 1.21, 2023/04/03 19:08:11 |
version 1.22, 2023/04/03 21:51:34 |
|
|
<li>Various kernel improvements: |
<li>Various kernel improvements: |
<ul> |
<ul> |
|
|
|
<li>Added support for the Rockchip RK3568 processor. |
|
<li>Implemented the <a |
|
href="https://man.openbsd.org/waitid.2">waitid(2)</a> system call |
|
which is now part of POSIX and used by Mozilla. |
|
<li>Introduced <a |
|
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>, a |
|
machine-independent clock interrupt controller. Switched all |
|
architectures to use this new kernel subsystem. |
|
<li>Introduced a new kern.autoconf_serial <a |
|
href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> that can be used |
|
by userland to monitor state changes of the kernel device tree. |
|
<li>Fixed <a href="https://man.openbsd.org/pmap.9">pmap(9)</a> bugs |
|
involving entering an executable mapping for a page before |
|
synchronizing the data and instruction cache on arm64 and riscv64. |
|
<li>Add detection for Spectre-BHB Branch History Injection |
|
vulnerability related CLRBHB, ECBHB and CSV2_3/HCXT feature bits. |
|
<li>Add <a |
|
href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a> |
|
to the kernel timecounting API. Together with getbinruntime(), it |
|
provides a fast, monotonic clock that only advances while the system |
|
is not suspended. |
|
<li>Prevent detatching ("bioctl -d detach") of a boot volume on a RAID managed by <a |
|
href="https://man.openbsd.org/bioctl.8">bioctl(8)</a>. |
|
<li>Added WTRAPPED option for <a |
|
href="https://man.openbsd.org/waitid.2">waitid(2)</a> to control |
|
whether CLD_TRAPPED state changes, i.e., ptrace(2) on a process, are reported. |
<li>On arm64, avoid usin 1GB mappings for the identity map in the |
<li>On arm64, avoid usin 1GB mappings for the identity map in the |
early kernel bootstrap phase and when booting the secondary CPUs. This |
early kernel bootstrap phase and when booting the secondary CPUs. This |
avoids accidentally mapping memory regions that should not be mapped |
avoids accidentally mapping memory regions that should not be mapped |
(i.e. secure memory) as all mapped memory can be accessed |
(i.e. secure memory) as all mapped memory can be accessed |
speculatively. |
speculatively. |
|
|
<li>Added arm64 detection of EPAN feature bit. Enhanced Privileged Access Never |
<li>Added arm64 detection of EPAN feature bit. Enhanced Privileged Access Never |
(EPAN) allows Privileged Access Never to be used with Execute-only mappings. |
(EPAN) allows Privileged Access Never to be used with Execute-only mappings. |
|
|
<li>Removed copystr(9) from public API. |
<li>Removed copystr(9) from public API. |
|
|
<li>Made the USB ports work after a suspend/resume cycle on the x13s. |
<li>Made the USB ports work after a suspend/resume cycle on the x13s. |
<li>Set the arm64 default for the machdep.lidaction <a |
<li>On arm64, add a machdep.lidaction <a |
href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> to 1, making the |
href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> for <a |
|
href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> Apple Silicon |
|
laptops.<br> |
|
The arm64 default for the machdep.lidaction is 1, making the |
system suspend when the lid is closed. <a |
system suspend when the lid is closed. <a |
href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> provides support |
href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> provides support |
for the lid position sensor. |
for the lid position sensor. |
|
<li>Disable the screen backlight with <a |
|
href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> on Apple Silicon |
|
laptops when the lid is closed. |
<li>Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious |
<li>Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious |
wakeups while other CPUs are still active. |
wakeups while other CPUs are still active. |
<li>Added cursor back tab support to <a |
<li>Added cursor back tab support to <a |
|
|
DTIOCARGS to get the type of probe arguments. |
DTIOCARGS to get the type of probe arguments. |
<li>Added a priority queue to <a |
<li>Added a priority queue to <a |
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
|
</ul> |
</ul> |
|
|
<li>SMP Improvements |
<li>SMP Improvements |
<ul> |
<ul> |
|
<li>Unlocked <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>, <a |
|
href="https://man.openbsd.org/munmap.2">munmap(2)</a>, and <a |
|
href="https://man.openbsd.org/mprotect.2">mprotect(2)</a>. |
|
<li>Unlocked <a href="https://man.openbsd.org/sched_yield.2">sched_yield(2)</a>. |
|
<li>Added support for per-cpu event counters, to be used for clock and |
|
IPI counters where the event counted occurs across all CPUs in the |
|
system. |
|
<li>Moved <a href="https://man.openbsd.org/pf.4">pf(4)</a> purge |
|
tasks out from under the kernel lock. |
|
<li>Unlocked <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> |
|
SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR, and SIOCGIFGLIST. |
|
<li>Protected interface tables in <a |
|
href="https://man.openbsd.org/pf.4">pf(4)</a> with PF_LOCK(), allowing |
|
removal of NET_LOCK() protection from the <a |
|
href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> code path in pf. |
|
<li>Unlocked <a |
|
href="https://man.openbsd.org/getsockopt.2">getsockopt(2)</a> and <a |
|
href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a>. |
|
<li>Completed removing kernel lock from IPv6 read ioctls. |
|
<li>Unlocked <a href="https://man.openbsd.org/minherit.2">minherit(2)</a>. |
<li>Made <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a |
<li>Made <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a |
href="https://man.openbsd.org/tap.4">tap(4)</a> event filters MP-safe. |
href="https://man.openbsd.org/tap.4">tap(4)</a> event filters MP-safe. |
<li>Unlocked <a href="https://man.openbsd.org/utrace.2">utrace(2)</a>. |
<li>Unlocked <a href="https://man.openbsd.org/utrace.2">utrace(2)</a>. |
|
|
3-thread deadlock between <a |
3-thread deadlock between <a |
href="https://man.openbsd.org/msync.2">msync(2)</a>, page-fault and <a |
href="https://man.openbsd.org/msync.2">msync(2)</a>, page-fault and <a |
href="https://man.openbsd.org/mmap.2">mmap(2)</a>. |
href="https://man.openbsd.org/mmap.2">mmap(2)</a>. |
|
|
<li>Unlocked <a |
<li>Unlocked <a |
href="https://man.openbsd.org/select.2">select(2)</a>, <a |
href="https://man.openbsd.org/select.2">select(2)</a>, <a |
href="https://man.openbsd.org/pselect.2">pselect(2)</a>, <a |
href="https://man.openbsd.org/pselect.2">pselect(2)</a>, <a |
|
|
<!-- XXX maybe remove again? --> |
<!-- XXX maybe remove again? --> |
<li>Fixed frame buffer corruption and additional bugs after wakeup |
<li>Fixed frame buffer corruption and additional bugs after wakeup |
on Apple Silicon laptops and the Lenovo x13s. |
on Apple Silicon laptops and the Lenovo x13s. |
|
|
|
<li>Added support for the backlight connector property to <a |
|
href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> as in <a |
|
href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>, making <a |
|
href="https://man.openbsd.org/xbacklight.1">xbacklight(1)</a> work |
|
when using the Xorg modesetting driver. |
|
|
</ul> |
</ul> |
|
|
<li>VMM/VMD improvements |
<li>VMM/VMD improvements |
<ul> |
<ul> |
|
|
|
<li>Updated <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> to |
|
allow guests to read MSR_HWCR and MSR_PSTATEDEF, which is necessary to |
|
determine the TSC frequency on AMD families 17h and 19h. |
|
<li>Allocated reference for vm and vcpu SLISTs in <a |
|
href="https://man.openbsd.org/vmm.4">vmm(4)</a>, keeping vmm from |
|
triggering excessive wakeup calls while iterating through the list of |
|
vms while servicing an <a |
|
href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>. |
|
<li>Set <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> RAX guest |
|
register state based on VMCB. |
|
<li>Removed locking in <a |
|
href="https://man.openbsd.org/vmm.4">vmm(4)</a> vmm_intr_pending, |
|
reducing slowdowns due to requests for a lock held while the VM is |
|
running. |
|
<li>Increased speed of delivery of interrupts to a running vcpu in <a |
|
href="https://man.openbsd.org/vmm.4">vmm(4)</a>. |
|
<li>Made <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> treat vcpu |
|
lists as immutable, removing the need to reference count individual |
|
vcpu objects and use a rwlock. |
<li>Implemented zero-copy operations on virtqueues in <a |
<li>Implemented zero-copy operations on virtqueues in <a |
href="https://man.openbsd.org/vmd.8">vmd(8)</a>. |
href="https://man.openbsd.org/vmd.8">vmd(8)</a>. |
|
|
<li>Provided a detailed e820 memory map when booting <a |
<li>Provided a detailed e820 memory map when booting <a |
href="https://man.openbsd.org/vmd.8">vmd(8)</a> guests with SeaBIOS. |
href="https://man.openbsd.org/vmd.8">vmd(8)</a> guests with SeaBIOS. |
When a vm initializes memory ranges, we now track what each range |
When a vm initializes memory ranges, we now track what each range |
|
|
<li>Various new userland features: |
<li>Various new userland features: |
<ul> |
<ul> |
|
|
|
|
|
<li>Added <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> |
|
argument support for msyscall, pledge, unveil, __realpath, ypconnect |
|
and __tmpfd. |
<li>Added <a |
<li>Added <a |
|
href="https://man.openbsd.org/mimmutable.2">mimmutable(2)</a> and <a |
|
href="https://man.openbsd.org/munmap.2">munmap(2)</a> reporting to <a |
|
href="https://man.openbsd.org/kdump.1">kdump(1)</a>. |
|
<li>Added <a |
href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> reporting |
href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> reporting |
for process kills due to <a |
for process kills due to <a |
href="https://man.openbsd.org/execve.2">execve(2)</a> from non-pinned |
href="https://man.openbsd.org/execve.2">execve(2)</a> from non-pinned |
syscall address |
syscall address |
|
|
</ul> |
</ul> |
|
|
<li>Various bugfixes and tweaks in userland: |
<li>Various bugfixes and tweaks in userland: |
<ul> |
<ul> |
|
|
|
<li>The libc functions that use the zoneinfo database to convert |
|
time between different timezones allowed the TY environment variable |
|
to point to any file on the system to be reas as zoneinfo file. This |
|
was restricted to paths starting with /usr/share/zoneinfo in the TZ |
|
environement variable. Reject other absolute paths in TZ. The |
|
assumption is that zoneinfo files under /usr/share/zoneinfo are |
|
trustworthy, but |
|
|
|
|
|
<li>Made <a href="https://man.openbsd.org/ldomctl.8">ldomctl(8)</a> |
|
accept more descriptive name-based paths in addition to number-based |
|
paths in <a |
|
href="https://man.openbsd.org/ldom.conf.5">ldom.conf(5)</a>. |
|
<li>Dropped support for $rc_exec in <a |
|
href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a>. The rc_exec |
|
function should be used instead. |
|
<li>Excluded /tmp/*.shm files from /tmp cleaning in <a |
|
href="https://man.openbsd.org/daily.8">daily(8)</a>. Removing them |
|
interferes with programs that use shared memory via <a |
|
href="https://man.openbsd.org/shm_open.3">shm_open(3)</a>. |
|
<li>Added zap-to-char and zap-up-to-char to <a |
|
href="https://man.openbsd.org/mg.1">mg(1)</a>. Bound zap-to-char to |
|
M-z. |
|
<li>Added support to <a |
|
href="https://man.openbsd.org/gunzip.1">gunzip(1)</a> for zip files |
|
that contain a single member. |
|
<li>Fixed <a href="https://man.openbsd.org/ed.1">ed(1)</a> to print |
|
bytes read/written and the ? prompt to stdout, not stderr. |
|
<li>Modified the vmstat view in <a |
|
href="https://man.openbsd.org/systat.1">systat(1)</a> to measure |
|
elapsed time using <a |
|
href="https://man.openbsd.org/clock_gettime.2">clock_gettime(2)</a>. |
|
<li>Fixed handling of escaped backslashes in <a |
|
href="https://man.openbsd.org/vi.1">vi(1)</a> ex_range. |
|
<li>Corrected <a href="https://man.openbsd.org/top.1">top(1)</a> |
|
display of online CPUs which can change based on the <a |
|
href="https://man.openbsd.org/sysctl.2">sysctl(2)</a> sysctl setting. |
<li>Added support for a personal <a |
<li>Added support for a personal <a |
href="https://man.openbsd.org/units.1">units(1)</a> library by passing |
href="https://man.openbsd.org/units.1">units(1)</a> library by passing |
-f multiple times. |
-f multiple times. |
|
|
href="https://man.openbsd.org/netstart.8">netstart(8)</a>, as this |
href="https://man.openbsd.org/netstart.8">netstart(8)</a>, as this |
does not depend on network access. |
does not depend on network access. |
|
|
|
<li>Made <a href="https://man.openbsd.org/rc.8">rc(8)</a> print the |
|
name of each library before relinking as a signal to the operator that |
|
boot has not stalled. |
|
|
<li>Implemented periodic display in <a |
<li>Implemented periodic display in <a |
href="https://man.openbsd.org/iostat.8">iostat(8)</a>. |
href="https://man.openbsd.org/iostat.8">iostat(8)</a>. |
|
|
|
|
href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s. |
href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s. |
|
|
<li>Fixed .wav files generated by <a |
<li>Fixed .wav files generated by <a |
href="https://man.openbsd.org/aucat.1">aucat(1)</a> by using extended |
; href="https://man.openbsd.org/aucat.1">aucat(1)</a> by using extended |
header format. |
header format. |
<li>In <a |
<li>In <a |
href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>, use the |
href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>, use the |
|
|
<li>Improved hardware support and driver bugfixes, including: |
<li>Improved hardware support and driver bugfixes, including: |
<ul> |
<ul> |
|
|
|
<li>Added support for the Wacom One M CTL-672 tablet to <a |
|
href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>. |
|
<li>Added support for the Rockchip RK3566/RK3568 SoCs. |
|
<li>Added support for the RK3568 PCIe controller to <a |
|
href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>. |
|
<li>Converted more RTC drivers to use todr_attach(). Quality of the |
|
RTC is set such that "discrete" RTC chips are preferred over RTCs |
|
integrated on a SoC. |
|
<li>Added support for the DS1339 RTC as found on the PiJuice. |
|
<li>Introduced <a |
|
href="https://man.openbsd.org/pijuice.4">pijuice(4)</a>, an apm/sensor |
|
driver for the PiJuice HAT UPS. |
|
<li>Added <a |
|
href="https://man.openbsd.org/qcdwusb.4">qcdwusb(4)</a>, a driver |
|
controlling the interface logic for the Synopsis DesignWare USB 3.0 |
|
controller found on various Qualcomm Snapdragon SoCs. |
|
<li>Disabled <a href="https://man.openbsd.org/smmu.4">smmu(4)</a> |
|
for the Qualcomm SC8280XP on FDT attachment as on ACPI. |
|
<li>Added support for the PCIe controller on the Qualcomm SC8280XP |
|
to <a href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>. |
|
<li>Extended arm64 suspend/resume to include support for parking |
|
CPUs in a WFE/WFI loop. |
|
<li>Added <a href="https://man.openbsd.org/qcrtc.4">qcrtc(4)</a>, a |
|
driver for the RTC found on Qualcomm PMICs. |
|
<li>Added <a href="https://man.openbsd.org/qcpon.4">qcpon(4)</a>, a |
|
driver for the Qualcomm PMIC block that hosts the powerkey and reset |
|
input. |
|
<li>Added <a |
|
href="https://man.openbsd.org/qcpmicgpio.4">qcpmicgpio(4)</a>, a |
|
driver for the GPIO block inside the Qualcomm PMICs. |
|
<li>Added <a href="https://man.openbsd.org/qcpmic.4">qcpmic(4)</a>, |
|
a driver for the SPMI-connected PMICs found on Qualcomm SoCs. |
|
<li>Added <a href="https://man.openbsd.org/qcspmi.4">qcspmi(4)</a>, |
|
a driver for the SPMI PMIC Arbiter found on Qualcomm SoCs. |
|
<li>Made <a |
|
href="https://man.openbsd.org/aplhidev.4">aplhidev(4)</a> recognize M1 |
|
laptops with touchbars and Translated Fn+(1-10,-,=) keys to F1-F12 on |
|
these systems. |
|
<li>Added suspend/resume support to <a |
|
href="https://man.openbsd.org/aplns.4">aplns(4)</a>. |
|
<li>Implemented wakeup interrupt support in <a |
|
href="https://man.openbsd.org/aplintc.4">aplintc(4)</a>. |
|
<li>Added suspend/resume support to control the power domain to <a |
|
href="https://man.openbsd.org/aplsart.4">aplsart(4)</a>. |
|
<li>Added <a href="https://man.openbsd.org/qcpdc.4">qcpdc(4)</a>, a |
|
driver for the Qualcomm Power Domain controller found on Qualcomm |
|
SoCs. |
|
<li>Made the power button function as a wakeup button during suspend |
|
in <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>. |
|
<li>Put CPUs in the lowest P-state before the final suspend step, |
|
needed for systems where we park CPUs in a low-power idle state |
|
ourselves. |
|
<li>Added <a href="https://man.openbsd.org/qcpwm.4">qcpwm(4)</a>, a |
|
driver for the PWM found on Qualcomm SoCs. |
|
<li>Added <a href="https://man.openbsd.org/aplpwm.4">aplpwm(4)</a>, |
|
a driver for the PWM controller found on Apple Silicon. |
|
<li>Added <a |
|
href="https://man.openbsd.org/pwmleds.4">pwmleds(4)</a>, a driver for |
|
PWM controlled LEDs. |
|
<li>Implemented <a |
|
href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> support for the |
|
(optional) MSI controller of the Synopsis Designware PCIe host bridge. |
|
<li>Added <a href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a> |
|
support for the Unified Battery feature often found in newer Logitech |
|
HID++ hardware. |
|
<li>Worked around incomplete ACPI tables on the Lenovo x13s by |
|
loading the alternate device tree binaries from disk. |
|
<li>Set console output to the framebuffer on Lenovo x13s machines. |
|
<li>Improve Apple support by increasing the <a |
|
href="https://man.openbsd.org/apliic.4">apliic(4)</a> transfer |
|
completion timeout to 100ms to accommodate USB Type-C PD chips. |
|
<li>Added <a href="https://man.openbsd.org/tipd.4">tipd(4)</a>, a |
|
driver fixing USB hotplug of type-C connectors on Apple Silicon |
|
hardware. |
|
<li>Improved <a |
|
href="https://man.openbsd.org/aplpmu.4">aplpmu(4)</a> range check to |
|
protect against overflow. |
|
<li>Added <a |
|
href="https://man.openbsd.org/aplefuse.4">aplefuse(4)</a>, a driver |
|
for the eFuses on Apple Silicon SoCs. |
|
<li>Prevented a possible crash when a <a |
|
href="https://man.openbsd.org/ugen.4">ugen(4)</a> device is detached. |
|
<li>Implemented wakeup interrupt handling in <a |
|
href="https://man.openbsd.org/agintc.4">agintc(4)</a>. |
<li>Enabled <a |
<li>Enabled <a |
href="https://man.openbsd.org/pcagpio.4">pcagpio(4)</a> and <a |
href="https://man.openbsd.org/pcagpio.4">pcagpio(4)</a> and <a |
href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>, making the SFP |
href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>, making the SFP |
port on the ClearFog Base (CN9130) work. |
port on the ClearFog Base (CN9130) work. |
|
<li>Added <a href="https://man.openbsd.org/uftdi.4">uftdi(4)</a> |
<li>Added <a href="https://man.openbsd.org/uftdi.4">uftdi(4)</a> support for FTDI FT232R. |
support for FTDI FT232R. |
|
|
<li>Hooked up the same USB device drivers on riscv64 as done in the |
<li>Hooked up the same USB device drivers on riscv64 as done in the |
arm64 architecture kernel.<br>Enabled access to <a |
arm64 architecture kernel.<br>Enabled access to <a |
href="https://man.openbsd.org/usb.4">usb(4)</a>, <a |
href="https://man.openbsd.org/usb.4">usb(4)</a>, <a |
|
|
href="https://man.openbsd.org/ucom.4">ucom(4)</a> and <a |
href="https://man.openbsd.org/ucom.4">ucom(4)</a> and <a |
href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>. |
href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>. |
|
|
|
<!-- audio --> |
|
<li>Made <a href="https://man.openbsd.org/azalia.4">azalia(4)</a> |
|
match on Intel 500 Series HD Audio. |
|
<li>Made <a |
|
href="https://man.openbsd.org/aplaudio.4">aplaudio(4)</a> calculate |
|
the bit clock based on numbers of channels, bytes/sample and sample |
|
rate. |
|
<li>Attached Apollo Lake HD Audio device to <a |
|
href="https://man.openbsd.org/azalia.4">azalia(4)</a>, enabling audio. |
|
|
<li>Enabled <a |
<li>Enabled <a |
href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a> power |
href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a> power |
management for PCI devices. |
management for PCI devices. |
|
|
<li>Added <a href="https://man.openbsd.org/psci.4">psci(4)</a> (ARM |
<li>Added <a href="https://man.openbsd.org/psci.4">psci(4)</a> (ARM |
Power State Coordination Interface) support for available deep idle |
Power State Coordination Interface) support for available deep idle |
states as advertised in device trees. |
states as advertised in device trees. |
<li>Attached Apollo Lake HD Audio device to <a |
|
href="https://man.openbsd.org/azalia.4">azalia(4)</a>, enabling audio. |
|
<li>In <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>, |
<li>In <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>, |
handled different register layouts in modern Rockchip SoCs as seen in |
handled different register layouts in modern Rockchip SoCs as seen in |
the RK356x and RK3588. |
the RK356x and RK3588. |
|
|
<li>Added RK3588 support to <a |
<li>Added RK3588 support to <a |
href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and <a |
href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and <a |
href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>. |
href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>. |
<li>Switched sparc64 to <a |
|
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
<li>Switched arm <a |
|
href="https://man.openbsd.org/amptimer.4">amptimer(4)</a> and <a |
|
href="https://man.openbsd.org/armv7/agtimer.4">agtimer(4/armv7)</a> to |
|
<a href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
<li>Switched armv7 <a |
|
href="https://man.openbsd.org/dmtimer.4">dmtimer(4)</a> and <a |
|
href="https://man.openbsd.org/sxitimer.4">sxitimer(4)</a> to <a |
|
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
<li>Switched armv7 <a |
|
href="https://man.openbsd.org/gptimer.4">gptimer(4)</a> to <a |
|
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
<li>Added a kernel-facing API for <a |
|
href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>. |
|
<li>Added <a href="https://man.openbsd.org/mvortc.4">mvortc(4)</a>, |
<li>Added <a href="https://man.openbsd.org/mvortc.4">mvortc(4)</a>, |
a driver for the RTC on the ARMADA 38x series. |
a driver for the RTC on the ARMADA 38x series. |
<li>Added <a href="https://man.openbsd.org/mvodog.4">mvodog(4)</a>, |
<li>Added <a href="https://man.openbsd.org/mvodog.4">mvodog(4)</a>, |
|
|
|
|
<li>New or improved network hardware support: |
<li>New or improved network hardware support: |
<ul> |
<ul> |
|
<li>Enabled <a href="https://man.openbsd.org/em.4">em(4)</a> IPv4, |
|
TCP and UDP checksum offloading and VLAN HW tagging on devices with 82575, 82576, |
|
i350 and i210 chipsets. |
|
<li>Improved <a href="https://man.openbsd.org/mcx.4">mcx(4)</a> |
|
performance by using interrupt-based command completion. |
|
<li>Fixed a panic seen with <a |
|
href="https://man.openbsd.org/rge.4">rge(4)</a> RTL8125 with MCLGETL. |
<li>Add <a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>, a |
<li>Add <a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>, a |
driver for the Synopsis DesignWare Ethernet QoS controller used on the |
driver for the Synopsis DesignWare Ethernet QoS controller used on the |
NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake. |
NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake. |
|
|
|
|
<li>Added or improved wireless network drivers: |
<li>Added or improved wireless network drivers: |
<ul> |
<ul> |
<li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> issues with suspend/resume and possible firmware crashes on the M2 Macbook Air. |
<li>Bumped tsleep timeout for <a |
|
href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> PCI devices to help |
|
prevent failures loading firmware, particularly on Apple M2 laptops.OA |
|
<li>Implemented alternative mailbox handling mechanism required by |
|
newer <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> firmware. |
|
<li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> |
|
issues with suspend/resume and possible firmware crashes on the M2 |
|
Macbook Air. |
|
|
<li>Prevented an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware error when authentication to the AP times out. |
<li>Prevented an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware error when authentication to the AP times out. |
|
|
<li>Fixed a crash in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> when connecting to WEP networks via <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> join. |
<li>Fixed a crash in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> when connecting to WEP networks via <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> join. |
|
|
<li>Fixed an alignment issue in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx descriptors. |
<li>Fixed an alignment issue in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx descriptors. |
|
|
<li>Avoided trying to remove keys while doing crypto in hardware if the station is not active in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware, fixing a firmware panic. |
<li>Avoided trying to remove keys while doing crypto in hardware if the station is not active in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware, fixing a firmware panic. |
<li>Prevented potential panics by disallowing the <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> init task from running in parallel to wakeup code during resume. |
|
<li>Switched all <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> devices to -77 firmware images. |
<li>Prevented potential panics by disallowing the <a |
<li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> get the primary channel number from AP beacon info, preventing problems on 40/80Mhz channels if there is a mismatch. |
href="https://man.openbsd.org/iwx.4">iwx(4)</a> init task from running |
<li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> session protection event duration. |
in parallel to wakeup code during resume. |
<li>Added support for the new <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> SCD_QUEUE_CONFIG command, required for adding/removing Tx queues on new firmware versions. |
|
<li>Added support for the <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> BAID allocation config command, required to set up Rx aggregation on new firmware. |
<li>Switched all <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> |
<li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> RLC config command, IWX_STA_MAC_DATA_API_S_VER_2 API, and PHY context cmd version 4. |
devices to -77 firmware images. |
<li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> rate_n_flags API version 2 and removed fixed Tx rate support. |
|
<li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> TLC config command v4. |
<li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> get the |
<li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware alive response version 6. |
primary channel number from AP beacon info, preventing problems on |
|
40/80Mhz channels if there is a mismatch. |
|
|
|
<li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> session |
|
protection event duration. |
|
|
|
<li>Added support for the new <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> SCD_QUEUE_CONFIG |
|
command, required for adding/removing Tx queues on new firmware |
|
versions. |
|
<li>Added support for the <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> BAID allocation config |
|
command, required to set up Rx aggregation on new firmware. |
|
<li>Added support for <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> RLC config command, |
|
IWX_STA_MAC_DATA_API_S_VER_2 API, and PHY context cmd version 4. |
|
<li>Added support for <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> rate_n_flags API |
|
version 2 and removed fixed Tx rate support. |
|
<li>Added support for <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> TLC config command v4. |
|
<li>Added support for <a |
|
href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware alive |
|
response version 6. |
|
|
</ul> |
</ul> |
|
|
<li>IEEE 802.11 wireless stack improvements and bugfixes: |
<li>IEEE 802.11 wireless stack improvements and bugfixes: |
|
|
<li>Fixed passing explicit stages files to |
<li>Fixed passing explicit stages files to |
<a href="https://man.openbsd.org/installboot.8">installboot(8)</a>. |
<a href="https://man.openbsd.org/installboot.8">installboot(8)</a>. |
|
|
|
|
<!-- architecture specific --> |
<!-- architecture specific --> |
|
<li>Added <a |
|
href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a> to the |
|
sparc64 installer, to fetch sets over NFS. |
|
<li>Copy the apple-boot firmware to EFI system partition, enabling |
|
automatic bootloader updates on Apple Silicon computers. |
<li>Made the installer stop printing MD post installation instructions on upgrades. |
<li>Made the installer stop printing MD post installation instructions on upgrades. |
<li>Made it possible to set keyboard layout(s) in arm64's installer. |
<li>Made it possible to set keyboard layout(s) in arm64's installer. |
<li>Added initial support in the installer for guided disk |
<li>Added initial support in the installer for guided disk |
encryption for amd64, i386, riscv64 and sparc64. |
encryption for amd64, i386, riscv64 and sparc64. |
|
<li>Added passing of boot device information from the bootloader to |
|
the kernel on luna88k. |
<li>Switched luna88k boot loader to MI boot code. |
<li>Switched luna88k boot loader to MI boot code. |
<li>Made the luna88k bootloader display a puffy boot logo. |
<li>Made the luna88k bootloader display a puffy boot logo. |
<li>Made <a href="https://man.openbsd.org/ls.1">ls(1)</a> work |
<li>Made <a href="https://man.openbsd.org/ls.1">ls(1)</a> work |
|
|
|
|
<li>Implemented a --executable-only option in <a href="https://man.openbsd.org/ld.bfd.1">ld.bfd(1)</a>. |
<li>Implemented a --executable-only option in <a href="https://man.openbsd.org/ld.bfd.1">ld.bfd(1)</a>. |
|
|
|
<li>Changed <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> |
|
to map certain regions of memory as immutable when loading shared |
|
libraries. |
|
|
<li>Added <a href="https://man.openbsd.org/execve.2">execve(2)</a> |
<li>Added <a href="https://man.openbsd.org/execve.2">execve(2)</a> |
violations of <a |
violations of <a |
href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a> policy |
href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a> policy |
|
|
making this address ranges unreadable to the kernel. No programs have |
making this address ranges unreadable to the kernel. No programs have |
been discovered which require reading their own text segments with a |
been discovered which require reading their own text segments with a |
system call. |
system call. |
|
|
|
<li>On arm64, introduce mitigation of the Spectre-BHB (Branch |
|
History Injection) CPU vulnerability by using core-specific trampoline |
|
vectors. |
|
|
|
<li>Tightened the <a |
|
href="https://man.openbsd.org/pledge.2">pledge(2)</a> after <a |
|
href="https://man.openbsd.org/ssh.1">ssh(1)</a> session establishment. |
|
|
|
<li>Enabled the Data Independent Timing (DIT) feature in both the kernel and |
|
userland on arm64 CPUs that support it to mitigate timing side-channel |
|
attacks. |
|
|
</ul> |
</ul> |
|
|
<li>Changes in the network stack: |
<li>Changes in the network stack: |
<ul> |
<ul> |
|
|
|
<li>Made /dev/pf a clonable device to better track kernel ressources |
|
used by processes. |
|
<li>Modified TCP receive buffer size auto-scaling to use the smoothed |
|
RTT (SRTT) instead of the timestamp option, which improves performance |
|
on high latency networks if the timestamp option isn't available. |
|
<li>Relaxed the requirement for multicast suppport of interfaces for |
|
configuring IPv6. This allows non-multicast interfaces such as |
|
point-to-point interfaces and the NBMA / point-to-multipoint |
|
interfaces like mpe(4), mgre(4) and wg(4) to work with IPv6. |
|
|
|
<li>Use the new <a |
|
href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a> |
|
timer to check the TCP_KEEPALIVE timer only against the system |
|
runtime, not the uptime. Prevents TCP connections to fail after |
|
wakeing up from suspend. |
|
|
|
|
<li>Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a |
<li>Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a |
hash/flowid for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state |
hash/flowid for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state |
keys. With this change, pf will hash traffic the same way that |
keys. With this change, pf will hash traffic the same way that |
|
|
href="https://man.openbsd.org/em.4">em(4)</a> sparc64 systems. |
href="https://man.openbsd.org/em.4">em(4)</a> sparc64 systems. |
<li>Denied "pipex no" tunnel setting for <a |
<li>Denied "pipex no" tunnel setting for <a |
href="https://man.openbsd.org/pppx.4">pppx(4)</a> interfaces. |
href="https://man.openbsd.org/pppx.4">pppx(4)</a> interfaces. |
|
<li>Fixed <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> |
|
crashing on pf_state_key removal. |
<li>Fixed a panic in <a |
<li>Fixed a panic in <a |
href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> when there are |
href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> when there are |
no data ready for bulk transfer. |
no data ready for bulk transfer. |
|
|
|
|
<li>In <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>, |
<li>In <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>, |
<ul> |
<ul> |
<li>... |
<!-- XXX --> |
</ul> |
</ul> |
|
|
|
<li>Switched <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a> to |
|
default to read-only unless -w is specified for write access (the |
|
previous default). |
|
<li>Stopped printing the prompt for non-interactive usage of <a |
|
href="https://man.openbsd.org/tftp.1">tftp(1)</a>. |
|
<li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to |
|
only unveil /tftpboot if -t is specified. |
|
<li>Added client certificate authentication and an optional SASL |
|
EXTERNAL bind to <a |
|
href="https://man.openbsd.org/ypldap.8">ypldap(8)</a>. |
|
<li>Adjusted ipv6 address width to align the display columns better |
|
in the output of <a href="https://man.openbsd.org/ndp.8">ndp(8)</a>, |
|
<a href="https://man.openbsd.org/route.8">route(8)</a> and <a |
|
href="https://man.openbsd.org/netstat.1">netstat(1)</a> as already |
|
available in <a |
|
href="https://man.openbsd.org/systat.1">systat(1)</a>'s netstat. |
|
<li>Used <a href="https://man.openbsd.org/stravis.3">stravis(3)</a> to |
|
sanitize redirect URIs from <a |
|
href="https://man.openbsd.org/ftp.1">ftp(1)</a> fetch before printing. |
|
<li>Prevent an <a |
|
href="https://man.openbsd.org/unwind.8">unwind(8)</a> crash when a tcp |
|
query is larger than the length field indicated. |
|
|
|
<li>Preserve the original order of nameservers as configured via <a |
|
href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> in <a |
|
href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>. |
|
|
|
<li>Restrict the characters allowed in the hostname argument of <a |
|
href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> to the |
|
set [A-z0-9-_.]. Additionally two consecutive dots ('.') are not |
|
allowed nor can the string start with - or '.'. This removes |
|
characters like '$', '`', '\n' or '*' that can traverse the DNS |
|
without problems, but have special meaning, for example a shell. |
|
|
|
<li>Added <a |
|
href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> -M (mac) to |
|
find the mac address on an interface and print it. |
<li>Added support for configuring interfaces by lladdr to support |
<li>Added support for configuring interfaces by lladdr to support |
interface configurations bound to a specfic hardware device. The "if" |
interface configurations bound to a specfic hardware device. The "if" |
part of the <a |
part of the <a |
href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> |
href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> |
configuration file can now be a MAC address. |
configuration file can now be a MAC address. |
|
<li>Limited display of wireguard peers by <a |
|
href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> to when |
|
either a wireguard interface is specified or the flag "-A" is used. |
|
|
|
<li>Implemented the RFC 8781 PREF64 router advertisement option in |
|
<a href="https://man.openbsd.org/rad.8">rad(8)</a> which is used to o |
|
communicate NAT64 prefixes to hosts. |
|
|
|
<li>Moved the documentation of flag mappings displayed by "route show" from the <a |
|
href="https://man.openbsd.org/netstat.1">netstat(1)</a> manpage to <a |
|
href="https://man.openbsd.org/route.8">route(8)</a>. |
|
|
|
<li>Improvements in <a href="https://man.openbsd.org/nc.1">nc(1)</a>: |
|
<ul> |
|
<li>Stop claiming connection success in udp mode unless true. |
|
<li>Do not test the connection in non-interactive mode. The test |
|
writes characters to the socket which can corrupt data that is |
|
possible piped into nc. |
|
</ul> |
|
|
|
<li>Added support for newlines inside the alternative names block in |
|
<a |
|
href="https://man.openbsd.org/acme-client.conf.5">acme-client.conf</a>. |
|
<li>Made <a |
|
href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> use |
|
time checks which eliminate time-zone variation. |
|
<li>Encode Subject Alternative Name (SAN) entries before printing in <a |
|
href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>. |
|
<li>Prevent <a |
|
href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> from |
|
leaking an http get request when receiving a redirect without a |
|
location header. |
|
|
<!-- smtpd --> |
<!-- smtpd --> |
<li>Prevented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> |
<li>Prevented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> |
abort due to a connection from a local, scoped ipv6 address. |
abort due to a connection from a local, scoped ipv6 address. |
|
|
to read-only unless <code>-w</code> is specified for write access |
to read-only unless <code>-w</code> is specified for write access |
(the previous default). |
(the previous default). |
<li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to only unveil /tftpboot if -t is specified. |
<li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to only unveil /tftpboot if -t is specified. |
|
<li>Fixed the DIOCIGETIFACES ioctl so all network interfaces and |
|
interface groups are reported in <a |
|
href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>. |
|
|
|
|
</ul> |
</ul> |
|
|
<li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes: |
<li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes: |
<ul> |
<ul> |
|
<li>Added scroll-top and scroll-bottom <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> commands to scroll so cursor is at the top or bottom respectively. |
|
<li>Added a -T flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> capture-pane to capture up to the last used cell and not the full width of the pane. |
|
<li>Preserved the marked pane when renumbering windows in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>. |
|
<li>Added modified tab key sequences to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>. |
|
<li>Changed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to only set the extended flag when searching, which allows send-keys to work. |
|
<li>Added a -l flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> display-message to disable format expansion. |
|
<li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> crash when there are no window buffers. |
|
<li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> C-S-Tab without extended keys. |
|
<li>Added <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> send-keys -K to handle keys directly as if typed. |
<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> tty-keys accept \007 as terminator to OSC 10 or 11. |
<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> tty-keys accept \007 as terminator to OSC 10 or 11. |
<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> recognize pasted texts wrapped in bracket paste sequences, rather than only forwarding to the program inside. |
<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> recognize pasted texts wrapped in bracket paste sequences, rather than only forwarding to the program inside. |
<li>Supported -1 without -N for list-keys in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>. |
<li>Supported -1 without -N for list-keys in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>. |