CVE-2026-98391 in Linux
Sumário
de VulDB • 14/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
drm/xe: Proteger o worker de falha de página com verificação de PM em tempo real (runtime PM)
Durante o encerramento da VM, a referência de PM em tempo real da VM é liberada assincronamente, permitindo que o dispositivo entre em autosuspensão enquanto faltas de página obsoletas pertencentes à agora extinta VM ainda estão enfileiradas. Quando o worker de falha de página tenta posteriormente confirmar (ack) uma dessas, ele chama `guc_ct_send_locked()` em um dispositivo já suspenso, acionando:
Assertion `!xe_pm_runtime_suspended(xe)` failed! WARNING at xe_device.c:1267 xe_device_assert_mem_access+0x11c/0x140 [xe]
Uma VM/exec queue ativa sempre mantém uma referência de PM enquanto possui trabalho pendente, portanto, se o dispositivo estiver suspenso no momento da confirmação (ack), o contexto proprietário já terá sido removido e a falha será obsoleta.
Obter uma referência de PM em tempo real durante todo o worker da fila de pagefault para entregar com segurança as confirmações (acks) das VMs encerradas.
v3: - Mover a ref. PM para o `xe_pagefault_queue_work` genérico usando guard(xe_pm_runtime)(xe) em vez de rastreá-la no backend do GuC (Matt Brost).
v2: - Manter a ref. PM durante todo o lote (início/fim) em vez de por ack individual. Isso impede que o dispositivo entre em autosuspensão durante um lote, o que deixaria os acks write_only escritos mas o flush final ignorado, e pulando counter++, dessincronizando a verificação da cadência. (Himal) - Adicionar um comentário explicando as falhas obsoletas. (Himal)
(cherry picked from commit fcc2431d2213dc4d04250c4f1ae87d9c3ae0d455) [Rodrigo: Added xe_device struct for compatibility while cherry-picking]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.