net/mlx5e: Fix xmit_more counter race issue
Update the xmit_more counter before notifying the HW,
to prevent a possible use-after-free of the skb.
Fixes: c8cf78fe10
("net/mlx5e: Add ethtool counter for TX xmit_more")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
76061f631c
commit
0dbf657c39
|
@ -356,6 +356,7 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_sq *sq, struct sk_buff *skb)
|
|||
sq->stats.stopped++;
|
||||
}
|
||||
|
||||
sq->stats.xmit_more += skb->xmit_more;
|
||||
if (!skb->xmit_more || netif_xmit_stopped(sq->txq)) {
|
||||
int bf_sz = 0;
|
||||
|
||||
|
@ -375,7 +376,6 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_sq *sq, struct sk_buff *skb)
|
|||
|
||||
sq->stats.packets++;
|
||||
sq->stats.bytes += num_bytes;
|
||||
sq->stats.xmit_more += skb->xmit_more;
|
||||
return NETDEV_TX_OK;
|
||||
|
||||
dma_unmap_wqe_err:
|
||||
|
|
Loading…
Reference in a new issue