CVE-2026-64149 in Linux情報

要約

〜によって VulDB • 2026年07月20日

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

dma-mapping: dma_map_resource()の健全性チェックをデバッグコードへ移動

dma_map_resource()はpfn_valid()を使用して、対象範囲がRAMではないことを確認しています。しかし、pfn_valid()はPFNに対するメモリマップの利用可能性のみをチェックし、そのPFNが実際にRAMによってバックされていることを保証するものではありません。SPARSEMEM(128MBセクション粒度)を使用するARM64環境では、RAMと同一のセクションを共有しているMMIOアドレスに対してWARN_ON_ONCEが誤ってトリガーされ、dma_map_resource()がDMA_MAPPING_ERRORを返す原因となります。

これにより、SPI FIFOレジスタ(0xfe204004)がRAMの末尾(0xf8000000-0xfbffffff)と同じセクション31(0xf8000000-0xffffffff)に含まれているため、Raspberry Pi 4でのspi_bcm2835プローブ時にWARNINGが発生します。

健全性チェックをdma_map_resource()からdebug_dma_map_phys()へ移動し、信頼性の低いpfn_valid()の代わりに pfn_valid() && !PageReserved() を使用することで、struct pagesを持つMMIO領域における誤検知を防ぎつつ、実際に利用可能なRAMを正しく識別します。

dma_map_resource()は dma_map_phys(DMA_ATTR_MMIO) であるため、このチェックは両方のAPIに同様に適用されます。非予約ページ(non-reserved page)はカーネルメモリとして十分な程度を表しており、それに対してDMA_ATTR_MMIOを使用することはほぼ確実に誤りであり、一貫性のないプラットフォームにおいて整合性の破綻を引き起こすリスクがあります。PCI P2P DMA(MEMORY_DEVICE_PCI_P2PDMA)に使用されるZONE_DEVICEページではPageReservedが設定されているため、これらは誤検知をトリガーしません。

このチェックはマッピングのブロックを行わなくなり、dma-debugフィルタリングと統合するためにerr_printk()を使用します。

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

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-380313

CWE

不明

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!