You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
openvmm: KVM snapshot restore collapses two pending NMIs into one #1161
For events.nmi.pending == 2, nmi_pending becomes true. Activity::nmi_pending is Boolean, and set_activity converts it back into the KVM pending field as one. The separately saved injected-NMI slot does not carry the missing queued count.
Trigger
Stop a KVM vCPU while KVM_GET_VCPU_EVENTS reports two pending NMIs, save its activity, and restore into a fresh vCPU. Reading the destination events shows only one queued NMI. Allow guest delivery after unmasking NMIs to observe the lost notification.
Proposed Fix
Represent the pending count on backends that support it without changing the existing Boolean field's wire meaning. An additional optional count could use the Boolean as a fallback for old snapshots and backends.
Decide whether an older reader may collapse two pending NMIs when it ignores the new count, or whether preserving both requires a compatible reader. Keep this count-preservation change separate from the reset path's event-validity flags.
Activity