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->slab);
However, kmem_cache_destroy() may sleep:
int kmem_cache_destroy (kmem_cache_t * cachep)
{
int i;
if (!cachep || in_interrupt())
BUG();
/* Don't let CPUs to come and go */
lock_cpu_hotplug();
/* Find the cache in the chain of caches. */
down(&cache_chain_sem);
^^^^^^^^^^^^^^^^^^^^^^^
Am I seeing it right?
Bye,
--
Daniele Orlandi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|