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 AF_XDP to pull from skb->data before calling skb_metadata_set(). Signed-off-by: Jakub Sitnicki --- net/core/xdp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/xdp.c b/net/core/xdp.c index 9100e160113a..e86ac1d6ad6d 100644 --- a/net/core/xdp.c +++ b/net/core/xdp.c @@ -768,8 +768,8 @@ struct sk_buff *xdp_build_skb_from_zc(struct xdp_buff *xdp) metalen = xdp->data - xdp->data_meta; if (metalen > 0) { - skb_metadata_set(skb, metalen); __skb_pull(skb, metalen); + skb_metadata_set(skb, metalen); } skb_record_rx_queue(skb, rxq->queue_index); -- 2.43.0