igb: Pull timestamp from fragment before adding it to skb
authorAlexander Duyck <alexander.h.duyck@redhat.com>
Thu, 23 Apr 2015 04:49:17 +0000 (21:49 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 18 Jul 2015 02:59:06 +0000 (19:59 -0700)
commitf56e7bba22fad16c0d4fac996623ce1c13244f8f
tree45fb9abc9c9ec70a99bc48ff477af1e2c154f146
parent11b1544b5cfcc8c1ff01d1757397a6ce3c8aa85e
igb: Pull timestamp from fragment before adding it to skb

This change makes it so that we pull the timestamp from the fragment before
we add it to the skb.  By doing this we can avoid a possible issue in which
the fragment can possibly be less than IGB_RX_HDR_LEN due to the timestamp
being pulled after the copybreak check.

While making this change I realized we could also pull the rest of the
igb_pull_tail function into igb_add_rx_frag since in the case of igb,
unlike ixgbe, we are able to unmap the entire buffer before calling
add_rx_frag so merging the two allows for sharing of code between the two
merged functions.

Reported-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c