Subject: Re: BUG ? ipip unregister_netdevice_many()

From: Daniel Lezcano <[email-masked]>
Date: Fri, 08 Oct 2010 19:29:06 +0200

On 10/08/2010 06:58 PM, Eric W. Biederman wrote:
> Daniel Lezcano<[email-masked]>  writes:
>
>    
>> On 10/08/2010 05:53 PM, Daniel Lezcano wrote:
>>      
>>> On 10/08/2010 02:28 PM, Hans Schillstrom wrote:
>>>        
>>>> Hi Eric,
>>>> Any advice how to trace this down ?
>>>> This rollback_registered_many() seems to have on the lists before...
>>>> All IPv4 and IPv6 tunnels causes this crash, all you have to do is
>>>> load the tunnel module(s)
>>>> enter a new ns and exit from it.
>>>>
>>>> Have not tested any more devices than tunnels,
>>>> I did an "ip link delete" on my macvlans before exiting the ns.
>>>>          
>>> Ah ! I succeed to reproduce it.
>>> It does not appear immediately in fact.
>>>
>>> I am trying to simplify the configuration but I am falling in the bug I
>>> talked about in the previous email.
>>>        
>> Ok, so after investigating, we just need a macvlan and specify an ipv6 address
>> for it (inside a new netns of course), and the loopback is not released. I
>> compiled out the tunnels, so they are not related to this problem I think.
>>
>> That reduces the scope of investigation :)
>>      
> This reproduces the unable to free nedevice problem?  Or the bad
> pointer in macvlan_close problem?
>    

The free netdevice problem.

For the macvlan problem, you have to create 2 macvlans on the *same* 
physical interface, move them to the network namespace and then exit 
this net_ns. You have to repeat this operation several times because 
that happen randomly after a few iterations.