HomeFreeBSD

arm64: Fix kernel panic in get_arm64_sve during core dump

Description

arm64: Fix kernel panic in get_arm64_sve during core dump

The coredump logic calls get_arm64_sve twice: once to get the note size,
and once to get the data. The note size calculation depended on the
volatile PCB_FP_SVEVALID flag. If this flag was cleared between the
two calls (e.g., due to a context switch clearing the flag to comply
with the ABI), the second call would expect a smaller buffer size than
the first, triggering a KASSERT panic ("invalid size").

Fix this by ensuring the SVE state is saved to the PCB before we decide
whether to use SVE or VFP.

Approved by: so
Security: FreeBSD-EN-26:04.arm64
PR: 292195
Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D54532

(cherry picked from commit 93d3ac1daa0ef3ac54ffcd5cc64a14638d04bd60)
(cherry picked from commit c70a68bbdbf67e10a8cd8d46857cc6d4533096a9)

Details

Provenance
william.a_carrel.orgAuthored on Jan 5 2026, 7:50 AM
markjCommitted on Feb 9 2026, 4:39 PM
Reviewer
andrew
Differential Revision
D54532: arm64: Fix kernel panic in get_arm64_sve during core dump
Parents
rG5fb0f8e9e61d: Add UPDATING entries and bump patch version
Branches
Unknown
Tags
Unknown