Commit 80c8eae6 authored by Satanand Burla's avatar Satanand Burla Committed by David S. Miller

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: default avatarSatanand Burla <satananda.burla@cavium.com>
Signed-off-by: default avatarDerek Chickles <derek.chickles@cavium.com>
Signed-off-by: default avatarRaghu Vatsavayi <raghu.vatsavayi@cavium.com>
Signed-off-by: default avatarFelix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 49b3eb77
...@@ -3316,11 +3316,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev) ...@@ -3316,11 +3316,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev)
netif_trans_update(netdev); netif_trans_update(netdev);
if (skb_shinfo(skb)->gso_size) if (tx_info->s.gso_segs)
stats->tx_done += skb_shinfo(skb)->gso_segs; stats->tx_done += tx_info->s.gso_segs;
else else
stats->tx_done++; stats->tx_done++;
stats->tx_tot_bytes += skb->len; stats->tx_tot_bytes += ndata.datasize;
return NETDEV_TX_OK; return NETDEV_TX_OK;
......
...@@ -2433,11 +2433,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev) ...@@ -2433,11 +2433,11 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev)
netif_trans_update(netdev); netif_trans_update(netdev);
if (skb_shinfo(skb)->gso_size) if (tx_info->s.gso_segs)
stats->tx_done += skb_shinfo(skb)->gso_segs; stats->tx_done += tx_info->s.gso_segs;
else else
stats->tx_done++; stats->tx_done++;
stats->tx_tot_bytes += skb->len; stats->tx_tot_bytes += ndata.datasize;
return NETDEV_TX_OK; return NETDEV_TX_OK;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment