From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753608AbeBSTAH (ORCPT ); Mon, 19 Feb 2018 14:00:07 -0500 Received: from mail-pl0-f52.google.com ([209.85.160.52]:40537 "EHLO mail-pl0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753476AbeBSTAE (ORCPT ); Mon, 19 Feb 2018 14:00:04 -0500 X-Google-Smtp-Source: AH8x226Re8fShg5ZqPS00E/3qMFyKf/EhEOotSJi9ItMYeFFwG6NzCE03NBXP1IJpVcIo75zsO3eyxZaAT99RUA3hM0= MIME-Version: 1.0 In-Reply-To: References: <7fd7e3b3-77b1-0936-b169-d08b946bedc7@iogearbox.net> <991243e2-e7c2-f2b2-72b9-d37b0d569b3b@gmail.com> From: Dmitry Vyukov Date: Mon, 19 Feb 2018 19:59:43 +0100 Message-ID: Subject: Re: net: hang in unregister_netdevice: waiting for lo to become free To: Xin Long Cc: David Ahern , Daniel Borkmann , Cong Wang , David Miller , Eric Dumazet , Willem de Bruijn , Jakub Kicinski , Rasmus Villemoes , netdev , LKML , Alexey Kuznetsov , Hideaki YOSHIFUJI , syzkaller , Dan Streetman , "Eric W. Biederman" , Tommi Rantala , Alexey Kodanev , Neil Horman , Marcelo Ricardo Leitner , linux-sctp@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Feb 3, 2018 at 1:15 PM, Xin Long wrote: >>> On 1/30/18 1:57 PM, David Ahern wrote: >>>> On 1/30/18 1:08 PM, Daniel Borkmann wrote: >>>>> On 01/30/2018 07:32 PM, Cong Wang wrote: >>>>>> On Tue, Jan 30, 2018 at 4:09 AM, Dmitry Vyukov wrote: >>>>>>> Hello, >>>>>>> >>>>>>> The following program creates a hang in unregister_netdevice. >>>>>>> cleanup_net work hangs there forever periodically printing >>>>>>> "unregister_netdevice: waiting for lo to become free. Usage count = 3" >>>>>>> and creation of any new network namespaces hangs forever. >>>>>> >>>>>> Interestingly, this is not reproducible on net-next. >>>>> >>>>> The most recent change on netns refcnt was 4ee806d51176 ("net: tcp: close >>>>> sock if net namespace is exiting") in net/net-next from 5 days ago, maybe >>>>> fixed due to that? >>>>> >>>> >>>> This appears to be the commit introducing the refcnt leak: >>>> >>>> $ git bisect bad >>>> dbc2b5e9a09e9a6664679a667ff81cff6e5f2641 is the first bad commit >>>> commit dbc2b5e9a09e9a6664679a667ff81cff6e5f2641 >>>> Author: Xin Long >>>> Date: Fri May 12 14:39:52 2017 +0800 >>>> >>>> sctp: fix src address selection if using secondary addresses for ipv6 >>>> >>>> >>>> v4.14 is bad. Running bisect in the background while doing other things.... >>>> >>> >>> Interesting. The commit that avoids the refcnt leak is >>> >>> commit 955ec4cb3b54c7c389a9f830be7d3ae2056b9212 >>> Author: David Ahern >>> Date: Wed Jan 24 19:45:29 2018 -0800 >>> >>> net/ipv6: Do not allow route add with a device that is down >>> >>> That commit does not intentionally address the problem so it is just >>> masking the problematic code introduced by the commit above. >> Thanks, David A. >> >> I'm still on a trip. will look into this asap. > > Alexey and Tommi already had the patches for this issue on > both SCTP v4 and v6 dst_get, Thanks. Is this meant to be fixed already? I am still seeing this on the latest upstream tree.