AMD K10 シリーズの不具合
Dragonfly BSD の開発者である Matthew Dillon 氏が、AMD K10 シリーズの CPU のバグを見つけたという記事が The Register の DragonFly BSD developer stung by Opteron bug に掲載されています。
非常に簡単に要約すると、あるパターンでスタックへ積んだデータを pop すると、スタック・ポインターが正しくない値となるもので、結果としてプログラムはクラッシュします。x86 系ではスタックにアクセスする命令が多数あるため、スタックを高速に操作するための回路が実装されていることが多いのですが、これが特定条件で悪影響を与えているのだろうと推測します。
プログラムがクラッシュするということから、致命的な不具合のようにも見えますが、実際はさほど大きな不具合ではなさそうに思えます。というのも、
- 特定パターンで発現する不具合であることから、現在問題なく動いているプログラムには影響がない。
- OS に特定パターンの操作を行う処理がなければ、カーネル・レベルで止まってしまう不具合は発生しない。
- 結果としてクラッシュするのはユーザーランドで動作するアプリケーション・プログラムに限定されやすい。
- アプリケーションがクラッシュするのは残念だが、OS レベルまではダメージを与えないため、攻撃には使えなさそう。
と考えるからです。とはいえ、逆の見方をすれば、特定の OS が AMD K10 シリーズ上で正常に動作しなかったり不意にクラッシュしたりするという症状を発現する可能性があるため、いろいろな OS を試したい人は要注意です。また、カーネル・レベルで動作するドライバーについても AMD K10 シリーズ上でテストされていないものでは不具合が出る可能性があることを念頭に置いた方がよいでしょう。
今、この文章を書くのに使用している AMD K14 こと Bobcat (AMD E-450 APU with Radeon HD Graphics)には影響があるのかどうかちょっと気になっています。