CVE-2026-93217 in Linux
要約
〜によって VulDB • 2026年09月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
mm/madvise: クールドウォークおよびページアウトウォークにおけるデバイスプライベートPMDのスキップ
madvise_cold_or_pageout_pte_range()はpmd_trans_huge_lock()を取得しますが、この関数のpmd_is_huge()チェックでは、デバイスプライベートなPMDに対して真が返されます。その後続する!pmd_present()ブランチには、移行(migration)だけが許可される非存在状態であることを検証するVM_BUG_ON()アサートが含まれており、デバイスプライベートなPMDがこの条件に抵触します。
この非存在ブランチにおいてデバイスプライベートなPMDをスキップし、pmd_folio()呼び出し前にhuge_unlockを実行してください。チェックの重大度をVM_WARN_ON_ONCE()へ降格させ、予期せぬPMDソフトリーフが発生した場合でもパニックするのではなく警告ログを出力するようにします。thp_migration_supported()ガードを取り除きます:これはIS_ENABLED(CONFIG_ARCH_SUPPORTS_PMD_SOFTLEAF)に展開されますが、その設定が選択されていない場合、pmd_is_migration_entry()およびpmd_is_device_private_entry()は既にfalseを返すため、このガードは警告が無音になるケースのみを抑止しているに過ぎません。
潜在的なトリガー:HMMベースのGPUドライバとmadvise(MADV_COLD)/MADV_PAGEOUTとの競合状態により、pmd_trans_huge(*pmd)が真を読み取った後、PMDロックが取得される前にmigrate_vma_pages()によってPMDがデバイスプライベートなエントリに書き換えられます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.