-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
=============================================================================
FreeBSD-EN-26:02.arm64 Errata Notice
The FreeBSD Project
Topic: arm64 SVE signal context misalignment
Category: core
Module: arm64
Announced: 2026-01-27
Affects: FreeBSD 15.0 and 14.3
Corrected: 2026-01-13 16:27:47 UTC (stable/15, 15.0-STABLE)
2026-01-27 19:15:46 UTC (releng/15.0, 15.0-RELEASE-p2)
2026-01-26 14:47:24 UTC (stable/14, 14.3-STABLE)
2026-01-27 19:16:11 UTC (releng/14.3, 14.3-RELEASE-p8)
For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit
.
I. Background
Scalable Vector Extension (SVE) is an extension of the arm64 instruction set
providing SIMD functionality.
II. Problem Description
When a signal is delivered to a thread, the kernel saves the thread's usermode
register values and stores them on the interrupted thread's stack prior to
invoking the signal handler.
When SVE is present, SVE registers must be saved as well. This register context
was not properly aligned when written out to userspace, and a subsequent request
to restore that context could fail as a result.
III. Impact
Processes could crash unexpectedly after handling a signal.
IV. Workaround
No workaround is available. Non-arm64 systems are not affected, and arm64
systems without SVE are not affected.
V. Solution
Upgrade your system to a supported FreeBSD stable or release / security
branch (releng) dated after the correction date.
Perform one of the following:
1) To update your system via a binary patch:
Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms
can be updated via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
# shutdown -r now
2) To update your system via a source code patch:
The following patches have been verified to apply to the applicable
FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
[FreeBSD 15.0]
# fetch https://security.FreeBSD.org/patches/EN-26:02/arm64-15.patch
# fetch https://security.FreeBSD.org/patches/EN-26:02/arm64-15.patch.asc
# gpg --verify arm64-15.patch.asc
[FreeBSD 14.3]
# fetch https://security.FreeBSD.org/patches/EN-26:02/arm64-14.patch
# fetch https://security.FreeBSD.org/patches/EN-26:02/arm64-14.patch.asc
# gpg --verify arm64-14.patch.asc
b) Apply the patch. Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
and reboot the
system.
VI. Correction details
This issue is corrected as of the corresponding Git commit hash in the
following stable and release branches:
Branch/path Hash Revision
- -------------------------------------------------------------------------
stable/15/ 683decf362ce stable/15-n281851
releng/15.0/ 679b1a810e0e releng/15.0-n281001
stable/14/ bcd6bb8067d1 stable/14-n273416
releng/14.3/ 3ba856f715ca releng/14.3-n271456
- -------------------------------------------------------------------------
Run the following command to see which files were modified by a
particular commit:
# git show --stat
Or visit the following URL, replacing NNNNNN with the hash:
To determine the commit count in a working tree (for comparison against
nNNNNNN in the table above), run:
# git rev-list --count --first-parent HEAD
VII. References
The latest revision of this advisory is available at
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAml5NCwACgkQbljekB8A
Gu/mSxAAwNJzUNx/bCFoGEoV1vkM5aUOd4lBnFyH/aeRUP/R8bKWQ4ydxiZTfd8m
m+ltioN//WUsP88h6OaAw4JeZBt4HCNi3Pj0fGyu0z4zCjFuKL/1k78Vl51Zt3pJ
bWJBr6WJ5JVmTzf3edbTpa6KA8uKH9JYdpwBsW6ACklBExFyjlYBBblxjWxNP4zo
WPzaYBqGQ/ZQqcQMF06n1M//ufvkHI++R3sOhGzuXz/PJlaUWhn5hblfw0iFt1Py
G3il68l+ONnPiXIkKRzEUCFoYO8feYsj4xK52hAik904JVqJLqUpkPeWgT7bRhzi
YUruypFE5Nt6RCPQ74dKZrshfdGcKeA1pVMAt8QC2e3DzWPYWjVCJiDlYD/kIvls
d/YiGieYs4cbVlX3FS1xWAs3MgN4osyfj/a5fTeSjuTcqjACW0g6xQRLW4LwMZ4V
rH6vm/gRf5/gheFOKokZh/ES3CKQFEXunGdn1ObWd1VKZU77LvVQLsI4J2pXhVYf
CqdU1qs80Qk13K7QmGMt6oRVp0IkM7NRIRivznOLUD0/SAtEdTb3G7gwJAR+AE0U
y61Bsmo4ujOTAGHH5gNAPX9xSWUlItYNTm5shKy6Xv5bQCY04Zi3S2ztXi0NkmX3
4xWdz9v7/d1CPLCndgWHHDgnZuG3rUH6ueJCDQhtITcnD81w/5U=
=utLQ
-----END PGP SIGNATURE-----