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

From: David Miller
Date: Tue Mar 28 2017 - 21:03:00 EST


From: Jonas Jensen <jonas.jensen@xxxxxxxxx>
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@xxxxxxxxx>

Applied, thank you.