O problema está relacionado ao manipulador de falha de página de E/S no kernel do Linux, que atualmente localiza o dispositivo PCI chamando `pci get domain bus and slot()`. Essa função pesquisa a lista de todos os dispositivos PCI até que o dispositivo desejado seja encontrado. Para melhorar a eficiência da pesquisa, ela é substituída por `device rbtree find()` para pesquisar o dispositivo dentro da árvore RBT dos dispositivos detectados. A falha de página de E/S é iniciada pelo dispositivo, que não possui nenhum mecanismo de sincronização com o software para garantir que o dispositivo permaneça na árvore de dispositivos sondados. Teoricamente, um dispositivo poderia ser liberado pelo subsistema IOMMU após `device rbtree find()` e antes de `iopf get dev fault param()`, o que causaria um problema de uso após liberação. Um mutex é adicionado para sincronizar o caminho de relatório de falha de página de E/S e o caminho de liberação do dispositivo pelo IOMMU.