From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: [PATCH RFC] tcp: Do not reload skb pointer after skb_gro_receive(). Date: Mon, 11 Jun 2018 18:00:13 -0700 (PDT) Message-ID: <20180611.180013.526861738690091217.davem@davemloft.net> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: edumazet@google.com To: netdev@vger.kernel.org Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:58178 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934447AbeFLBAO (ORCPT ); Mon, 11 Jun 2018 21:00:14 -0400 Sender: netdev-owner@vger.kernel.org List-ID: This is not necessary. skb_gro_receive() will never change what 'head' points to. In it's original implementation (see commit 71d93b39e52e ("net: Add skb_gro_receive")), it did: ==================== + *head = nskb; + nskb->next = p->next; + p->next = NULL; ==================== This sequence was removed in commit 58025e46ea2d ("net: gro: remove obsolete code from skb_gro_receive()") Signed-off-by: David S. Miller diff --git a/net/ipv4/tcp_offload.c b/net/ipv4/tcp_offload.c index 4d58e2ce0b5b..8cc7c3487330 100644 --- a/net/ipv4/tcp_offload.c +++ b/net/ipv4/tcp_offload.c @@ -268,8 +268,6 @@ struct sk_buff **tcp_gro_receive(struct sk_buff **head, struct sk_buff *skb) goto out_check_final; } - p = *head; - th2 = tcp_hdr(p); tcp_flag_word(th2) |= flags & (TCP_FLAG_FIN | TCP_FLAG_PSH); out_check_final: