netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] IPv4/IPv6 unregistration  deadlock fixes
@ 2009-05-14  2:53 Eric W. Biederman
  2009-05-14  2:55 ` [PATCH] syscall: Implement a convinience function restart_syscall Eric W. Biederman
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Eric W. Biederman @ 2009-05-14  2:53 UTC (permalink / raw)
  To: David Miller
  Cc: netdev, Herbert Xu, Stephen Hemminger, Ben Greear,
	Patrick McHardy


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.

Eric









^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-05-19  8:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-14  2:53 [PATCH 0/7] IPv4/IPv6 unregistration deadlock fixes Eric W. Biederman
2009-05-14  2:55 ` [PATCH] syscall: Implement a convinience function restart_syscall Eric W. Biederman
2009-05-14  2:57 ` [PATCH 2/7] net-sysfs: Use rtnl_trylock in sysfs methods Eric W. Biederman
2009-05-14  2:58   ` [PATCH 3/7] net: FIX ipv6_forward sysctl restart Eric W. Biederman
2009-05-14  2:59 ` [PATCH 4/7] net: Fix devinet_sysctl_forward Eric W. Biederman
2009-05-14  3:00 ` [PATCH 5/7] net: Fix bridgeing sysfs handling of rtnl_lock Eric W. Biederman
2009-05-14  3:01 ` [PATCH 6/7] net: Fix ipoib rtnl_lock sysfs deadlock Eric W. Biederman
2009-05-14  3:02 ` [PATCH 7/7] net: FIX bonding sysfs rtnl_lock deadlock Eric W. Biederman
2009-05-14  3:40 ` [PATCH 0/7] IPv4/IPv6 unregistration deadlock fixes David Miller
2009-05-14  6:44 ` [PATCH 1/7] syscall: Implement a convinience function restart_syscall Eric W. Biederman
2009-05-19  5:16 ` [PATCH 0/7] IPv4/IPv6 unregistration deadlock fixes David Miller
2009-05-19  8:07   ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).