「Spectre」のセキュリティ脆弱性に対応して、リスク軽減ソリューションとして「Retpoline」がリリースされました。ところで、次の記事を読んでいます。
retpoline なしでカーネルをビルドする場合、
CONFIG_RETPOLINE
リトポリンを使用してモジュールをビルドしてからロードすることは期待できません。サンク記号がエクスポートされないためです。リトポリンを使用してカーネルを構築すると、できるリトポリンで構築されていないモジュールを正常にロードします。 (源泉)
カーネルに「Retpoline」が有効になっていることを確認する簡単で一般的な/汎用/統合された方法はありますか?私のインストーラがインストールするカーネルモジュールの正しいバージョンを使用できるようにこれを実行したいと思います。
答え1
メインラインカーネルまたはほとんどの主要ディストリビューションのカーネルを使用している場合は、完全なリトポリンサポートを確認するための最良の方法は(つまりカーネルは、CONFIG_RETPOLINE
次の目的でリトポリンをサポートするコンパイラで構成および構築されました/sys/devices/system/cpu/vulnerabilities/spectre_v2
。
$ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
Mitigation: Full generic retpoline, IBPB, IBRS_FW
systreeファイルなしでカーネルでリトポリンを検出するためのより包括的なテストが必要な場合は、spectre_v2
方法を確認してください。spectre-meltdown-checker
物事について話してください。
答え2
この特別なケースでは、リトポリンのサポートにも新しいコンパイラバージョンが必要なので、Stephen Kittの答えはより包括的です。
ただし、通常、ほとんどのディストリビューションは、次のいずれかの場所にカーネル構成ファイルを提供します。
/boot/config-4.xx.xx-...
/proc/config.gz
だとしたら簡単にできますzgrep CONFIG_RETPOLINE /boot/config* /proc/config.gz