つねに歯に衣(きぬ)着せぬLinus Torvaldsは、今でもLinuxオペレーティングシステムの最深奥部分のコードを書き続けているが、今回はIntelに対して、率直な非難の言葉を投じた。彼によると、Meltdown/Spectre問題に対するIntelによる最新の対応(パッチ)は: “完全なごみだ”。そしてこんな疑問文も: “彼らに、お前らは頭がおかしい、と言ってやれる人は一人もいなかったのか?”。
これら一連の悪口は、公開メール〔Linuxカーネル・メイリングリスト〕上で、イギリスに住むAmazonの技術者David Woodhouseとの対話の中で吐露された。その問題自体が(少なくともぼくのような門外漢にとっては)相当ややこしいが、Torvaldsの主張では、それに対するIntelのフィックスは、“基本的に何もしない、しかし要らないことをたくさんしているフィックスの、イカれた実装”だ、という。
そのフィックスは、主にIntelのチップの問題であるMeltdownの対策であるはずだが、しかし単純にそれだけをやるのではなくて、もっといろんなフィックスがあって、それらをユーザーまたはアドミニストレータがブート時にいちいちオプトインしなければならない。そもそもそんなに重大な脆弱性なら、なんで(ユーザーやアドミンに、ブート時に)尋ねたりするのか? しかも将来のCPUが必要としないと思われる機能に関して、なぜそこまで低レベルの作業をやらせるのか? その選択(オプトイン/アウト)は、良くって不必要、悪ければユーザーの誤誘導ないしパフォーマンスの劣化に帰結するのではないか?
また、同一のパッチにいろんなものを詰め込んでいることに関してTorvaldsは、これまでのソリューションと重複を指摘している。たとえば脆弱性の悪用に対する保護は、GoogleのProject Zeroの“retpoline”テクニックが対応済みだ。
では、なぜやるのか? Torvaldsの推測では、Intelのテクニックの大部分、この場合はIndirect Branch Restricted Speculation, IBRS(間接分岐の予測を制限する)は効率が非常に悪いので、全面展開すると性能劣化が広範に及ぶからだ。そこで、そうする代わりに、メインのMeltdownフィックスをオプションにして、冗長な部分を加え、パッチをいかにもそれらしく見せている。〔IBRSと名付けられたIntelのフィックスについては: 参考文献。〕
Intel本気でこのクソをアーキテクチャにするつもりか? 誰も彼らに、お前らはバカだと言ってやれなかったのか?
彼らは文字通り、イカれたことをしている。まったく、意味のないことをしている。そのために、きみ[Woodhouse]の主張に疑問符がついてしまう。このパッチは、まともではないことを、している。
…彼らの中に、‘王様は裸だ’と言える人がいなかった。意味もなく完全なごみを詰め込む人たちしか、いなかった。こんなことを書くこと自体が、悲しいよ。
Torvaldsの毒舌を諌(いさ)めようとしていたWoodhouseも、最後の方ではTorvaldsの批判を認め、IBRSは“下品で恥ずべきハック”だ、と言っている。“それをオプトインにする正当な理由はない”、とも。
【後略】
〔Intelからの儀礼的形式的なリプライなど〕