Mixing kmem_alloc, with strfree() is a bad idea.