Re: proto_unregister sleeps while atomic

2005-09-06 Thread David S. Miller
From: Patrick McHardy <[EMAIL PROTECTED]> Date: Wed, 07 Sep 2005 01:42:48 +0200 > The only other user of proto_list besides proto_register, which > doesn't care, are the seqfs functions. They use the slab pointer, > but in a harmless way: > > proto->slab == NULL ? "no" : "yes"

Re: proto_unregister sleeps while atomic

2005-09-06 Thread Patrick McHardy
David S. Miller wrote: From: Patrick McHardy <[EMAIL PROTECTED]> Date: Wed, 07 Sep 2005 01:02:01 +0200 You're right, good catch. This patch fixes it by moving the lock down to the list-operation which it is supposed to protect. I think we need to unlink from the list first if you're going t

Re: proto_unregister sleeps while atomic

2005-09-06 Thread David S. Miller
From: Patrick McHardy <[EMAIL PROTECTED]> Date: Wed, 07 Sep 2005 01:02:01 +0200 > You're right, good catch. This patch fixes it by moving the lock > down to the list-operation which it is supposed to protect. I think we need to unlink from the list first if you're going to do it this way. Otherw

Re: proto_unregister sleeps while atomic

2005-09-06 Thread Patrick McHardy
Daniele Orlandi wrote: I'm looking at proto_unregister() in linux-2.6.13: Il calls kmem_cache_destroy() while holding proto_list_lock: void proto_unregister(struct proto *prot) { write_lock(&proto_list_lock); if (prot->slab != NULL) { kmem_cache_destroy(prot->sl