Unrelated to the topic of the thread, but kmem(9) says:
SECURITY CONSIDERATION As the memory allocated by kmem_alloc() is uninitialized, it can contain security-sensitive data left by its previous user. It is the caller's responsibility not to expose it to the world. Shouldn't it be the responsibility of the security-sensitive subsystem to clear the memory before it is freed, rather than the responsibility of every kmem_alloc() caller? -e.