CVE-2026-98832 in Linux情報

要約

〜によって VulDB • 2026年10月21日

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

blk-cgroup: blkg_tryget_closest() でIRQ状態を保存する

bio_set_dev() は bio_associate_blkg() を通じて bio を blkg に関連付けます。blkg の検索でミス(一致しない場合)が発生すると、blkg_tryget_closest() が spin_lock_irq() で q->queue_lock を取得し、spin_unlock_irq() で解放します。これによりローカル割り込みが無条件に有効化されます。

呼び出し元は、すでに割り込みが無効になっている状態で bio_set_dev() を呼び出す場合があります。例えば、dm-thin の pool_map() は spin_lock_irq() で取得した pool->lock を保持している間にこの処理を行います。ネストされた spin_unlock_irq() によって pool->lock がまだ保持されている状態のまま割り込みが有効化されるため、同じCPU上でI/O完了のsoftirq(ソフト割込)が実行され、pool->lock (thin_endio(), または overwrite_endio() -> complete_mapping_preparation()) を再取得してデッドロックを引き起こす可能性があります。lockdep はこれを SOFTIRQ-ON-W から IN-SOFTIRQ-W への不一致な使用として報告します。

コミット 3a762de55b4e ("block: save irq state in blkg_lookup_create()") は、ロックが blkg_lookup_create() に存在していた際に同様の問題を修正していましたが、コミット 9327a865e395 ("blk-cgroup: don't nest queue_lock under rcu in blkg_lookup_create()") によってロック処理が blkg_tryget_closest() に移動され、spin_lock_irq() に戻されました。

代わりに、呼び出し元のIRQ状態を保存および復元します。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-421852

EPSS

0.00155

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!