CVE-2026-89795 in Linuxinformation

Résumé

par VulDB • 16/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

PCI : Autoriser des emplacements PCI par fonction pour corriger la réinitialisation d'emplacement sur s390

Sur les systèmes s390 qui utilisent un hyperviseur de niveau machine, les périphériques PCI sont toujours accédés via une forme de transfert direct (pass-through) du PCI qui fonctionne fondamentalement avec une granularité par fonction PCI. Cela se reflète également dans le pilote d'insertion à chaud PCI pour s390, qui crée des emplacements d'insertion à chaud pour les fonctions PCI individuelles. Sa fonction `reset_slot()`, qui est un wrapper de `zpci_hot_reset_device()`, réinitialise donc des fonctions individuelles.

Actuellement, la fonction `pci_create_slot()` attribue le même objet `pci_slot` aux périphériques multifonctions. Cette approche fonctionnait correctement sur les systèmes s390 qui n'exposaient que des fonctions virtuelles en tant que domaines PCI individuels au système d'exploitation. Depuis l'engagement 44510d6fa0c0 ("s390/pci : Gestion des périphériques multifonctions"), s390 prend en charge l'exposition de la topologie des périphériques PCI multifonctions en les regroupant dans un domaine PCI partagé. Cela crée un problème lors de la réinitialisation d'une fonction via l'interface `slot_reset()` du pilote d'insertion à chaud.

Lorsqu'on tente de réinitialiser une fonction par le biais du pilote d'insertion à chaud, l'affectation partagée des emplacements entraîne la réinitialisation de la mauvaise fonction au lieu de celle prévue. Cela provoque également une fuite de mémoire car nous créons un objet `pci_slot` pour la fonction, mais ne le libérons pas correctement dans `pci_slot_release()`.

Ajoute un indicateur (flag) à la structure `pci_slot` afin d'autoriser des emplacements PCI par fonction pour les fonctions gérées via un hyperviseur, qui expose des fonctions PCI individuelles tout en conservant la topologie. Puisque nous pouvons utiliser tous les 8 bits pour le 'numéro' de l'emplacement (pour les appareils ARI), changez le type `u16` du 'numéro' d'emplacement (`slot number`) afin de prendre en compte les valeurs spéciales `PCI_SLOT_PLACEHOLDER` et `PCI_SLOT_ALL_DEVICES`.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

11/09/2026

Divulgation

16/09/2026

Modérer

accepté

Entrée

VDB-405612

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!