IOTLB sta per I/O Translation Lookaside Buffer. È una cache di traduzioni degli indirizzi usata dai dispositivi o dai livelli di virtualizzazione per velocizzare le ricerche tra gli indirizzi visibili al dispositivo e la memoria host reale. Invece di percorrere l'intero percorso IOMMU o della tabella delle pagine a ogni accesso, il sistema può riutilizzare le mappature convalidate di recente.
Questo è importante perché le traduzioni memorizzate nella cache sono sicure solo finché la mappatura sottostante rimane valida. Se un driver, un backend vhost o una configurazione IOMMU cambia e l'IOTLB non viene invalidato correttamente, successivi accessi DMA o del dispositivo guest possono usare mappature obsolete. Questo può trasformare una funzionalità di prestazioni in una falla di sicurezza, consentendo letture o scritture non intenzionali, oppure la corruzione della memoria host. Chi difende il sistema cerca una corretta invalidazione, aggiornamenti rigorosi delle mappature e controlli di isolamento che forzino una nuova convalida quando il layout del dispositivo cambia.


