Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1425850AbdDUT6i (ORCPT ); Fri, 21 Apr 2017 15:58:38 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:37952 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1425569AbdDUT6e (ORCPT ); Fri, 21 Apr 2017 15:58:34 -0400 Date: Fri, 21 Apr 2017 15:58:32 -0400 (EDT) Message-Id: <20170421.155832.1918930167010626426.davem@davemloft.net> To: nikolay@cumulusnetworks.com Cc: netdev@vger.kernel.org, yoshfuji@linux-ipv6.org, dvyukov@google.com, kcc@google.com, syzkaller@googlegroups.com, edumazet@google.com, roopa@cumulusnetworks.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net] ip6mr: fix notification device destruction From: David Miller In-Reply-To: <1e536c10-3bbb-f39b-d5dc-c397c121dce0@cumulusnetworks.com> References: <20170421.153635.1878323052363882645.davem@davemloft.net> <44095170-e47c-ce85-d0f6-95a24da0e200@cumulusnetworks.com> <1e536c10-3bbb-f39b-d5dc-c397c121dce0@cumulusnetworks.com> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 21 Apr 2017 12:17:11 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1829 Lines: 49 From: Nikolay Aleksandrov Date: Fri, 21 Apr 2017 22:56:26 +0300 > On 21/04/17 22:50, Nikolay Aleksandrov wrote: >> On 21/04/17 22:36, David Miller wrote: >>> From: Nikolay Aleksandrov >>> Date: Fri, 21 Apr 2017 21:30:42 +0300 >>> >>>> On 21/04/17 20:42, Nikolay Aleksandrov wrote: >>>>> Andrey Konovalov reported a BUG caused by the ip6mr code which is caused >>>>> because we call unregister_netdevice_many for a device that is already >>>>> being destroyed. In IPv4's ipmr that has been resolved by two commits >>>>> long time ago by introducing the "notify" parameter to the delete >>>>> function and avoiding the unregister when called from a notifier, so >>>>> let's do the same for ip6mr. >>> ... >>>> +CC LKML and Linus >>> >>> Applied, thanks Nikolay and thanks Andrey for the report and testing. >>> >>> Nikolay, how far does this bug go back? >>> >> >> Good question, AFAICS since ip6mr exists because it was copied from ipmr: >> commit 7bc570c8b4f7 >> Author: YOSHIFUJI Hideaki >> Date: Thu Apr 3 09:22:53 2008 +0900 >> >> [IPV6] MROUTE: Support multicast forwarding. >> >> > > Oops no, my bad. That wouldn't cause it to BUG because it was already removed by mif6_delete > earlier. So since it can be destroyed by a netns exiting, currently I don't see any other > way which is outside of ip6mr for destroying that device. > > That should be: > commit 8229efdaef1e > Author: Benjamin Thery > Date: Wed Dec 10 16:30:15 2008 -0800 > > netns: ip6mr: enable namespace support in ipv6 multicast forwarding code > > > Which allowed the notifier to be executed for pimreg devices in other network namespaces. That still makes it -stable material as far as I'm concerned. Thanks again! :)