CVE-2026-93168 Xilinx DMA脆弱性修正でCPUストール回避

この記事はAIがNVDのCVE情報をもとに要約・生成したものです。影響範囲や対策は、必ずNVDおよび各ベンダーの公式情報をご確認ください。

公開日: 2026-09-17T17:18:12.403 / 更新日: 2026-09-17T17:18:12.403

Linuxカーネルのxilinx_dmaモジュールに、特定の条件下でCPUストールを引き起こす脆弱性が修正されています。xilinx_dma_poll_timeout関数をdelay_us=0で呼び出し、条件が永続的に満たされない場合、CPUが長時間ビジー待ちとなり、タイムアウト処理が大幅に遅延します。この問題は、poll_timeout_us_atomic関数内の時間推定の不正確さが原因で、修正にはdelay_usに非ゼロ値(例: 10)を設定する方法が採用されました。影響を受けるシステムでは、DMA転送開始時のパフォーマンスに影響が出る可能性があるため、カーネルのパッチ適用とdelay_usパラメータの確認が推奨されます。特にXilinx DMAハードウェアを用いる環境では、設定変更を検討してください。

参照情報

ソクラテスの問い、プラトンの備え

ソクラテス

プラトンよ、この脆弱性は「無限の時間を待つこと」が原因で生じるのでしょうか?もしCPUが無限に待つという前提が誤りであれば、その誤りはどこにあるのでしょうか?

プラトン

ソクラテス、ご指摘の通りです。この脆弱性では、`delay_us=0`を設定した場合、`poll_timeout_us_atomic`関数内で時間推定が誤って行われ、実際には数分単位の遅延が生じます。ただし、この問題はXilinx DMAハードウェアを使用する環境に限定されるため、まずはシステムのハードウェア構成を確認する必要があります。

ソクラテス

では、Linux運用者はこの脆弱性が自分のシステムに影響を与えるかをどう判断すればよいでしょうか?

プラトン

まず、`xilinx_dma`モジュールがロードされているかを`lsmod`で確認し、DMA転送を実際に使用しているかをチェックする必要があります。また、カーネルのバージョンが修正済みのものかを確認するため、`uname -a`やリリースノートを参照してください。

ソクラテス

パッチ適用の際、`delay_us`パラメータを変更する必要があると述べられていますが、その変更が他のシステムにどのような影響を与えるでしょうか?

プラトン

`delay_us=10`に設定することで、DMA転送開始時のパフォーマンスにわずかな影響がある可能性がありますが、CPUスタールのリスクを回避できます。変更は`xilinx_dma`モジュールの初期化パラメータで行い、変更管理の記録は必須です。

ソクラテス

監視の観点から、この脆弱性の影響を検出するには何をすべきでしょうか?

プラトン

DMA転送が遅延する異常を監視するため、システムログや`perf`ツールでCPU使用率を観察し、DMA関連のタイムアウトイベントをトラッキングしてください。また、ベンダーの公式ドキュメントで`XILINX_DMA_POLL_DELAY_US`の設定例を確認し、誤った設定を防ぎましょう。

ソクラテス

最後に、この脆弱性に対応する運用者の姿勢について、哲学的に言えることはありますか?

プラトン

ソクラテス、答えは簡単です。『知っているつもりになるな』、『確認せずに行動するな』、『変更を記録せよ』。この脆弱性は、細かい設定の誤りが大きな問題を引き起こすことを教えてくれます。少々の手間を惜しまず、確実に確認し、適切にパッチを適用してください。そして、もしも「7分間CPUが無限に待っている」という奇妙な現象を目撃したら、それはきっとあなたがこの脆弱性に遭遇した証拠です。

関連キーワード: linux, kernel