FreeBSD Errata Notice FreeBSD-EN-26:02.arm64

27 January, 2026 by errata-notices@freebsd.org
-----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
<URL:https://security.FreeBSD.org/>.

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
<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> 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 <commit hash>

Or visit the following URL, replacing NNNNNN with the hash:

<URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN>

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
<URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-26:02.arm64.asc>
-----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-----