CVE-2024-35957 in Linux
Sumário
de VulDB • 23/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
iommu/vt-d: Corrige WARN_ON no caminho de inicialização (probe) do iommu
O commit 1a75cc710b95 ("iommu/vt-d: Usa rbtree para rastrear dispositivos inicializados pelo iommu") adiciona todos os dispositivos inicializados pelo driver do iommu em uma rbtree indexada pelo ID de origem de cada dispositivo. Ele assume que cada dispositivo possui um ID de origem único. Esta suposição está incorreta e a especificação VT-d também não estabelece este requisito.
A razão para usar uma rbtree para rastrear dispositivos é procurar o dispositivo com barramento PCI e devfunc nos caminhos de tratamento do tempo limite de erro de invalidação ATS e das falhas de página I/O PRI. Ambos estão relacionados ao recurso PCI ATS.
Rastreie apenas os dispositivos que possuem capacidades PCI ATS na rbtree para evitar um WARN_ON desnecessário no caminho de inicialização do iommu. Caso contrário, em algumas plataformas, o seguinte erro do kernel será exibido e a inicialização do iommu resultará em falha.
WARNING: CPU: 3 PID: 166 em drivers/iommu/intel/iommu.c:158 intel_iommu_probe_device+0x319/0xd90 Call Trace: ? __warn+0x7e/0x180 ? intel_iommu_probe_device+0x319/0xd90 ? report_bug+0x1f8/0x200 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x18/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? intel_iommu_probe_device+0x319/0xd90 ? debug_mutex_init+0x37/0x50 __iommu_probe_device+0xf2/0x4f0 iommu_probe_device+0x22/0x70 iommu_bus_notifier+0x1e/0x40 notifier_call_chain+0x46/0x150 blocking_notifier_call_chain+0x42/0x60 bus_notify+0x2f/0x50 device_add+0x5ed/0x7e0 platform_device_add+0xf5/0x240 mfd_add_devices+0x3f9/0x500 ? preempt_count_add+0x4c/0xa0 ? up_write+0xa2/0x1b0 ? __debugfs_create_file+0xe3/0x150 intel_lpss_probe+0x49f/0x5b0 ? pci_conf1_write+0xa3/0xf0 intel_lpss_pci_probe+0xcf/0x110 [intel_lpss_pci]
local_pci_probe+0x48/0xa0
If you want to get best quality of vulnerability data, you may have to visit VulDB.