From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: CAKE and r8169 cause panic on upload in v4.19 Date: Sun, 28 Oct 2018 10:45:24 -0700 (PDT) Message-ID: <20181028.104524.345213764443487772.davem@davemloft.net> References: <20181027.214426.537959459795607171.davem@davemloft.net> <3d749bf1ec48ee9f4172b23bde84ec4b@natalenko.name> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: dave.taht@gmail.com, hkallweit1@gmail.com, toke@toke.dk, jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: oleksandr@natalenko.name Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:47754 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725816AbeJ2Caq (ORCPT ); Sun, 28 Oct 2018 22:30:46 -0400 In-Reply-To: <3d749bf1ec48ee9f4172b23bde84ec4b@natalenko.name> Sender: netdev-owner@vger.kernel.org List-ID: From: Oleksandr Natalenko Date: Sun, 28 Oct 2018 13:22:09 +0100 > Hi. > > On 28.10.2018 05:44, David Miller wrote: >> Does this fix it? >> diff --git a/net/core/dev.c b/net/core/dev.c >> index 022ad73d6253..77d43ae2a7bb 100644 >> --- a/net/core/dev.c >> +++ b/net/core/dev.c >> @@ -5457,7 +5457,7 @@ static void gro_flush_oldest(struct list_head >> *head) >> /* Do not adjust napi->gro_hash[].count, caller is adding a new >> * SKB to the chain. >> */ >> - list_del(&oldest->list); >> + skb_list_del_init(oldest); >> napi_gro_complete(oldest); >> } > > Yes, but I had to apply both a8305bff6852 and 992cba7e276d too to get > it compiled. With these 3 patches the panic is not triggered any more > while having GRO enabled. > > Thanks! Thanks for testing, I'll queue this up for -stable too: >>From ece23711dd956cd5053c9cb03e9fe0668f9c8894 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 28 Oct 2018 10:35:12 -0700 Subject: [PATCH] net: Properly unlink GRO packets on overflow. Just like with normal GRO processing, we have to initialize skb->next to NULL when we unlink overflow packets from the GRO hash lists. Fixes: d4546c2509b1 ("net: Convert GRO SKB handling to list_head.") Reported-by: Oleksandr Natalenko Tested-by: Oleksandr Natalenko Signed-off-by: David S. Miller --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index 022ad73d6253..77d43ae2a7bb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5457,7 +5457,7 @@ static void gro_flush_oldest(struct list_head *head) /* Do not adjust napi->gro_hash[].count, caller is adding a new * SKB to the chain. */ - list_del(&oldest->list); + skb_list_del_init(oldest); napi_gro_complete(oldest); } -- 2.17.2