In the Linux kernel, the following vulnerability has been resolved:
net: xilinx: axienet: Enqueue Tx packets in dql before dmaengine starts
Enqueue packets in dql after dma engine starts causes race condition. Tx transfer starts once dma engine is started and may execute dql dequeue in completion before it gets queued. It results in following kernel crash while running iperf stress test:
kernel BUG at lib/dynamicqueuelimits.c:99! <snip> Internal error: Oops - BUG: 00000000f2000800 [#1] SMP pc : dqlcompleted+0x238/0x248 lr : dqlcompleted+0x3c/0x248
Call trace: dqlcompleted+0x238/0x248 axienetdmatxcb+0xa0/0x170 xilinxdmadotasklet+0xdc/0x290 taskletactioncommon+0xf8/0x11c taskletaction+0x30/0x3c handle_softirqs+0xf8/0x230 <snip>
Start dmaengine after enqueue in dql fixes the crash.