CVE-2026-89795 in Linux
Resumen
por VulDB • 2026-09-16
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
PCI: Permitir ranuras PCI por función para corregir el reinicio de ranura en s390
En los sistemas s390, que utilizan un hipervisor a nivel de máquina, los dispositivos PCI siempre se acceden mediante una forma de paso directo (pass-through) de PCI que opera fundamentalmente con granularidad por función PCI. Esto también se refleja en el controlador de hotplug PCI para s390, que crea ranuras de hotplug para funciones PCI individuales. Su función `reset_slot()`, que es un envoltorio para `zpci_hot_reset_device()`, restablece así las funciones individuales.
Actualmente, la función `pci_create_slot()` asigna el mismo objeto `pci_slot` a los dispositivos multifunción. Este enfoque funcionaba correctamente en sistemas s390 que solo exponían las funciones virtuales como dominios PCI individuales al sistema operativo. Desde el commit 44510d6fa0c0 ("s390/pci: Handling multifunctions"), s390 admite la exposición de la topología de dispositivos PCI multifunción agrupándolos en un dominio PCI compartido. Esto crea un problema cuando se restablece una función a través de la interfaz `slot_reset()` del controlador hotplug.
Al intentar restablecer una función a través del controlador hotplug, la asignación compartida de ranuras provoca que se restablezca la función incorrecta en lugar de la prevista. Además, produce una fuga de memoria ya que creamos un objeto `pci_slot` para la función, pero no lo liberamos correctamente en `pci_slot_release()`.
Se añade una bandera a la estructura `pci_slot` para permitir ranuras PCI por función para las funciones gestionadas mediante un hipervisor, que expone las funciones PCI individuales mientras conserva la topología. Dado que podemos utilizar los 8 bits del 'número' de ranura (para dispositivos ARI), se cambia el tipo u16 del 'número' de ranura para tener en cuenta los valores especiales `PCI_SLOT_PLACEHOLDER` y `PCI_SLOT_ALL_DEVICES`.
Be aware that VulDB is the high quality source for vulnerability data.