Los controladores FireWire del tipo utilizado en PC (OHCI) tienen la capacidad de permitir que otros dispositivos FireWire realicen DMA remotos.
El controlador debe habilitar esta función antes de que funcione.
El protocolo SBP-2 es el único protocolo FireWire que utiliza DMA remoto; por lo tanto, el kernel de Linux habilita DMA remoto solo para dispositivos SBP-2 (es decir, discos duros y otros dispositivos de almacenamiento), o cualquier dispositivo que reclame sea un dispositivo SBP-2.
Puedes deshabilitar ese controlador si lo deshabilitas; escribe la línea
blacklist firewire-sbp2
en cualquier archivo .conf
en /etc/modprobe.d
, o deshabilite CONFIG_FIREWIRE_SBP2
al compilar el kernel.
En este momento, el controlador firewire-sbp2
depende del DMA remoto para las transferencias de datos, por lo que debe elegir entre los dispositivos de almacenamiento FireWire y la protección contra ataques DMA remotos.
(Sería posible implementar esas transferencias en software, pero esto aún no se ha implementado).
La capacidad de leer / escribir cualquier memoria también es útil para la depuración de otro sistema, por lo que existe la opción CONFIG_FIREWIRE_OHCI_REMOTE_DMA
que habilita el DMA remoto para el dispositivo FireWire de cualquier .
Sin embargo, esta opción no está habilitada de forma predeterminada.