Linux corrige le redémarrage aléatoire des hôtes pendant la virtualisation avec les processeurs Ryzen 7000/8000
Avant la sortie du noyau Linux 6.12 attendue aujourd’hui, il y a une demande d’extraction « x86/urgent » de dernière minute. Il convient de noter que ces correctifs urgents x86 de dernière minute pour Linux 6.12 – et également rétroportés sur les versions précédentes du noyau – permettent de contourner un problème avec les processeurs clients AMD Ryzen Zen 4 tels que les processeurs Ryzen de la série 7000/8000 lors de l’utilisation. de virtualisation qui pourrait conduire à un redémarrage aléatoire de l’hôte.
Le problème vient de ce rapport de bug en juillet, suite à des redémarrages aléatoires de l’hôte lors de l’utilisation de processeurs AMD Ryzen série 7000/8000 et de machines virtuelles imbriquées. Le rapport de bug notait :
« L’exécution de machines virtuelles imbriquées sur des processeurs AMD Ryzen 7000/8000 (ZEN4) entraîne des redémarrages aléatoires de l’hôte.
Il n’y a pas de panique du noyau, aucune entrée de journal, aucune sortie pertinente vers la console série. C’est comme si la plate-forme était simplement réinitialisée. Il semble que le temps de reproduction varie d’un système à l’autre et peut dépendre de la charge de travail et même du modèle de processeur spécifique. »
Avance rapide de plusieurs mois, le problème est que la prise en charge de VMLOAD/VMSAVE est annoncée à tort sur les processeurs clients Zen 4. Ainsi, le changement pour Linux 6.12 et les versions stables antérieures du noyau consiste à supprimer la fonctionnalité VMLOAD/VMSAVE pour les SoC clients Zen 4. VMLOAD/VMSAVE reste pris en charge et activé pour les processeurs serveur AMD EPYC 4004/8004/9004, ce problème affectant uniquement les processeurs clients Ryzen.
Le patch par Mario Limonciello, ingénieur AMD Linux, explique :
« Un certain nombre de SoC clients Zen4 annoncent la possibilité d’utiliser VMLOAD/VMSAVE virtualisé, mais l’utilisation de ces instructions serait une cause d’un redémarrage aléatoire de l’hôte.
Ces instructions ne sont pas destinées à être publiées sur le client Zen4, alors effacez la fonctionnalité. »
Ce correctif est dans le x86/demande d’extraction urgente. Du côté AMD, il existe également un correctif pour une défaillance du noyau Kdump sur les systèmes AMD Secure Memory Encryption (SME) lorsque le noyau est construit avec CONFIG_IMA_KEXEC activé.