From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754996AbcKJBWP convert rfc822-to-8bit (ORCPT ); Wed, 9 Nov 2016 20:22:15 -0500 Received: from shards.monkeyblade.net ([184.105.139.130]:46500 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751420AbcKJBWN (ORCPT ); Wed, 9 Nov 2016 20:22:13 -0500 Date: Wed, 09 Nov 2016 20:22:10 -0500 (EST) Message-Id: <20161109.202210.1450575682716819324.davem@davemloft.net> To: googuy@gmail.com Cc: kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, kaber@trash.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Regression w/ patch] Restore network resistance to weird ICMP messages From: David Miller In-Reply-To: References: X-Mailer: Mew version 6.7 on Emacs 25.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 09 Nov 2016 16:22:42 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vicente Jiménez Date: Mon, 7 Nov 2016 12:11:59 +0100 > From bfc9a00e6b78d8eb60e46dacd7d761669d29a573 Mon Sep 17 00:00:00 2001 > From: Vicente Jimenez Aguilar > Date: Mon, 31 Oct 2016 13:10:29 +0100 > Subject: [PATCH] ipv4: icmp: Fix pMTU handling for rarest case > > Restore network resistance to weird ICMP fragmentation needed messages > with next hop MTU equal to (or exceeding) dropped packet size > > Fixes: 46517008e116 ("ipv4: Kill ip_rt_frag_needed().") > Signed-off-by: Vicente Jimenez Aguilar > --- > net/ipv4/icmp.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c > index 38abe70..c0af1d2 100644 > --- a/net/ipv4/icmp.c > +++ b/net/ipv4/icmp.c > @@ -776,6 +776,7 @@ static bool icmp_unreach(struct sk_buff *skb) > struct icmphdr *icmph; > struct net *net; > u32 info = 0; > + unsigned short old_mtu; > > net = dev_net(skb_dst(skb)->dev); > Order local variable declarations from longest to shortest line please. > + if ( info >= old_mtu ) There should be no space after the '(' and before the ')' in this conditional.