[PATCH] net: moxa: fix TX overrun memory leak
David Miller
davem at davemloft.net
Sun Jun 7 19:22:02 PDT 2015
From: Jonas Jensen <jonas.jensen at gmail.com>
Date: Fri, 5 Jun 2015 15:46:18 +0200
> desc = priv->tx_desc_base + (TX_REG_DESC_SIZE * tx_head);
>
> - spin_lock_irq(&priv->txlock);
> + if (CIRC_SPACE(tx_head, tx_tail, TX_DESC_NUM) == 0) {
> + priv->stats.tx_dropped++;
> + goto out_unlock;
> + }
You can't do this.
Whatever code creates this condition _must_ stop the TX queue
so that the core netdevice transmit layer does not call your
transmit method.
More information about the linux-arm-kernel
mailing list