[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <559A5A0B.4040700@citrix.com>
Date: Mon, 6 Jul 2015 11:35:55 +0100
From: Julien Grall <julien.grall@...rix.com>
To: Florian Westphal <fw@...len.de>
CC: <stephen@...workplumber.org>, <davem@...emloft.net>,
<bridge@...ts.linux-foundation.org>, <netdev@...r.kernel.org>,
<xen-devel@...ts.xenproject.org>, <linux-kernel@...r.kernel.org>,
"Bernhard Thaler" <bernhard.thaler@...et.at>,
Pablo Neira Ayuso <pablo@...filter.org>,
<ian.campbell@...rix.com>, <wei.liu2@...rix.com>
Subject: Re: [PATCH] net/bridge: Add missing in6_dev_put in br_validate_ipv6
Hi,
On 03/07/15 21:42, Florian Westphal wrote:
> Julien Grall <julien.grall@...rix.com> 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"
>
> Ugh :-/
>
> I think it makes more sense to use __in6_dev_get() instead which doesn't
> take a reference.
__in6_dev_get requires to hold rcu_read_lock or RTNL. My knowledge on
this code is very limited. Are we sure that one this lock is hold? At
first glance, I wasn't able to find one.
Regards,
--
Julien Grall
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists