Prepare to track skb metadata location independently of MAC header offset. Following changes will make skb_metadata_set() record where metadata ends relative to skb->head. Hence the helper must be called when skb->data already points past the metadata area. Adjust the driver to pull from skb->data before calling skb_metadata_set(). Signed-off-by: Jakub Sitnicki --- drivers/net/ethernet/intel/igc/igc_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 728d7ca5338b..426b2cef5a1c 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -2024,8 +2024,8 @@ static struct sk_buff *igc_construct_skb(struct igc_ring *rx_ring, ALIGN(headlen + metasize, sizeof(long))); if (metasize) { - skb_metadata_set(skb, metasize); __skb_pull(skb, metasize); + skb_metadata_set(skb, metasize); } /* update all of the pointers */ @@ -2752,8 +2752,8 @@ static struct sk_buff *igc_construct_skb_zc(struct igc_ring *ring, ALIGN(totalsize, sizeof(long))); if (metasize) { - skb_metadata_set(skb, metasize); __skb_pull(skb, metasize); + skb_metadata_set(skb, metasize); } if (ctx->rx_ts) { -- 2.43.0