CVE-2026-93042 in Linuxinformazioni

Riassunto

di VulDB • 18/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

dmaengine: dw-edma: Terminare tutti i descrittori privi di callback

La documentazione del client DMA Engine nella sezione "Terminate APIs" (API di terminazione) di Documentation/driver-api/dmaengine/client.rst afferma:

"Nessuna funzione di callback verrà chiamata per le trasferimenti non completati."

dw_edma invece chiama vchan_cookie_complete() quando un STOP differito raggiunge il gestore delle interruzioni. Questo programma una callback per il descrittore attivo e lascia in coda gli altri descrittori emessi o sottoposti a elaborazione (submitted). Una callback tardiva dopo dmaengine_terminate_sync() può dereferenziare lo stato del client che è già stato liberato, mentre i descrittori residui potrebbero successivamente riavviarsi su buffer riutilizzati oppure causare perdite di memoria.

Spostare tutti i descrittori emessi e sottoposti a elaborazione nella lista dei terminati ogni volta che la terminazione viene completata. Per un STOP in sospeso, eseguire questa operazione sia dal percorso DONE (completato) che da quello ABORT (annullato). Completare i loro cookie nell'ordine senza programmare callback.

Un STOP può rimanere in sospeso fino a quando il trasferimento in corso genera un'interruzione. Fare sì che device_synchronize() attenda la completazione di tale STOP in sospeso prima di rilasciare i descrittori terminati. Riutilizzarlo da free_chan_resources(), quindi rilasciare le rimanenti risorse virt-dma. Attendere con sleep (sonno) invece di busy-polling, e generare un warning se scade il timeout esistente.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

17/09/2026

Divulgazione

17/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00200

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!