From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1F9DC10F0E for ; Tue, 16 Apr 2019 01:22:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 963F820854 for ; Tue, 16 Apr 2019 01:22:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Id0OY9Ez" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727235AbfDPBWe (ORCPT ); Mon, 15 Apr 2019 21:22:34 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:33721 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727049AbfDPBWe (ORCPT ); Mon, 15 Apr 2019 21:22:34 -0400 Received: by mail-pl1-f194.google.com with SMTP id t16so9467174plo.0 for ; Mon, 15 Apr 2019 18:22:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jL8zI4AT9RzqH4SGys15oeA4DAHRngKaSlwS7ZBwyec=; b=Id0OY9Ez5W6iiYnURV1q4TEoHl+Rxl7rqzN+gC+2kzxo7I7lZDTwARpDcDnc+hJTz1 KsupuEV0/MIHwGVjJlf3xfww2Vw0ZxupYgIeLB3Eqh4uDMJE9irucHYpGCAw6rEMLZKn D2NQoGZLJOmi9oII3KWuew0YVzWS1caozqgUXcu2MR6OnGh7kPi7u8OLIY+IfQw2aI1Z QBEKwSkPARpZjHoEe13qY09PDJKoymxaI3sFQuNvjunxeXWC167GH5szpvElZyfdQCx0 RZvHw9B5kVvpLtQ0i4pQUCdB0RJVnrVuUyN69TGn51Fv6+PpEDe7CEEkXTbkaPzvYmEt 44YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=jL8zI4AT9RzqH4SGys15oeA4DAHRngKaSlwS7ZBwyec=; b=LMCsaynC/FNVO5YOCWdR3djgCHIVgf7qloZhJ8QmoBkWGFmkivq2RDzsOGViFT3joR XXNRn/QdklqCwazKoJuUFz7d/mArwKt4vNqh+LNBclrWHbGDXA41jVJNZZrXikoI8AUv As73d6+owkST+iAzKop8soYwaAwnP8z+nvwLCyIlK4vgHdHyp61DmGOzd/wXm0xTkpYA 29Ibyhh4Y/Gzvfz1mrjWpiiEz2sfxLpm0AMJgKt6xqzLBl4jwyVJ0OEmDg+iE4/T/pJB CTuHLklqQ8bU7xmPUczLdw5TjNbZ/ktrCjQQdhE4EcOaNPght2g5LQO0KLE15scK5FhS AdsA== X-Gm-Message-State: APjAAAWh5cEXTSmaco8nNkisBan8JpC7ygwMzlTLNETT86TVQbYYU1YE hgt4D6C4y3ykNasDPImkXXM= X-Google-Smtp-Source: APXvYqwrMg6XSdSifcz+9BxXZ9h6Ftto6LsBlK9NANIh0z5NPebBf2COuejScwvkKR9TKmlxgu8IPg== X-Received: by 2002:a17:902:201:: with SMTP id 1mr79370045plc.89.1555377753020; Mon, 15 Apr 2019 18:22:33 -0700 (PDT) Received: from [192.168.100.28] ([103.202.217.14]) by smtp.gmail.com with ESMTPSA id f7sm82151403pga.56.2019.04.15.18.22.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Apr 2019 18:22:32 -0700 (PDT) Subject: [PATCH v3] net: Fix missing meta data in skb with vlan packet From: Yuya Kusakabe To: Toshiaki Makita Cc: davem@davemloft.net, taketarou2@gmail.com, netdev@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend References: <7a8fe3ff-64ac-965e-fe12-40371107d513@lab.ntt.co.jp> <8fdc2d8a-8e9c-7c34-a2a1-f0b3dcfb8798@gmail.com> Openpgp: preference=signencrypt Autocrypt: addr=yuya.kusakabe@gmail.com; keydata= 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 V13X Message-ID: <1b8203e8-4b4b-8050-7299-f243a99e3ad5@gmail.com> Date: Tue, 16 Apr 2019 10:22:28 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: <8fdc2d8a-8e9c-7c34-a2a1-f0b3dcfb8798@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org skb_reorder_vlan_header() should move XDP meta data with ethernet header if XDP meta data exists. Fixes: de8f3a83b0a0 ("bpf: add meta pointer for direct access") Signed-off-by: Yuya Kusakabe Signed-off-by: Takeru Hayasaka Co-developed-by: Takeru Hayasaka --- net/core/skbuff.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c index ef2cd5712098..40796b8bf820 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -5083,7 +5083,8 @@ EXPORT_SYMBOL_GPL(skb_gso_validate_mac_len); static struct sk_buff *skb_reorder_vlan_header(struct sk_buff *skb) { - int mac_len; + int mac_len, meta_len; + void *meta; if (skb_cow(skb, skb_headroom(skb)) < 0) { kfree_skb(skb); @@ -5095,6 +5096,13 @@ static struct sk_buff *skb_reorder_vlan_header(struct sk_buff *skb) memmove(skb_mac_header(skb) + VLAN_HLEN, skb_mac_header(skb), mac_len - VLAN_HLEN - ETH_TLEN); } + + meta_len = skb_metadata_len(skb); + if (meta_len) { + meta = skb_metadata_end(skb) - meta_len; + memmove(meta + VLAN_HLEN, meta, meta_len); + } + skb->mac_header += VLAN_HLEN; return skb; } -- 2.20.1