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 <jakub@cloudflare.com>
---
drivers/net/ethernet/intel/igb/igb_xsk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_xsk.c b/drivers/net/ethernet/intel/igb/igb_xsk.c
index 30ce5fbb5b77..9202da66e32c 100644
--- a/drivers/net/ethernet/intel/igb/igb_xsk.c
+++ b/drivers/net/ethernet/intel/igb/igb_xsk.c
@@ -284,8 +284,8 @@ static struct sk_buff *igb_construct_skb_zc(struct igb_ring *rx_ring,
ALIGN(totalsize, sizeof(long)));
if (metasize) {
- skb_metadata_set(skb, metasize);
__skb_pull(skb, metasize);
+ skb_metadata_set(skb, metasize);
}
return skb;
--
2.43.0