Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp863736yba; Wed, 24 Apr 2019 10:50:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqyGQYKlTpfKyvKLR/lV3ijloC2ngJscRGQ6wLUXDIVUH+n+E4zQ/DDQCBGNLlgNRrv9iWCn X-Received: by 2002:a65:608d:: with SMTP id t13mr8176010pgu.406.1556128205745; Wed, 24 Apr 2019 10:50:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556128205; cv=none; d=google.com; s=arc-20160816; b=HWqGp9ppx4i+seILlIT5RksdTnP8Oa9mYn9/N4FObmUtOFLShJfXXbgTUocVzVz9da GQ80IPf2FYSJvuZ59EV2ayIRsXudjlk3u8Im0P93VCW+bKQ9vzoRB5Gr9QLCVDlx2qDf SYGE5SFAwC0JqQgrK1Mp0c/exWDEow942sSe2xX1uce0L/kyGKpD3vhP4xaXp3OfblCM GzTOdKCHGaBr+O0qRBXDRMhm6pGs2IPUc38OzEIzE1lron1V3jZVxrk1rBieREi7tuou lnsOxaBbj26k7BxZddKHEZoqbOsMFwb1G4ZooI0WsNJfnlKXQ1walGZHXqSkmEkKpiGn bG5w== 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=BuqRAPE0f02up1VAphPx/6RCDV5VKkL0/sNSWK6FiOw=; b=jh8XgswsgDBht0SPlKYRaEchVqLQ+ezc3PyPKrLhMQ5AuYIBgIi+v0XOcGn0mL3/rE Q8pGb6YXkugRVDc7mwprHczjHsF70SCDkp8cKX5KBNhet0hl6ssfd188JOToFCXFM9Ct R25cjtBlRjqgWVdyyFJteBddeiDUUJM0f8ElL4/gprqLrlVi3GI03X04PRHvUWvj9gvJ yajmhp4DjT9akv8jzDgi0TBQhCWdEtJyWrNpnZ+hDKbK0DMffc2QbE9pI4FLY0XXTLv1 D4HeiXEOJMpmiB+O076QOMs6y8wHnSKXNcflTne/zOxMyYC/QDdVeo5Tcotj2wlK+2CO xzHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Evh8Bdqg; 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 o8si19230869pll.391.2019.04.24.10.49.50; Wed, 24 Apr 2019 10:50:05 -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=Evh8Bdqg; 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 S2389889AbfDXRbP (ORCPT + 99 others); Wed, 24 Apr 2019 13:31:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:57502 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391104AbfDXRbI (ORCPT ); Wed, 24 Apr 2019 13:31:08 -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 C9E9F2077C; Wed, 24 Apr 2019 17:31:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556127065; bh=QQRmxag+k+Z1YfmCMjZzcuGFWHWNqk5ShkOqsSGePjU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Evh8BdqgRewiWUTuSd5mp5UO0oyUT5dlNPTjkDp7KPNtV9naxBMSrE4YSG1HDhw5Q mD1mAk9vlDSD7ClyXOWLJOvONynf5hIZg6bA3d4+LrwSji+1XT8KkEcUKN4AZ8Ld++ n4Fu1/Bq6X9q5E8L/ZVbrTBioqQzgic3f9Tk6iEQ= 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 4.19 06/96] net: Fix missing meta data in skb with vlan packet Date: Wed, 24 Apr 2019 19:09:11 +0200 Message-Id: <20190424170920.251085561@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190424170919.829037226@linuxfoundation.org> References: <20190424170919.829037226@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 @@ -5071,7 +5071,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); @@ -5083,6 +5084,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; }