Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933362AbbELUS7 (ORCPT ); Tue, 12 May 2015 16:18:59 -0400 Received: from mail-qk0-f175.google.com ([209.85.220.175]:33511 "EHLO mail-qk0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752621AbbELUS5 (ORCPT ); Tue, 12 May 2015 16:18:57 -0400 Message-ID: <5552602E.3060300@gmail.com> Date: Tue, 12 May 2015 16:18:54 -0400 From: Vlad Yasevich User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Wolfgang Walter , Cong Wang CC: LKML , Hannes Frederic Sowa , Linux Kernel Network Developers Subject: Re: kernel >= 4.0: crashes when using traceroute6 with isatap References: <1770409.aMESoOv08f@h2o.as.studentenwerk.mhn.de> <1958390.Ugr57PpLDS@h2o.as.studentenwerk.mhn.de> <1489362.AtetvSCXN1@h2o.as.studentenwerk.mhn.de> In-Reply-To: <1489362.AtetvSCXN1@h2o.as.studentenwerk.mhn.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1728 Lines: 60 On 05/06/2015 06:11 PM, Wolfgang Walter wrote: > Am Mittwoch, 6. Mai 2015, 11:15:18 schrieben Sie: >> (Cc'ing netdev.) >> >> On Sat, May 2, 2015 at 5:29 AM, Wolfgang Walter wrote: >>> Am Samstag, 2. Mai 2015, 02:16:36 schrieb Wolfgang Walter: >>>> Hello, >>>> >>>> kernel 4.0 (and 4.0.1) crashes immediately when I use traceroute6 with an >>>> isatap-tunnel. >>> >>> I did some further tests. To trigger the crash you need >>> >>> * isatap-tunnel (probably any sit-tunnel will do it) >>> * raw-socket >>> * udp >>> >>> Using icmpv6 or tcp i.e. does not trigger it. >> >> Do you have a script to reproduce it? >> >> >> Thanks for the bug report! > > You need a isatap-server with say ipv4-address $X > > Then, on host with 4.0, start isatapd: isatapd --mtu 1280 $X > > then do > > traceroute6 www.google.de > > Regards, > Hi Walter Could you try this patch. Looks like raw passes transhdrlen of 0 on the first packet and that makes IPv4 behave correctly, but not IPv6. diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 7fde1f2..fd9c079 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -1278,7 +1278,7 @@ emsgsize: /* If this is the first and only packet and device * supports checksum offloading, let's use it. */ - if (!skb && sk->sk_protocol == IPPROTO_UDP && + if (transhdrlen && sk->sk_protocol == IPPROTO_UDP && length + fragheaderlen < mtu && rt->dst.dev->features & NETIF_F_V6_CSUM && !exthdrlen) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/