【CPU】 Skylake(-X含む)とKaby Lakeのハイパースレッディングに欠陥が見つかる

CPU


(Source:[WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading)

<ザックリ意訳>
IntelのSkylakeとKaby Lakeのハイパースレッディングに欠陥が見つかりました。ハイパースレッディングが有効になっていると、特定のレジスタでショートループが発生し、システムやアプリケーションの誤作動、データの破損、データの消失などが発生する可能性があります。

対象となるプロセッサはデスクトップ、組み込み、モバイル、HEDTです。この欠陥は、debianやLinuxベースのシステムだけでなく、全てのOSに影響する可能性があります。

この問題は、ハイパースレッディングを無効にするか、マイクロコードのアップデートで修正することができます。

・Kaby Lake
この問題を修正するにはシステムベンダーのみが利用できるマイクロコードを適用したBIOS/UEFIのアップデートが必要です。現在、システムベンダーはテスト中か、運が良ければマイクロコードを適用したBIOS/UEFIが公開されているかもしれません。詳細はシステムベンダーにお問い合わせください。

修正が施されたBIOS/UEFIをインストールするまでハイパースレッディングを有効にしないことを強くお勧めします。

・Skylake
SkylakeもKaby Lakeと同様です。しかし、Skylakeにはすぐにマイクロコードを適用する方法もあります。 (詳しくはソース元をお読みくださいませ)


上記内容が2017年6月25日付けでdebianのサイトで公開されました。HEDTと記載があるように、Intelが公開している資料によるとSkylake-Xもこの問題(SKZ7)を抱えています。

Skylakeに関してはLinux上ですぐにマイクロコードを適用する方法も用意されています。Linux noobの自分にはハッキリと状況が掴めないため、ソース元をお読みいただくのが確実ですが、 「たぶんこういうことだろう」 的なものでよろしければ続きをどうぞ。



・Skylake
Skylakeには2つの選択肢があります。

1.
まず、/proc/cpuinfoをテキストエディタなどで開いてmodelとsteppingを確認してください。開くと下記のような内容が表示されます。


(※画像は管理人のIvy Bridgeなdebianマシンです)

あるいはコマンドラインシェル(xtermなど)で下記のコマンドを実行して、プロセッサのmodelとsteppingを確認します。

grep -E 'model|stepping' /proc/cpuinfo | sort -u

そこに書かれているプロセッサのmodelが78か94で、steppingが3の場合は、non-freeの『intel-microcode』3.20170511.1パッケージをインストールして、システムをリブートしてください。

『intel-microcode』のインストール方法については、下記のアドレス先を参照してください。

https://wiki.debian.org/Microcode

2.
『1.』に該当しないプロセッサだった場合はハイパースレッディングを無効にしてください。無効の仕方はマニュアルを参照してください。BIOS/UEFIの修正についてはシステムベンダーにお問い合わせください。

注意:『intel-microcode』のインストール前に、まず最初にマイクロコードが適用されたBIOS/UEFIのアップデートがないか確認することをお勧めします。


要約すると、『1.』の手順をLinux上でやってサクッと適用させるか、『1.』に該当しないCPUの場合はマイクロコードが適用されたBIOSをインストール、あるいはマザーボードメーカーからの公開を待つかになります。

Linux上でマイクローコードを適用させて、それがハードウェアに反映されるのか気になったのですが、https://wiki.debian.org/Microcodeによると、

プロセッサのマイクロコードはプロセッサ用ファームウェアのようなものです。kernelはプロセッサのファームウェアを更新することができます。BIOSアップデートを介してアップデートする必要はありません。

と書かれており、『1.』を行うとそのままマイクロコードがハードウェアに適用されるようです。

繰り返しになりますがあくまで 「たぶんこういうことだろう」 という内容のため、ソース元をお読みいただくのが確実です。

2017/7/18追記
マザーボードメーカー各社からSkylakeとKaby Lakeのハイパースレッディングの欠陥を修正したBIOSが公開されました。