kvfree() is a superset of kfree(), so there's nothing obvious stopping kfree_rcu() from simply changing to kvfree() and everything will keep working. I'd probably add a kvfree_rcu() alias, just for documentation's sake and to make code that depends on the new feature explode at compile time, but it could be identical behind the scenes. There's an existing user in mm/list_lru.c already. I was just thinking of using kvmalloc() in a module, and realized that the lack of a core kvfree_rcu() helper meant I'd have to synchronize_rcu() on module unload.