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

David Miller davem at davemloft.net
Tue Mar 28 18:02:16 PDT 2017


From: Jonas Jensen <jonas.jensen at gmail.com>
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 <jonas.jensen at gmail.com>

Applied, thank you.



More information about the linux-arm-kernel mailing list