CVE-2026-93168 in Linux情報

要約

〜によって VulDB • 2026年09月18日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

dmaengine: xilinx_dma: xilinx_dma_poll_timeoutにおけるCPUストールの修正

現在、delay_us=0かつ満たされない条件を指定してxilinx_dma_poll_timeoutを呼び出すと、CPUが長時間ビジーウェイトし、タイムアウトが発生するまでに大きな遅延が生じてCPUがストールします。

これは、poll_timeout_us_atomic関数においてwall clock time(実時間)の大幅な過小評価が行われていることが原因です。コミット7349a69cf312(「iopoll: read_poll_timeout_atomic()でtimekeepingを使用しない」)によりktime_getの使用が中止されましたが、その結果delay_us=0の場合にwall clock timeの過小評価が非常に大きくなるという問題が生じています。本来であれば約XILINX_DMA_LOOP_COUNTマイクロ秒後にタイムアウトされるべきところが、実際には「XILINX_DMA_LOOP_COUNT * 1000 * (poll_timeout_us_atomic内のforループのオーバーヘッドにかかる時間)」만큼の時間が掛かり、XILINX_DMA_LOOP_COUNT=1000000の場合これは数分に相当します。これを修正するため、delay_usにゼロ以外の値を使用します。delay_us=10を設定することで、DMA転送開始時のホットパスにおける遅延を最小限に抑えつつ、予期せぬハードウェア障害が発生した場合でもCPUストールを防ぎます。

delay_us=0の場合の一回限りの測定では、タイムアウト時にCPUが約7分間ビジーウェイトすることが確認されました。このパッチ(delay_us=10適用後)を適用すると、計測されたタイムアウトは1,053,428マイクロ秒となり、XILINX_DMA_LOOP_COUNTで指定されている期待値である1,000,000マイクロ秒とほぼ同等になります。

delay_usの値に対して定数XILINX_DMA_POLL_DELAY_USを追加します。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年09月17日

モデレーション

承諾済み

エントリ

VDB-407160

EPSS

0.00000

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!