March 11, 2014
2:24 a.m.
I have a kernel module that communicates to a PCI device via DMA. The module allocates the shared memory using dma_alloc_coherent(). When the module is unloaded, a call to dma_free_coherent() is executed. My question is, since the DMA memory is not explicitly zeroed before deallocation, is there a chance that the PCI device could still read (non-zeroed data) and act upon the DMA memory after the module unloads and calls dma_free_coherent()? Thanks! -Matt