On Wed, Apr 30, 2025, Rick P Edgecombe wrote:
On Wed, 2025-04-30 at 08:01 -0700, Chang S. Bae wrote:
On 4/28/2025 8:36 PM, Edgecombe, Rick P wrote:
KVM_GET_XSAVE is part of KVM's API. It uses fields configured in struct
fpu_guest. If fpu_user_cfg.default_features changes value (in the current code)
it would change KVM's uABI.
Not quite. The ABI reflects the XSAVE format directly. The XSAVE header
indicates which feature states are present, so while the _contents_ of
the buffer may vary depending on the feature set, the _format_ itself
remains unchanged. That doesn't constitute a uABI change.
Heh, ok sure.
Hmm, it's a valid point that format isn't changing, and that host userspace and
guests will inevitably have different state in the XSAVE buffer.
That said, it's still an ABI change in the sense that once support for CET_S is
added, userspace can rely on KVM_{G,S}ET_XSAVE(2) to save/restore CET_S state,
and dropping that support would clearly break userspace.