On Mar 11, 2014 7:57 AM, "Matt Davis" <mattdavis9@gmail.com> wrote:
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()?
Ideally you should stop the device before freeing the memory. If device is allowed to run and access the memory after memory is free this may leads to memory coruption that would be hard to debug.
Thanks!
-Matt
-Chetan _______________________________________________
Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies