liquidio: Avoid accessing skb after submitting to input queue
Accessing skb after submitting to input queue can cause access to stale pointers if the skb ends up being transmitted and freed by that time. Signed-off-by: Satanand Burla <satananda.burla@cavium.com> Signed-off-by: Derek Chickles <derek.chickles@cavium.com> Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@cavium.com> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
49b3eb7725
commit
80c8eae6ee
|
@ -3316,11 +3316,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev)
|
|||
|
||||
netif_trans_update(netdev);
|
||||
|
||||
if (skb_shinfo(skb)->gso_size)
|
||||
stats->tx_done += skb_shinfo(skb)->gso_segs;
|
||||
if (tx_info->s.gso_segs)
|
||||
stats->tx_done += tx_info->s.gso_segs;
|
||||
else
|
||||
stats->tx_done++;
|
||||
stats->tx_tot_bytes += skb->len;
|
||||
stats->tx_tot_bytes += ndata.datasize;
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
|
||||
|
|
|
@ -2433,11 +2433,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev)
|
|||
|
||||
netif_trans_update(netdev);
|
||||
|
||||
if (skb_shinfo(skb)->gso_size)
|
||||
stats->tx_done += skb_shinfo(skb)->gso_segs;
|
||||
if (tx_info->s.gso_segs)
|
||||
stats->tx_done += tx_info->s.gso_segs;
|
||||
else
|
||||
stats->tx_done++;
|
||||
stats->tx_tot_bytes += skb->len;
|
||||
stats->tx_tot_bytes += ndata.datasize;
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
|
||||
|
|
Loading…
Reference in New Issue