In order to fix a speculative execution issue on various ARM CPUs, the OpenBSD/arm64 system call ABI has been changed. System calls now skip the two instructions immediately following the system call instruction. This allows us to insert a barrier that blocks the CPU from speculating further without a significant performance penalty. The speculative execution issue was originally brought to our attention by Anthony Steinhauser.
This changed was rolled out in a way such that a smooth transition over the ABI bump is possible. As usual, we recommend updating your systems using snapshots. But if you want to upgrade from source, make sure you have a userland built from sources dated after January 25th before booting a new kernel. Note that old static binaries (built on a userland from before January 25th) will break. Code that rolls its own system calls (a practice we strongly discourage) will need to be adjusted. Fixes for go (which rolls its own system calls) have been committed already, and the latest arm64 package snapshot sould work fine. Cheers, Mark