Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1287578yba; Wed, 24 Apr 2019 19:14:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqzqatQMWpISeKPIuQ3qETVvD5DSQMAqNYdPAJeW3gdCxVHQXJEUByjSSq17+z2EMlbWTBxt X-Received: by 2002:a63:d908:: with SMTP id r8mr977109pgg.268.1556158463728; Wed, 24 Apr 2019 19:14:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556158463; cv=none; d=google.com; s=arc-20160816; b=M/MNrBM8F7qlh+JzLPdOwp80q1rMlE25SlwMLGC45vYV6UdwziVZMQKa7H3lNtB8Lw WRbmpQxgncGDRXP2HTyhCflZP4WEEZCKhCb2lU8SrULYjGxhzAoVjkQ+kQmgeTbm9QdP +Ds0ky5AqubKcBYVaqJJAiOY5ixzv9iEY3XoiZg3TOpIyBSI8Xa26/vyqs/o7ZDhsSGB Hkq8F6JgxZq/DMrl8kyN4mKTX0rEGP6Qr12WGCRu66TY/gPvsd3sKekxwD+CeKyN7a7y 4+i5k/Pveive4faf+lyebrduHXhn1Tq8Akjb6qZUQ6qk7ldyIa7D7Z0HZ/yF3TEnjDvL 6I7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=1KNPrDQrPDa5Xc1yv9M5KDVyld2Wolqy0XxECdX9VRc=; b=YZdxW03mD2CefrOHMFGqkCxVhjypdxM/6ZzTtypIN/RGUeq8SHSz0150C/chO47Otv Hx7PjQjCYRTcrLFW6X0ncAXiavIBWhowSOnZUtCda7k8GLBx+TZhRz501kwKBKz2kTKv /s0wd9xtVMzmwThl5Fji84xwZJ/r2HVTSW1POVKg8OI0qhwqujpb8KyDOvCub/ED8zCh JX/uwn40TNSlut/yg2nkoQTwYzCHJOAxiNngo5O9mayvQVQal6FX3rkBzQFEAVbDTOWf ZMyeExgyVXnXTA3RJ85GfwGaGgYa0PnvZTIJLQSoBGyJ5KEymSJDFrUvFvesO0/ywjM8 4fPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RW9QoyO8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i9si7043566pgl.571.2019.04.24.19.14.06; Wed, 24 Apr 2019 19:14:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RW9QoyO8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391706AbfDXReZ (ORCPT + 99 others); Wed, 24 Apr 2019 13:34:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:33206 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391693AbfDXReV (ORCPT ); Wed, 24 Apr 2019 13:34:21 -0400 Received: from localhost (62-193-50-229.as16211.net [62.193.50.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 64B81218B0; Wed, 24 Apr 2019 17:34:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556127260; bh=I0r4dGHvxf87fEIU+G+dNxo2nsE1FFSIr3dqRtMaJjs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RW9QoyO8MhCfQZOpqukiVkK28o7f0YElePayMYk0Bz+W23yq50rkWfVWibkkhRhez 1nMDiL3Sf9p0Yl/Mk8USyXRy8N35vSeQilvgV7ocyJ17SWe4GezqC+V92od0lF/IZN wsmcQzqSoLd7o0/p4wHQcaRr7SeCKtwlNalu/n2A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yuya Kusakabe , Takeru Hayasaka , Toshiaki Makita , "David S. Miller" Subject: [PATCH 5.0 007/115] net: Fix missing meta data in skb with vlan packet Date: Wed, 24 Apr 2019 19:09:03 +0200 Message-Id: <20190424170925.376894489@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190424170924.797924502@linuxfoundation.org> References: <20190424170924.797924502@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yuya Kusakabe [ Upstream commit d85e8be2a5a02869f815dd0ac2d743deb4cd7957 ] 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 Reviewed-by: Toshiaki Makita Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/core/skbuff.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -5083,7 +5083,8 @@ EXPORT_SYMBOL_GPL(skb_gso_validate_mac_l 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_ 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; }