diff options
| author | Andy Carrel <william.a@carrel.org> | 2026-01-05 07:50:27 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-02-09 16:39:50 +0000 |
| commit | 539bbdbd3b0c3c235d441024cf28cef3afd6329e (patch) | |
| tree | 1fcc64112005acc453cbe9e81125c956f23d6ea1 /gnu | |
| parent | 5fb0f8e9e61dc56bcca07e62056105474bb6a790 (diff) | |
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)
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions
