diff options
author | Satanand Burla | 2017-01-26 20:52:35 +0100 |
---|---|---|
committer | David S. Miller | 2017-01-26 21:42:18 +0100 |
commit | 80c8eae6ee66b52e1304c9ffd02b4472d5976608 (patch) | |
tree | da38ce8ca20632bee3bab5b34443fe7632d9b879 /drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | |
parent | Merge tag 'batadv-next-for-davem-20170126' of git://git.open-mesh.org/linux-m... (diff) | |
download | kernel-qcow2-linux-80c8eae6ee66b52e1304c9ffd02b4472d5976608.tar.gz kernel-qcow2-linux-80c8eae6ee66b52e1304c9ffd02b4472d5976608.tar.xz kernel-qcow2-linux-80c8eae6ee66b52e1304c9ffd02b4472d5976608.zip |
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>
Diffstat (limited to 'drivers/net/ethernet/cavium/liquidio/lio_vf_main.c')
-rw-r--r-- | drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c index e96cf6cdecfd..a6587d7019ed 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c @@ -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; |