Subject: Re: [PATCH 0/7] IPv4/IPv6 unregistration deadlock fixes

From: [email-masked] (Eric W. Biederman)
Date: Tue, 19 May 2009 01:07:09 -0700

David Miller <[email-masked]> writes:

> From: [email-masked] (Eric W. Biederman)
> Date: Wed, 13 May 2009 19:53:40 -0700
>
>> A while ago it was noticed that unregistering network devices could cause
>> deadlocks if virtual files that take the rtnl_lock were accessed at the
>> wrong time.
>> 
>> After looking at the different possibilities the only way to solve it
>> cleanly without some kind of busy loop appears to be reducing the scope
>> of the rtnl lock.
>> 
>> I have not tackled the hard fix yet but I have tested our current work
>> around and it does not succeed in restarting the system call and
>> instead leaks -ERESTARNOSYS to userspace, because we do not have a
>> signal pending.
>> 
>> Further the current work around misses several interesting places
>> in the network stack where the deadlock can occur.
>> 
>> I have addressed the problems by making a common helper function
>> and patching all of the places I could find that had this problem.
>
> I've added these changes to net-next-2.6, thanks.
>
> I really can't justify sticking this into net-2.6, especially
> this late in the series, sorry.

No problem.  The problem is ancient.  I just figured it was time to
start solving it.

Eric