Thread (2 messages) flat view 2 messages, 2 authors, 2017-03-29

Re: [PATCH v3] net: moxa: fix TX overrun memory leak

From: David Miller <davem@davemloft.net>
Date: 2017-03-29 01:02:24
Also in: linux-arm-kernel, lkml

From: Jonas Jensen <redacted>
Date: Tue, 28 Mar 2017 12:12:38 +0200
moxart_mac_start_xmit() doesn't care where tx_tail is, tx_head can
catch and pass tx_tail, which is bad because moxart_tx_finished()
isn't guaranteed to catch up on freeing resources from tx_tail.

Add a check in moxart_mac_start_xmit() stopping the queue at the
end of the circular buffer. Also add a check in moxart_tx_finished()
waking the queue if the buffer has TX_WAKE_THRESHOLD or more
free descriptors.

While we're at it, move spin_lock_irq() to happen before our
descriptor pointer is assigned in moxart_mac_start_xmit().

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=99451

Signed-off-by: Jonas Jensen <redacted>
Applied, thank you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help