From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH v3 net-next 2/2] tcp: minor optimization around tcp_hdr() usage in tcp receive path Date: Mon, 28 May 2018 09:36:23 -0700 Message-ID: References: <1527521753-17963-1-git-send-email-laoar.shao@gmail.com> <1527521753-17963-2-git-send-email-laoar.shao@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: songliubraving@fb.com, David Miller , netdev , LKML To: laoar.shao@gmail.com Return-path: In-Reply-To: <1527521753-17963-2-git-send-email-laoar.shao@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Mon, May 28, 2018 at 8:36 AM Yafang Shao wrote: > This is additional to the commit ea1627c20c34 ("tcp: minor optimizations around tcp_hdr() usage"). > At this point, skb->data is same with tcp_hdr() as tcp header has not > been pulled yet. > Cc: Eric Dumazet > Signed-off-by: Yafang Shao > --- > net/ipv4/tcp_ipv4.c | 2 +- > net/ipv6/tcp_ipv6.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c > index adbdb50..d179386 100644 > --- a/net/ipv4/tcp_ipv4.c > +++ b/net/ipv4/tcp_ipv4.c > @@ -1486,7 +1486,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) > sk->sk_rx_dst = NULL; > } > } > - tcp_rcv_established(sk, skb, tcp_hdr(skb)); > + tcp_rcv_established(sk, skb, (const struct tcphdr *)skb->data); > return 0; > } > diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c > index 7d47c2b..1c633ff 100644 > --- a/net/ipv6/tcp_ipv6.c > +++ b/net/ipv6/tcp_ipv6.c > @@ -1322,7 +1322,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) > } > } > - tcp_rcv_established(sk, skb, tcp_hdr(skb)); > + tcp_rcv_established(sk, skb, (const struct tcphdr *)skb->data); > if (opt_skb) > goto ipv6_pktoptions; > return 0; > -- > 1.8.3.1 I would rather remove the third parameter of tcp_rcv_established() instead of duplicating the cast.