Fragen? Antworten! Siehe auch: Alternativlos
CPUs führen Code spekulativ aus. Wenn man drei Instruktionen hat, und die sind unabhängig von einander (das Ergebnis von Instruktion 1 ist nicht Eingabe von Instruktion 2), dann führt die CPU möglichst viele davon (wieviel die Hardware halt hergibt) parallel aus. Allerdings gibt es dann komplizierte Logik, um die Ergebnisse so zurecht zu pfriemeln, dass wenn Instruktion 1 fehlschlägt, dass dann die "Ergebnis schreiben"-Phase von Instruktion 2 nicht ausgeführt wird.
Allerdings kann schon die Lesephase Seiteneffekte auslösen, z.B. welche Daten im Cache sind und welche nicht.
Die Frage in dem Paper war, ob er es so irgendwie schaffen kann, durch eine Race Condition in der spekulativen Ausführung in der CPU und der Interaktion mit TLBs und Caches vom User Space aus Kernel-Speicher zu lesen.
Das hat er nicht geschafft.
Aber ein gütes Gefühl bleibt trotzdem nicht zurück.