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/i40e/i40e_xsk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
index 9f47388eaba5..11eff5bd840b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
@@ -310,8 +310,8 @@ static struct sk_buff *i40e_construct_skb_zc(struct i40e_ring *rx_ring,
ALIGN(totalsize, sizeof(long)));
if (metasize) {
- skb_metadata_set(skb, metasize);
__skb_pull(skb, metasize);
+ skb_metadata_set(skb, metasize);
}
if (likely(!xdp_buff_has_frags(xdp)))
--
2.43.0