Linux 6.1 のコアの変更がマージされ、Intel と AMD の両方のプロセッサで処理される Retpolines のすべての無条件 Retpoline jump (JMP) の後に INT3 命令が挿入されることを確認することで見出しが付けられました。

Intel エンジニアの Peter Zijlstra は、間接 JMP が発生した後に INT3 を確実にするための変更を作成しました。この動作は、Intel と AMD の両方で推奨されています。この Retpoline の変更は、x86 の Straight Line Speculation の軽減策に、関数の戻りと間接分岐の後に INT3 を追加することが含まれた後に行われます。

INT3 x86 命令は、元々、ソフトウェア ブレークポイントを設定したり、デバッグ例外ハンドラを呼び出したりするためにデバッガで使用するために設計されました。しかし、投機的実行の脆弱性の世界で INT3 を使用することは、その時点以降の投機的実行を回避するための投機トラップとしての軽減策の一部としても役立つことが証明されています。

この Linux 6.1 の変更は基本的に、x86 Straight Line Speculation 緩和処理が欠けている古いコンパイラや、SLS が有効になっていない古いコンパイラに対してビルドされることを防ぐためのものです。そのため、最新のコンパイラと SLS を有効にして構築された正常なディストリビューション/ベンダー カーネルを実行しているほとんどのユーザーにとって、Linux 6.1 との違いは見られません。

メインライン Linux 6.1 用に既にマージされている x86/core プル リクエストによる詳細.

Categories: IT Info