Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754066AbbGFJ7I (ORCPT ); Mon, 6 Jul 2015 05:59:08 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:27571 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753816AbbGFJ7F (ORCPT ); Mon, 6 Jul 2015 05:59:05 -0400 Message-ID: <559A5142.5000109@oracle.com> Date: Mon, 06 Jul 2015 17:58:26 +0800 From: Bob Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 MIME-Version: 1.0 To: Julien Grall CC: stephen@networkplumber.org, davem@davemloft.net, bridge@lists.linux-foundation.org, netdev@vger.kernel.org, wei.liu2@citrix.com, ian.campbell@citrix.com, fw@strlen.de, linux-kernel@vger.kernel.org, Bernhard Thaler , xen-devel@lists.xenproject.org, Pablo Neira Ayuso Subject: Re: [Xen-devel] [PATCH] net/bridge: Add missing in6_dev_put in br_validate_ipv6 References: <1435946491-11148-1-git-send-email-julien.grall@citrix.com> In-Reply-To: <1435946491-11148-1-git-send-email-julien.grall@citrix.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1883 Lines: 59 On 07/04/2015 02:01 AM, Julien Grall wrote: > The commit efb6de9b4ba0092b2c55f6a52d16294a8a698edd "netfilter: bridge: > forward IPv6 fragmented packets" introduced a new function > br_validate_ipv6 which take a reference on the inet6 device. Although, > the reference is not released at the end. > > This will result to the impossibility to destroy any netdevice using > ipv6 and bridge. > > Spotted while trying to destroy a Xen guest on the upstream Linux: > "unregister_netdevice: waiting for vif1.0 to become free. Usage count = 1" > > Signed-off-by: Julien Grall Also hit the same issue, thank you for the fix. Tested-by: Bob Liu > Cc: Bernhard Thaler > Cc: Pablo Neira Ayuso > Cc: fw@strlen.de > Cc: ian.campbell@citrix.com > Cc: wei.liu2@citrix.com > > --- > Note that it's impossible to create new guest after this message. > I'm not sure if it's normal. > --- > net/bridge/br_netfilter_ipv6.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/net/bridge/br_netfilter_ipv6.c b/net/bridge/br_netfilter_ipv6.c > index 6d12d26..7046e19 100644 > --- a/net/bridge/br_netfilter_ipv6.c > +++ b/net/bridge/br_netfilter_ipv6.c > @@ -140,11 +140,16 @@ int br_validate_ipv6(struct sk_buff *skb) > /* No IP options in IPv6 header; however it should be > * checked if some next headers need special treatment > */ > + > + in6_dev_put(idev); > + > return 0; > > inhdr_error: > IP6_INC_STATS_BH(dev_net(dev), idev, IPSTATS_MIB_INHDRERRORS); > drop: > + in6_dev_put(idev); > + > return -1; > } > > -- 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/