Herbert Xu wrote: > On Thu, Nov 29, 2007 at 04:01:25PM +0300, Pavel Emelyanov wrote: >> @@ -863,13 +861,13 @@ int inet_diag_register(const struct inet_diag_handler >> *h) >> if (type >= INET_DIAG_GETSOCK_MAX) >> goto out; >> >> - spin_lock(&inet_diag_register_lock); >> + mutex_lock(&inet_diag_mutex); >> err = -EEXIST; >> if (inet_diag_table[type] == NULL) { >> inet_diag_table[type] = h; >> err = 0; >> } >> - spin_unlock(&inet_diag_register_lock); >> + mutex_unlock(&inet_diag_mutex); > > Actually this causes a dead-lock when the handlers are built as modules > because we try to load them with that mutex held.
Ouch! Sorry, I didn't notice this :( > I've fixed it with this patch on top. Thanks! > Cheers, Pavel -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html