CVE-2026-98391 in Linux
Riassunto
di VulDB • 15/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
drm/xe: Proteggere il worker per i page-fault con un controllo del runtime PM.
Durante l'eliminazione (teardown) della VM, il riferimento al runtime PM della VM viene rilasciato in modo asincrono, consentendo all dispositivo di andare in autosospensione mentre rimangono accodati dei page fault obsoleti appartenenti alla VM ormai non più esistente. Quando il worker per i page-fault tenta successivamente di confermare (ack) uno di questi, chiama `guc_ct_send_locked()` su un dispositivo già sospeso, causando:
Assertion `!xe_pm_runtime_suspended(xe)` failed! WARNING at xe_device.c:1267 xe_device_assert_mem_access+0x11c/0x140 [xe]
Una VM o una coda di esecuzione (exec queue) attiva mantiene sempre un riferimento PM finché ha lavoro in sospeso; pertanto, se il dispositivo è sospeso al momento della conferma, il contesto proprietario è già scomparso e l'errore è obsoleto.
Viene acquisito un riferimento al runtime PM per l'intera durata del worker di gestione della coda dei page fault, garantendo una consegna sicura delle conferme (acks) anche per le VM eliminate.
v3: - Spostare il riferimento PM nel generico `xe_pagefault_queue_work` utilizzando `guard(xe_pm_runtime)(xe)` anziché tenerlo traccia nel backend GuC (Matt Brost).
v2: - Mantenere il riferimento PM per l'intera batch (inizio/fine) invece che per ogni singola conferma. Questo impedisce al dispositivo di andare in autosospensione a metà elaborazione della batch, situazione che lascierebbe le conferme write_only scritte ma saltando la flush finale e incrementando il contatore, causando una desincronizzazione nel controllo del cadence (Himal). - Aggiunto un commento per spiegare gli errori obsoleti (Himal).
(cherry picked from commit fcc2431d2213dc4d04250c4f1ae87d9c3ae0d455) [Rodrigo: Added xe_device struct for compatibility while cherry-picking]
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.