CVE-2026-64474

vfio: prevent infinite loop in vfio_mig_get_next_state() on blocked arc

State
Published
Severity
Not scored
Published
Jul 25, 2026
Updated
Aug 17, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

vfio: prevent infinite loop in vfio_mig_get_next_state() on blocked arc

vfio_mig_get_next_state() walks vfio_from_fsm_table[] one step at a time, looping to skip optional states the device does not support until *next_fsm is supported. A blocked transition is encoded as VFIO_DEVICE_STATE_ERROR, which the trailing return reports as -EINVAL.

The skip loop does not account for the ERROR sentinel. state_flags_table[ERROR] is ~0U and vfio_from_fsm_table[ERROR][*] is ERROR, so once *next_fsm becomes ERROR the loop condition stays true and *next_fsm never changes. The blocked arcs STOP_COPY -> PRE_COPY and STOP_COPY -> PRE_COPY_P2P map to ERROR yet pass the support check on a precopy-capable device, causing the loop to spin forever while holding the driver state mutex. This can result in a soft lockup, and a panic with softlockup_panic set.

Terminate the skip loop on the ERROR sentinel so a blocked transition falls through to the existing return and reports -EINVAL.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4db52602a6074e9cc523500b8304600ff63e7b85 to before 8e872c07e40d51a66dee7b280a23a460a2e1e3faAffected
  • 4db52602a6074e9cc523500b8304600ff63e7b85 to before ed7d5599e6c398da74845767cd1e6a8370a160fcAffected
  • 4db52602a6074e9cc523500b8304600ff63e7b85 to before 7f2d6b31089e48db4653df832c9a6afdde9a1c29Affected
  • 4db52602a6074e9cc523500b8304600ff63e7b85 to before a3a8afa2f6e7f0dc266d08f02be3f3054241ba47Affected
  • 4db52602a6074e9cc523500b8304600ff63e7b85 to before a26b499b757cfc8bbff1088bb1b844639e250893Affected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.