CVE-2026-64476
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/07/2026
Última modificación:
25/07/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
vfio/pci: Latch disable_idle_d3 per device<br />
<br />
When disable_idle_d3 was introduced in vfio-pci, it directly manipulated<br />
the device power state with pci_set_power_state(). There were no<br />
refcounts to maintain or balanced operations, we could unconditionally<br />
bring the device to D0 and conditionally move it to D3hot. Therefore<br />
the module parameter was made writable.<br />
<br />
Later, in commit c61302aa48f7 ("vfio/pci: Move module parameters to<br />
vfio_pci.c"), as part of the vfio-pci-core split, the writable aspect<br />
of the module parameter was nullified. The parameter value could still<br />
be changed through sysfs, but the vfio-pci driver latched the values<br />
into vfio-pci-core globals at module init. Loading the vfio-pci module,<br />
or unloading and reloading, with non-default or different values could<br />
change the globals relative to existing devices bound to vfio-pci<br />
variant drivers.<br />
<br />
Runtime PM was introduced in commit 7ab5e10eda02 ("vfio/pci: Move the<br />
unused device into low power state with runtime PM"), which marks the<br />
point where power states became refcounted. PM get and put operations<br />
need to be balanced, but the same module operations noted above can<br />
change the global variables relative to those devices already bound to<br />
vfio-pci variant drivers. This introduces a window where PM operations<br />
can now become unbalanced.<br />
<br />
To resolve this with a narrow footprint for stable backports, the<br />
disable_idle_d3 flag is latched into the vfio_pci_core_device at the<br />
time of initialization, such that the device always operates with a<br />
consistent value.<br />
<br />
NB. vfio_pci_dev_set_try_reset() now unconditionally raises the<br />
runtime PM usage count around bus reset to account for disable_idle_d3<br />
becoming a per-device rather than global flag. When this flag is set,<br />
the additional get/put pair is harmless and allows continued use of the<br />
shared vfio_pci_dev_set_pm_runtime_get() helper.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/062b820290bcb9778e43a73597df76e9bb08acfb
- https://git.kernel.org/stable/c/332d785f9ae426eeeb92527872adf09d84101ba3
- https://git.kernel.org/stable/c/4575e9aac5336d1365138c0284773bf8da4b1fa3
- https://git.kernel.org/stable/c/654710ef3135c4546b20a903bc23a51b0c44d6c8
- https://git.kernel.org/stable/c/b98296816d31441b307ef9fa8670dcf5a55e5505
- https://git.kernel.org/stable/c/f6c67cf0051f96ba61d186731d3d9409b9927db2



