From patchwork Tue Jun 12 20:24:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Borkmann X-Patchwork-Id: 10464103 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 7924B603EE for ; Thu, 14 Jun 2018 12:52:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 681E128A78 for ; Thu, 14 Jun 2018 12:52:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5BFC628A84; Thu, 14 Jun 2018 12:52:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C09AE28A78 for ; Thu, 14 Jun 2018 12:52:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 272016E72D; Thu, 14 Jun 2018 12:52:25 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org X-Greylist: delayed 1648 seconds by postgrey-1.36 at gabe; Tue, 12 Jun 2018 20:52:25 UTC Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) by gabe.freedesktop.org (Postfix) with ESMTPS id 225A56E8EE for ; Tue, 12 Jun 2018 20:52:25 +0000 (UTC) Received: from [178.197.248.16] (helo=linux.home) by www62.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-SHA:256) (Exim 4.85_2) (envelope-from ) id 1fSpqW-0005Oh-KU; Tue, 12 Jun 2018 22:24:52 +0200 To: Keith Busch , intel-gfx@lists.freedesktop.org, John Fastabend , Jeff Kirsher , linux-kernel@vger.kernel.org References: <20180612161739.GA3303@localhost.localdomain> From: Daniel Borkmann Message-ID: Date: Tue, 12 Jun 2018 22:24:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20180612161739.GA3303@localhost.localdomain> Content-Language: en-US X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.99.3/24656/Tue Jun 12 14:35:50 2018) X-Mailman-Approved-At: Thu, 14 Jun 2018 12:52:23 +0000 Subject: Re: [Intel-gfx] [BUG] cc5b114dcf bpf, i40e: add meta data support X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP On 06/12/2018 06:17 PM, Keith Busch wrote: > My server's i40e no longer obtains an IP address on linux > mainline. Bisected to the following: > > commit cc5b114dcf986bfd8e4c37bf65d1b7b1e5290ac6 > Author: Daniel Borkmann > Date: Mon May 28 11:07:20 2018 +0200 > > bpf, i40e: add meta data support > > Reverting on mainline resolves the issue. > > Is there something wrong with my i40e adapter, or is the patch possibly > doing something wrong? Or any other information I can get to help > understand why it's stopped working with this feature? > > An excert from "journalctl -xe" on on the failing network adapter > is below. Thanks for the report & sorry for the issue, Keith! Instead of revert, could you give the below fix a try? Thanks, Daniel diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 8ffb745..ed6dbcf 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -2103,9 +2103,8 @@ static struct sk_buff *i40e_build_skb(struct i40e_ring *rx_ring, unsigned int truesize = i40e_rx_pg_size(rx_ring) / 2; #else unsigned int truesize = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) + - SKB_DATA_ALIGN(I40E_SKB_PAD + - (xdp->data_end - - xdp->data_hard_start)); + SKB_DATA_ALIGN(xdp->data_end - + xdp->data_hard_start); #endif struct sk_buff *skb; @@ -2124,7 +2123,7 @@ static struct sk_buff *i40e_build_skb(struct i40e_ring *rx_ring, return NULL; /* update pointers within the skb to store the data */ - skb_reserve(skb, I40E_SKB_PAD + (xdp->data - xdp->data_hard_start)); + skb_reserve(skb, xdp->data - xdp->data_hard_start); __skb_put(skb, xdp->data_end - xdp->data); if (metasize) skb_metadata_set(skb, metasize);