Is kmem_cache_free safe to call while holding a spinlock (can kmem_cache_free ever block or recurse into a file system)?
I see it trying to grab just another spinlock which is probably fine (but was worried whether any of the worker functions called a sem) ... my assumption is that it would be safe, but the man page doesn't mention when it can be used safely.