CVE-2026-89795 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
PCI: Erlaube pro-Funktion-PCI-Slots, um Slot-Rücksetzungen auf s390 zu korrigieren
Auf s390-Systemen, die einen Hypervisor auf Maschinenebene verwenden, werden PCI-Geräte immer über eine Form des PCI-Passthroughs angesprochen, der grundlegend mit einer Granularität pro einzelner PCI-Funktion arbeitet. Dies spiegelt sich auch im s390-PCI-Hotplug-Treiber wider, der Hotplug-Slots für einzelne PCI-Funktionen erstellt. Seine Funktion `reset_slot()`, die ein Wrapper für `zpci_hot_reset_device()` ist, setzt daher ebenfalls einzelne Funktionen zurück.
Derzeit weist `pci_create_slot()` multifunktionsfähigen Geräten denselben `pci_slot`-Objekt zu. Dieser Ansatz funktionierte auf s390-Systemen gut, die virtuelle Funktionen nur als individuelle PCI-Domänen an das Betriebssystem weitergegeben haben. Seit dem Commit 44510d6fa0c0 („s390/pci: Handling multifunctions“) unterstützt s390 die Offenlegung der Topologie von Multifunktions-PCI-Geräten, indem diese in einer gemeinsamen PCI-Domäne gruppiert werden. Dies führt zu einem Problem beim Zurücksetzen einer Funktion über die `slot_reset()`-Schnittstelle des Hotplug-Treibers.
Beim Versuch, eine Funktion über den Hotplug-Treiber zurückzusetzen, verursacht die gemeinsame Slot-Zuweisung, dass die falsche Funktion und nicht die beabsichtigte zurückgesetzt wird. Zudem tritt ein Memory Leak auf, da wir zwar ein `pci_slot`-Objekt für die Funktion erstellen, dieses aber in `pci_slot_release()` nicht korrekt freigeben.
Füge eine Flagge für `struct pci_slot` hinzu, um pro-Funktion-PCI-Slots für Funktionen zu ermöglichen, die über einen Hypervisor verwaltet werden und dabei individuelle PCI-Funktionen offenlegen, während die Topologie beibehalten wird. Da wir alle 8 Bits für die Slot-'Nummer' (für ARI-Geräte) verwenden können, ändere den Typ der Slot-'Nummer' von `u16` auf einen Bereich, der spezielle Werte wie `PCI_SLOT_PLACEHOLDER` und `PCI_SLOT_ALL_DEVICES` berücksichtigt.
If you want to get best quality of vulnerability data, you may have to visit VulDB.