From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-f195.google.com ([209.85.216.195]:38512 "EHLO mail-qt0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933557AbeCBVMI (ORCPT ); Fri, 2 Mar 2018 16:12:08 -0500 Received: by mail-qt0-f195.google.com with SMTP id n12so13585893qtl.5 for ; Fri, 02 Mar 2018 13:12:08 -0800 (PST) Date: Fri, 2 Mar 2018 18:12:04 -0300 From: Marcelo Ricardo Leitner To: Daniel Axtens Cc: netdev@vger.kernel.org Subject: Re: [PATCH v2 3/4] net: xfrm: use skb_gso_validate_network_len() to check gso sizes Message-ID: <20180302211204.GH3887@localhost.localdomain> References: <20180301061340.15464-1-dja@axtens.net> <20180301061340.15464-4-dja@axtens.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180301061340.15464-4-dja@axtens.net> Sender: netdev-owner@vger.kernel.org List-ID: On Thu, Mar 01, 2018 at 05:13:39PM +1100, Daniel Axtens wrote: > Replace skb_gso_network_seglen() with > skb_gso_validate_network_len(), as it considers the GSO_BY_FRAGS > case. > > Signed-off-by: Daniel Axtens Reviewed-by: Marcelo Ricardo Leitner > --- > net/ipv4/xfrm4_output.c | 3 ++- > net/ipv6/xfrm6_output.c | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/net/ipv4/xfrm4_output.c b/net/ipv4/xfrm4_output.c > index 94b8702603bc..be980c195fc5 100644 > --- a/net/ipv4/xfrm4_output.c > +++ b/net/ipv4/xfrm4_output.c > @@ -30,7 +30,8 @@ static int xfrm4_tunnel_check_size(struct sk_buff *skb) > > mtu = dst_mtu(skb_dst(skb)); > if ((!skb_is_gso(skb) && skb->len > mtu) || > - (skb_is_gso(skb) && skb_gso_network_seglen(skb) > ip_skb_dst_mtu(skb->sk, skb))) { > + (skb_is_gso(skb) && > + !skb_gso_validate_network_len(skb, ip_skb_dst_mtu(skb->sk, skb)))) { > skb->protocol = htons(ETH_P_IP); > > if (skb->sk) > diff --git a/net/ipv6/xfrm6_output.c b/net/ipv6/xfrm6_output.c > index 8ae87d4ec5ff..5959ce9620eb 100644 > --- a/net/ipv6/xfrm6_output.c > +++ b/net/ipv6/xfrm6_output.c > @@ -82,7 +82,7 @@ static int xfrm6_tunnel_check_size(struct sk_buff *skb) > > if ((!skb_is_gso(skb) && skb->len > mtu) || > (skb_is_gso(skb) && > - skb_gso_network_seglen(skb) > ip6_skb_dst_mtu(skb))) { > + !skb_gso_validate_network_len(skb, ip6_skb_dst_mtu(skb)))) { > skb->dev = dst->dev; > skb->protocol = htons(ETH_P_IPV6); > > -- > 2.14.1 >