Die Absicht des Feldes "Bugs" in /proc/cpuinfo
wird in der Commit-Nachricht beschrieben, die es eingeführt hat :
x86/cpufeature
: Füge Bug Flags zu /proc/cpuinfo
Sichern Sie die Flags, die anzeigen, dass wir Fehlerumgehungen für die CPU, auf der wir ausführen, erkannt und / oder angewendet haben, auf ähnliche Weise wie die Feature-Flags.
Der Vorteil ist, dass sich diese nicht wie die CPU-Funktionen mit der Zeit ansammeln.
Zuvor wurden vom Kernel erkannte Hardwarefehler als separate Funktionen aufgeführt ( z. B. der berüchtigte F00F-Fehler, der auf 32-Bit-x86-Systemen einen eigenen f00f_bug
Eintrag aufweist /proc/cpuinfo
). Der Eintrag "Bugs" wurde eingeführt, um diese in einem einzigen Feature zu speichern, das vorwärts geht, im selben Stil wie x86-CPU-Flags .
Soweit, was die Einträge in der Praxis bedeuten, wie Sie in der Nachricht sehen können, alle , die garantiert ist , dass der Kernel erkannt einen Hardware - Fehler. Sie müssen an anderer Stelle nachsehen (Startmeldungen oder bestimmte /proc
Einträge oder /sys
Einträge wie die Dateien in /sys/devices/system/cpu/vulnerabilities/
), um festzustellen, ob die Probleme behoben sind.
Die Nützlichkeit der "Bugs" -Einträge wird auf zwei Arten eingeschränkt. Das erste ist, dass echte Negative nicht von Unbekannten unterschieden werden können: Wenn das Feld "cpu_meltdown" nicht angibt, können Sie (nur vom Feld) nicht wissen, ob das bedeutet, dass der Kernel nichts über Meltdown weiß, oder dass Ihre CPU nicht von Meltdown betroffen ist. Das zweite ist, dass die Erkennung zu einfach sein kann; es ist ein Fehler, der zur Vorsicht Anlass gibt, zu melden, dass Ihre CPU anfällig ist, wenn dies nicht der Fall ist. Da die "Erkennung" tabellenbasiert ist, hängt ihre Genauigkeit davon ab, welche Version des Kernels Sie ausführen.
Im Fall von Meltdown- und Spectre-Fehlern /proc/cpuinfo
funktioniert der Erkennungsprozess, bei dem die Werte in eingegeben werden , auf x86 wie folgt :
- Wenn die CPU keine Spekulationen durchführt (486-Klasse, einige Pentium-Klasse, einige Atome), wird sie nicht als von Meltdown oder Spectre betroffen gekennzeichnet.
- Alle verbleibenden CPUs werden als von den Spectre-Varianten 1 und 2 betroffen gekennzeichnet (unabhängig von der Mikrocode-Revision usw.).
- Wenn die CPU nicht als nicht anfällig für spekulative Speicherumgehung aufgeführt ist , wenn ihr Mikrocode nicht behauptet, SSB zu mindern, und wenn die CPU nicht behauptet, SSB zu mindern, wird sie als von SSB betroffen gekennzeichnet.
- Wenn die CPU nicht als für Meltdown (AMD) nicht anfällig eingestuft ist und ihr Mikrocode nicht den Anspruch erhebt, Meltdown zu mindern, wird sie als von Meltdown betroffen gekennzeichnet.