[dpdk-users] Possible memory corruption due to incorrect DMA shutdown

George Prekas george.prekas at epfl.ch
Fri Mar 11 19:41:38 CET 2016


Hi. I've been using DPDK for a research project 
(https://www.usenix.org/conference/osdi14/technical-sessions/presentation/belay) 
for over 2 years and I'd like to report a behavior that puzzles me using 
DPDK.

The behavior leads to memory corruption and is caused by the incorrect 
shutdown of DMA. I can reproduce it after executing the following steps:

$ sudo modprobe uio
$ sudo insmod ./build/kmod/igb_uio.ko
$ sudo python ./tools/dpdk_nic_bind.py --bind=igb_uio 0000:42:00.1
$ sudo ./build/app/testpmd -- --forward-mode=icmpecho

Then I terminate the DPDK program (after populating the ARP cache of 
another host on the local network). After this, I can send UDP packets 
to the host and can observe their payload in host memory. Clearly, 
network packets are arriving to the network card and are written to RAM 
after DPDK has finished executing.

Am I doing something wrong? Is this behavior expected?

Regards,
George



More information about the users mailing list