CVE-2026-89795 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
PCI: Permitir slots PCI por função para corrigir o reset de slot no s390
Nos sistemas s390, que utilizam um hipervisor em nível de máquina, os dispositivos PCI são sempre acessados através de uma forma de pass-through PCI que opera fundamentalmente com granularidade por função PCI. Isso também é refletido no driver de hotplug PCI do s390, que cria slots de hotplug para funções PCI individuais. Sua função reset_slot(), que é um wrapper para zpci_hot_reset_device(), portanto, reseta funções individuais.
Atualmente, a pci_create_slot() atribui o mesmo objeto pci_slot a dispositivos multifunção. Essa abordagem funcionava bem em sistemas s390 que expunham apenas funções virtuais como domínios PCI individuais ao sistema operacional. Desde o commit 44510d6fa0c0 ("s390/pci: Handling multifunctions"), o s390 suporta a exposição da topologia de dispositivos PCI multifunção agrupando-os em um domínio PCI compartilhado. Isso cria um problema ao resetar uma função através da interface slot_reset() do driver de hotplug.
Ao tentar resetar uma função através do driver de hotplug, a atribuição de slot compartilhada causa o reset da função errada em vez da pretendida. Também ocorre vazamento de memória, pois criamos um objeto pci_slot para a função, mas não o liberamos corretamente no pci_slot_release().
Adiciona-se uma flag para struct pci_slot permitindo slots PCI por função para funções gerenciadas através de um hipervisor, que expõe funções PCI individuais enquanto mantém a topologia. Como podemos usar todos os 8 bits para o 'número' do slot (para dispositivos ARI), alteramos o u16 do 'número' do slot para acomodar valores especiais PCI_SLOT_PLACEHOLDER e PCI_SLOT_ALL_DEVICES.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.